首页 > 最新文献

2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)最新文献

英文 中文
Automated Test Generation and Mutation Testing for Alloy 合金的自动测试生成和突变测试
Allison Sullivan, Kaiyuan Wang, Razieh Nokhbeh Zaeem, S. Khurshid
We present two novel approaches for automated testing of models written in Alloy – a well-known declarative, first-order language that is supported by a fully automatic SAT-based analysis engine. The first approach introduces automated test generation for Alloy and is embodied by three techniques that create test suites in the traditional spirit of black-box, white-box, and mutation-based testing. The second approach introduces mutation testing for Alloy and defines how to create mutants of Alloy models, compute mutation testing results, and check for equivalent mutants using SAT. The two approaches build on the theoretical foundation defined previously by our AUnit framework, which introduced the idea of unit testing for Alloy in the spirit of unit testing for imperative languages. While test generation and mutation testing are heavily studied problems with many solutions in the context of imperative languages, the key novelty of our work is to introduce and address these problems for the declarative programming paradigm, specifically for the Alloy language. Experimental results using several Alloy subjects, including those with real faults, demonstrate the efficacy of our framework.
我们提出了两种新的方法来自动测试用Alloy编写的模型,Alloy是一种著名的声明性一阶语言,由一个全自动的基于sat的分析引擎支持。第一种方法为Alloy引入了自动化的测试生成,并体现在三种技术中,这些技术以黑盒、白盒和基于突变的测试的传统精神创建测试套件。第二种方法引入了Alloy的突变测试,并定义了如何创建Alloy模型的突变,计算突变测试结果,并使用SAT检查等效突变。这两种方法建立在前面我们的AUnit框架定义的理论基础上,该框架以命令式语言的单元测试精神引入了Alloy的单元测试思想。虽然在命令式语言的环境中,测试生成和突变测试是通过许多解决方案被大量研究的问题,但我们工作的关键新颖之处在于为声明性编程范式(特别是Alloy语言)引入并解决了这些问题。实验结果表明,该框架是有效的。
{"title":"Automated Test Generation and Mutation Testing for Alloy","authors":"Allison Sullivan, Kaiyuan Wang, Razieh Nokhbeh Zaeem, S. Khurshid","doi":"10.1109/ICST.2017.31","DOIUrl":"https://doi.org/10.1109/ICST.2017.31","url":null,"abstract":"We present two novel approaches for automated testing of models written in Alloy – a well-known declarative, first-order language that is supported by a fully automatic SAT-based analysis engine. The first approach introduces automated test generation for Alloy and is embodied by three techniques that create test suites in the traditional spirit of black-box, white-box, and mutation-based testing. The second approach introduces mutation testing for Alloy and defines how to create mutants of Alloy models, compute mutation testing results, and check for equivalent mutants using SAT. The two approaches build on the theoretical foundation defined previously by our AUnit framework, which introduced the idea of unit testing for Alloy in the spirit of unit testing for imperative languages. While test generation and mutation testing are heavily studied problems with many solutions in the context of imperative languages, the key novelty of our work is to introduce and address these problems for the declarative programming paradigm, specifically for the Alloy language. Experimental results using several Alloy subjects, including those with real faults, demonstrate the efficacy of our framework.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"102 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121109424","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 40
Model-Based Testing IoT Communication via Active Automata Learning 基于模型的主动自动机学习测试物联网通信
Martin Tappler, B. Aichernig, R. Bloem
This paper presents a learning-based approach to detecting failures in reactive systems. The technique is based on inferring models of multiple implementations of a common specification which are pair-wise cross-checked for equivalence. Any counterexample to equivalence is flagged as suspicious and has to be analysed manually. Hence, it is possible to find possible failures in a semi-automatic way without prior modelling. We show that the approach is effective by means of a case study. For this case study, we carried out experiments in which we learned models of five implementations of MQTT brokers/servers, a protocol used in the Internet of Things. Examining these models, we found several violations of the MQTT specification. All but one of the considered implementations showed faulty behaviour. In the analysis, we discuss effectiveness and also issues we faced.
本文提出了一种基于学习的故障检测方法。该技术基于一个公共规范的多个实现的推断模型,这些模型成对交叉检查是否等价。任何反例都被标记为可疑,必须手工分析。因此,可以在没有事先建模的情况下以半自动的方式发现可能的故障。通过一个案例研究表明,该方法是有效的。对于这个案例研究,我们进行了实验,学习了MQTT代理/服务器(物联网中使用的一种协议)的五种实现模型。通过检查这些模型,我们发现了一些违反MQTT规范的情况。除了一个考虑的实现之外,所有的实现都显示出错误的行为。在分析中,我们讨论了有效性和面临的问题。
{"title":"Model-Based Testing IoT Communication via Active Automata Learning","authors":"Martin Tappler, B. Aichernig, R. Bloem","doi":"10.1109/ICST.2017.32","DOIUrl":"https://doi.org/10.1109/ICST.2017.32","url":null,"abstract":"This paper presents a learning-based approach to detecting failures in reactive systems. The technique is based on inferring models of multiple implementations of a common specification which are pair-wise cross-checked for equivalence. Any counterexample to equivalence is flagged as suspicious and has to be analysed manually. Hence, it is possible to find possible failures in a semi-automatic way without prior modelling. We show that the approach is effective by means of a case study. For this case study, we carried out experiments in which we learned models of five implementations of MQTT brokers/servers, a protocol used in the Internet of Things. Examining these models, we found several violations of the MQTT specification. All but one of the considered implementations showed faulty behaviour. In the analysis, we discuss effectiveness and also issues we faced.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128738823","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 80
How Do Assertions Impact Coverage-Based Test-Suite Reduction? 断言如何影响基于覆盖率的测试套件缩减?
Junjie Chen, Y. Bai, Dan Hao, Lingming Zhang, Lu Zhang, Bing Xie
Code coverage is the dominant criterion in test-suite reduction. Typically, most test-suite reduction techniques repeatedly remove tests covering code that has been covered by other tests from the test suite. However, test-suite reduction based on code coverage alone may incur fault-detection capability loss, because a test detects faults if and only if its execution covers buggy code and its test oracle catches the buggy state. In other words, test oracles may also affect test-suite reduction, However, to our knowledge, their impacts have never been studied before. In this paper, we conduct the first empirical study on such impacts by using 10 real-world GitHub Java projects, and find that assertions (i.e., a typical type of test oracles) are significantly correlated with coverage-based test-suite reduction. Based on our preliminary study results, we also proposed an assertion-aware test-suite reduction technique which outperforms traditional test-suite reduction in terms of cost-effectiveness.
代码覆盖率是减少测试套件的主要标准。通常,大多数测试套件缩减技术会重复地从测试套件中移除覆盖了其他测试已经覆盖的代码的测试。然而,仅基于代码覆盖率的测试套件缩减可能会导致错误检测能力的损失,因为测试检测错误当且仅当其执行覆盖有错误的代码并且其测试oracle捕获有错误的状态时。换句话说,测试预言器也可能影响测试套件的减少,然而,据我们所知,它们的影响以前从未被研究过。在本文中,我们通过使用10个真实的GitHub Java项目对这种影响进行了第一次实证研究,并发现断言(即典型类型的测试oracle)与基于覆盖率的测试套件缩减显着相关。基于我们的初步研究结果,我们还提出了一种判断感知的测试套件缩减技术,该技术在成本效益方面优于传统的测试套件缩减技术。
{"title":"How Do Assertions Impact Coverage-Based Test-Suite Reduction?","authors":"Junjie Chen, Y. Bai, Dan Hao, Lingming Zhang, Lu Zhang, Bing Xie","doi":"10.1109/ICST.2017.45","DOIUrl":"https://doi.org/10.1109/ICST.2017.45","url":null,"abstract":"Code coverage is the dominant criterion in test-suite reduction. Typically, most test-suite reduction techniques repeatedly remove tests covering code that has been covered by other tests from the test suite. However, test-suite reduction based on code coverage alone may incur fault-detection capability loss, because a test detects faults if and only if its execution covers buggy code and its test oracle catches the buggy state. In other words, test oracles may also affect test-suite reduction, However, to our knowledge, their impacts have never been studied before. In this paper, we conduct the first empirical study on such impacts by using 10 real-world GitHub Java projects, and find that assertions (i.e., a typical type of test oracles) are significantly correlated with coverage-based test-suite reduction. Based on our preliminary study results, we also proposed an assertion-aware test-suite reduction technique which outperforms traditional test-suite reduction in terms of cost-effectiveness.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128398391","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 31
A Controlled Experiment on Coverage Maximization of Automated Model-Based Software Test Cases in the Automotive Industry 汽车行业基于模型的自动化软件测试用例覆盖最大化的控制实验
R. Darwish, Lynnie Nakyanzi Gwosuta, R. Torkar
In the automotive industry, as the complexity of electronic control units (ECUs) increase, there is a need for the creation of models that facilitate early tests to ensure functionality, but there is little guidance on how to write these tests in order to achieve maximum coverage. Our prototype CANoe+, which builds on the CANoe and GraphWalker tools, was evaluated against CANoe with regard to coverage maximization of generated test cases from the viewpoint of both software developers and software testers.
在汽车工业中,随着电子控制单元(ecu)的复杂性的增加,需要创建有助于早期测试以确保功能的模型,但是关于如何编写这些测试以实现最大覆盖的指导很少。我们的原型CANoe+建立在CANoe和GraphWalker工具之上,从软件开发人员和软件测试人员的角度出发,根据生成的测试用例的覆盖最大化,对CANoe进行了评估。
{"title":"A Controlled Experiment on Coverage Maximization of Automated Model-Based Software Test Cases in the Automotive Industry","authors":"R. Darwish, Lynnie Nakyanzi Gwosuta, R. Torkar","doi":"10.1109/ICST.2017.65","DOIUrl":"https://doi.org/10.1109/ICST.2017.65","url":null,"abstract":"In the automotive industry, as the complexity of electronic control units (ECUs) increase, there is a need for the creation of models that facilitate early tests to ensure functionality, but there is little guidance on how to write these tests in order to achieve maximum coverage. Our prototype CANoe+, which builds on the CANoe and GraphWalker tools, was evaluated against CANoe with regard to coverage maximization of generated test cases from the viewpoint of both software developers and software testers.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"35 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125905979","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 5
Transferring State-of-the-Art Immutability Analyses: Experimentation Toolbox and Accuracy Benchmark 转移最先进的不变性分析:实验工具箱和准确性基准
Benjamin Holland, Ganesh Ram Santhanam, S. Kothari
Immutability analysis is important to software testing, verification and validation (V&V) because it can be used to identify independently testable functions without side-effects. Existing tools for immutability analysis are largely academic prototypes that have not been rigorously tested for accuracy or have not been maintained and are unable to analyze programs written in later versions of Java. In this paper, we re-implement two prominent approaches to inferring the immutability of an object: one that leverages a points-to analysis and another that uses a type-system. In addition to supporting Java 8 source programs, our re-implementations support the analysis of compiled Java bytecode. In order to evaluate the relative accuracy, we create a benchmark that rigorously tests the accuracy boundaries of the respective approaches. We report results of experiments on analyzing the benchmark with the two approaches and compare their scalability to real world applications. Our results from the benchmark reveal that points-to based approach is more accurate than the type inference based approach in certain cases. However, experiments with real world applications show that the points-to based approach does not scale well to very large applications and a type inference based approach may offer a scalable alternative.
不变性分析对软件测试、验证和确认(V&V)非常重要,因为它可以用来识别独立的可测试功能,而不会产生副作用。现有的不变性分析工具主要是学术原型,它们没有经过严格的准确性测试,也没有得到维护,无法分析用Java的后期版本编写的程序。在本文中,我们重新实现了推断对象不变性的两种主要方法:一种利用点到分析,另一种使用类型系统。除了支持Java 8源程序外,我们的重新实现还支持分析编译后的Java字节码。为了评估相对精度,我们创建了一个基准,严格测试各自方法的精度边界。我们报告了用这两种方法分析基准的实验结果,并将它们的可伸缩性与实际应用程序进行了比较。我们的基准测试结果显示,在某些情况下,基于点到的方法比基于类型推断的方法更准确。然而,对实际应用程序的实验表明,基于点的方法不能很好地扩展到非常大的应用程序,而基于类型推断的方法可能提供可扩展的替代方案。
{"title":"Transferring State-of-the-Art Immutability Analyses: Experimentation Toolbox and Accuracy Benchmark","authors":"Benjamin Holland, Ganesh Ram Santhanam, S. Kothari","doi":"10.1109/ICST.2017.55","DOIUrl":"https://doi.org/10.1109/ICST.2017.55","url":null,"abstract":"Immutability analysis is important to software testing, verification and validation (V&V) because it can be used to identify independently testable functions without side-effects. Existing tools for immutability analysis are largely academic prototypes that have not been rigorously tested for accuracy or have not been maintained and are unable to analyze programs written in later versions of Java. In this paper, we re-implement two prominent approaches to inferring the immutability of an object: one that leverages a points-to analysis and another that uses a type-system. In addition to supporting Java 8 source programs, our re-implementations support the analysis of compiled Java bytecode. In order to evaluate the relative accuracy, we create a benchmark that rigorously tests the accuracy boundaries of the respective approaches. We report results of experiments on analyzing the benchmark with the two approaches and compare their scalability to real world applications. Our results from the benchmark reveal that points-to based approach is more accurate than the type inference based approach in certain cases. However, experiments with real world applications show that the points-to based approach does not scale well to very large applications and a type inference based approach may offer a scalable alternative.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131075624","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 3
A Toolkit for Testing Stochastic Simulations against Statistical Oracles 一个针对统计预言测试随机模拟的工具包
Matthew Patrick, R. Donnelly, C. Gilligan
Stochastic simulations are developed and employed across many fields, to advise governmental policy decisions and direct future research. Faulty simulation software can have serious consequences, but its correctness is difficult to determine due to complexity and random behaviour. Stochastic simulations may output a different result each time they are run, whereas most testing techniques are designed for programs which (for a given set of inputs) always produce the same behaviour. In this paper, we introduce a new approach towards testing stochastic simulations using statistical oracles and transition probabilities. Our approach was implemented as a toolkit, which allows the frequency of state transitions to be tested, along with their final output distribution. We evaluated our toolkit on eight simulation programs from a variety fields and found it can detect errors at least three times smaller (and in one case, over 1000 times smaller) than a conventional (tolerance threshold) approach.
随机模拟在许多领域得到发展和应用,为政府决策提供建议和指导未来的研究。错误的仿真软件可能会造成严重的后果,但由于其复杂性和随机性,很难确定其正确性。随机模拟每次运行时可能会输出不同的结果,而大多数测试技术是为(给定一组输入)总是产生相同行为的程序设计的。在本文中,我们介绍了一种使用统计预言和转移概率来测试随机模拟的新方法。我们的方法是作为一个工具包实现的,它允许测试状态转换的频率,以及它们的最终输出分布。我们在来自不同领域的八个模拟程序上评估了我们的工具包,发现它可以检测到比传统(公差阈值)方法至少小三倍(在一个案例中,小1000倍以上)的错误。
{"title":"A Toolkit for Testing Stochastic Simulations against Statistical Oracles","authors":"Matthew Patrick, R. Donnelly, C. Gilligan","doi":"10.1109/ICST.2017.50","DOIUrl":"https://doi.org/10.1109/ICST.2017.50","url":null,"abstract":"Stochastic simulations are developed and employed across many fields, to advise governmental policy decisions and direct future research. Faulty simulation software can have serious consequences, but its correctness is difficult to determine due to complexity and random behaviour. Stochastic simulations may output a different result each time they are run, whereas most testing techniques are designed for programs which (for a given set of inputs) always produce the same behaviour. In this paper, we introduce a new approach towards testing stochastic simulations using statistical oracles and transition probabilities. Our approach was implemented as a toolkit, which allows the frequency of state transitions to be tested, along with their final output distribution. We evaluated our toolkit on eight simulation programs from a variety fields and found it can detect errors at least three times smaller (and in one case, over 1000 times smaller) than a conventional (tolerance threshold) approach.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126379502","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 2
An Industrial Study of Natural Language Processing Based Test Case Prioritization 基于自然语言处理的测试用例优先级的工业研究
Yilin Yang, Xinhai Huang, Xuefei Hao, Zicong Liu, Zhenyu Chen
In mobile application development, the frequentsoftware release limits the testing time resource. In order todetect bugs in early phases, researchers proposed various testcase prioritization (TCP) techniques in past decades. In practice, considering that some test case is described or contains text, theresearchers also employed Natural Language Processing (NLP)to assist the TCP techniques. This paper conducted an extensiveempirical study to analyze the performance of three NLP basedTCP technologies, which is based on 15059 test cases from 30industrial projects. The result shows that all of these threestrategies can help to improve the efficiency of software testing, and the Risk strategy achieved the best performance across thesubject programs.
在移动应用开发中,频繁的软件发布限制了测试时间资源。为了在早期阶段检测错误,研究人员在过去的几十年里提出了各种测试用例优先级(TCP)技术。在实践中,考虑到某些测试用例被描述或包含文本,研究人员还使用自然语言处理(NLP)来辅助TCP技术。本文基于30个工业项目的15059个测试用例,对三种基于NLP的tcp技术的性能进行了广泛的实证研究。结果表明,这三种策略都可以帮助提高软件测试的效率,并且风险策略在整个主题程序中取得了最好的性能。
{"title":"An Industrial Study of Natural Language Processing Based Test Case Prioritization","authors":"Yilin Yang, Xinhai Huang, Xuefei Hao, Zicong Liu, Zhenyu Chen","doi":"10.1109/ICST.2017.66","DOIUrl":"https://doi.org/10.1109/ICST.2017.66","url":null,"abstract":"In mobile application development, the frequentsoftware release limits the testing time resource. In order todetect bugs in early phases, researchers proposed various testcase prioritization (TCP) techniques in past decades. In practice, considering that some test case is described or contains text, theresearchers also employed Natural Language Processing (NLP)to assist the TCP techniques. This paper conducted an extensiveempirical study to analyze the performance of three NLP basedTCP technologies, which is based on 15059 test cases from 30industrial projects. The result shows that all of these threestrategies can help to improve the efficiency of software testing, and the Risk strategy achieved the best performance across thesubject programs.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132345554","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 12
Timed k-Tail: Automatic Inference of Timed Automata 时间k尾:时间自动机的自动推理
F. Pastore, D. Micucci, L. Mariani
Accurate and up-to-date models describing the behavior of software systems are seldom available in practice. To address this issue, software engineers may use specification mining techniques, which can automatically derive models that capture the behavior of the system under analysis. So far, most specification mining techniques focused on the functional behavior of the systems, with specific emphasis on models that represent the ordering of operations, such as temporal rules and finite state models. Although useful, these models are inherently partial. For instance, they miss the timing behavior, which is extremely relevant for many classes of systems and components, such as shared libraries and user-driven applications. Mining specifications that include both the functional and the timing aspects can improve the applicability of many testing and analysis solutions. This paper addresses this challenge by presenting the Timed k-Tail (TkT) specification mining technique that can mine timed automata from program traces. Since timed automata can effectively represent the interplay between the functional and the timing behavior of a system, TkT could be exploited in those contexts where time-related information is relevant. Our empirical evaluation shows that TkT can efficiently and effectively mine accurate models. The mined models have been used to identify executions with anomalous timing. The evaluation shows that most of the anomalous executions have been correctly identified while producing few false positives.
在实践中,描述软件系统行为的准确和最新的模型很少可用。为了解决这个问题,软件工程师可能会使用规范挖掘技术,它可以自动地派生出模型,这些模型可以捕获正在分析的系统的行为。到目前为止,大多数规范挖掘技术关注系统的功能行为,特别强调表示操作顺序的模型,例如时间规则和有限状态模型。尽管这些模型很有用,但它们本质上是片面的。例如,它们忽略了计时行为,而计时行为对于许多系统和组件类(例如共享库和用户驱动的应用程序)是极其相关的。挖掘既包括功能方面又包括时间方面的规范可以提高许多测试和分析解决方案的适用性。本文通过提出时序k尾(TkT)规范挖掘技术来解决这一挑战,该技术可以从程序跟踪中挖掘时序自动机。由于时间自动机可以有效地表示系统的功能行为和定时行为之间的相互作用,因此可以在与时间相关的信息相关的上下文中利用TkT。我们的实证评估表明,TkT可以高效有效地挖掘准确的模型。挖掘的模型已用于识别具有异常时间的执行。评估表明,大多数异常执行都被正确识别,而产生的误报很少。
{"title":"Timed k-Tail: Automatic Inference of Timed Automata","authors":"F. Pastore, D. Micucci, L. Mariani","doi":"10.1109/ICST.2017.43","DOIUrl":"https://doi.org/10.1109/ICST.2017.43","url":null,"abstract":"Accurate and up-to-date models describing the behavior of software systems are seldom available in practice. To address this issue, software engineers may use specification mining techniques, which can automatically derive models that capture the behavior of the system under analysis. So far, most specification mining techniques focused on the functional behavior of the systems, with specific emphasis on models that represent the ordering of operations, such as temporal rules and finite state models. Although useful, these models are inherently partial. For instance, they miss the timing behavior, which is extremely relevant for many classes of systems and components, such as shared libraries and user-driven applications. Mining specifications that include both the functional and the timing aspects can improve the applicability of many testing and analysis solutions. This paper addresses this challenge by presenting the Timed k-Tail (TkT) specification mining technique that can mine timed automata from program traces. Since timed automata can effectively represent the interplay between the functional and the timing behavior of a system, TkT could be exploited in those contexts where time-related information is relevant. Our empirical evaluation shows that TkT can efficiently and effectively mine accurate models. The mined models have been used to identify executions with anomalous timing. The evaluation shows that most of the anomalous executions have been correctly identified while producing few false positives.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"134 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116208972","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 27
CBGA-ES: A Cluster-Based Genetic Algorithm with Elitist Selection for Supporting Multi-Objective Test Optimization CBGA-ES:支持多目标测试优化的精英选择聚类遗传算法
D. Pradhan, Shuai Wang, Shaukat Ali, T. Yue, Marius Liaaen
Multi-objective search algorithms (e.g., non-dominated sorting genetic algorithm II (NSGA-II)) have been frequently applied to address various testing problems requiring multi-objective optimization such as test case selection. However, existing multi-objective search algorithms have certain randomness when selecting parent solutions for producing offspring solutions. In the worse case, suboptimal parent solutions may result in offspring solutions with bad quality, and thus affect the overall quality of the next generation. To address such a challenge, we propose a cluster-based genetic algorithm with elitist selection (CBGA-ES) with the aim to reduce such randomness for supporting multi-objective test optimization. We empirically compared CBGA-ES with random search, greedy (as baselines) and four commonly used multi-objective search algorithms (e.g., NSGA-II) using two industrial and one real world test optimization problem, i.e., test suite minimization, test case prioritization, and test case selection. The results showed that CBGA-ES significantly outperformed the baseline algorithms (e.g., greedy), and the four selected search algorithms for all the three test optimization problems. CBGA-ES managed to outperform more than 75% of the objectives for all the four algorithms in each test optimization problem. Moreover, CBGA-ES was able to improve the quality of the solutions for an average of 32.5% for each objective as compared to the four algorithms for the three test optimization problems.
多目标搜索算法(如非支配排序遗传算法II (NSGA-II))经常被用于解决各种需要多目标优化的测试问题,如测试用例选择。然而,现有的多目标搜索算法在选择父解产生子代解时存在一定的随机性。在最坏的情况下,次优的亲本解可能导致后代解质量差,从而影响下一代的整体质量。为了解决这一挑战,我们提出了一种基于聚类的精英选择遗传算法(CBGA-ES),旨在减少这种随机性,以支持多目标测试优化。我们将CBGA-ES与随机搜索、贪婪(作为基线)和四种常用的多目标搜索算法(例如NSGA-II)进行了实证比较,使用两个工业和一个现实世界的测试优化问题,即测试套件最小化、测试用例优先级排序和测试用例选择。结果表明,CBGA-ES在所有三个测试优化问题上都明显优于基线算法(如贪心算法)和四种选定的搜索算法。在每个测试优化问题中,CBGA-ES在所有四种算法的目标中都优于75%以上。此外,与针对三个测试优化问题的四种算法相比,CBGA-ES能够将每个目标的解决方案的质量平均提高32.5%。
{"title":"CBGA-ES: A Cluster-Based Genetic Algorithm with Elitist Selection for Supporting Multi-Objective Test Optimization","authors":"D. Pradhan, Shuai Wang, Shaukat Ali, T. Yue, Marius Liaaen","doi":"10.1109/ICST.2017.40","DOIUrl":"https://doi.org/10.1109/ICST.2017.40","url":null,"abstract":"Multi-objective search algorithms (e.g., non-dominated sorting genetic algorithm II (NSGA-II)) have been frequently applied to address various testing problems requiring multi-objective optimization such as test case selection. However, existing multi-objective search algorithms have certain randomness when selecting parent solutions for producing offspring solutions. In the worse case, suboptimal parent solutions may result in offspring solutions with bad quality, and thus affect the overall quality of the next generation. To address such a challenge, we propose a cluster-based genetic algorithm with elitist selection (CBGA-ES) with the aim to reduce such randomness for supporting multi-objective test optimization. We empirically compared CBGA-ES with random search, greedy (as baselines) and four commonly used multi-objective search algorithms (e.g., NSGA-II) using two industrial and one real world test optimization problem, i.e., test suite minimization, test case prioritization, and test case selection. The results showed that CBGA-ES significantly outperformed the baseline algorithms (e.g., greedy), and the four selected search algorithms for all the three test optimization problems. CBGA-ES managed to outperform more than 75% of the objectives for all the four algorithms in each test optimization problem. Moreover, CBGA-ES was able to improve the quality of the solutions for an average of 32.5% for each objective as compared to the four algorithms for the three test optimization problems.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124588481","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 20
Abstraction Re?nement for Non-Zeno Fairness Veri?cation of Linear Hybrid Automata 抽象再保险吗?非芝诺公平验证法案?线性混合自动机的阳离子
Ryo Yanase
Linear hybrid automaton is a specification language for hybrid systems. For verification of hybrid systems, it is important to check fairness assumptions. For example, an embedded system keeps running forever when it starts to move by turning on the switch. Such a system has to be checked not only system safety but also fairness and non-Zenoness. The state space explosion is a fundamental problem in model checking, since it is a method that performs an exhaustive search of states. To avoid state space explosion problem in model checking, CEGAR (Counter Example Guided Abstraction Re?nement) is an effective technique. In this paper, we propose transition predicate abstraction and CEGAR verification algorithm for linear hybrid automata.
线性混合自动机是一种用于混合系统的规范语言。对于混合系统的验证,公平性假设的检验是非常重要的。例如,当嵌入式系统通过打开开关开始移动时,它将永远运行。这样的制度不仅要经过制度安全性的检验,还要经过公正性和非公正性的检验。状态空间爆炸是模型检验中的一个基本问题,因为它是一种对状态进行穷举搜索的方法。为了避免模型检验中的状态空间爆炸问题,反例引导抽象重构(CEGAR)是一种有效的方法。本文提出了线性混合自动机的转移谓词抽象和CEGAR验证算法。
{"title":"Abstraction Re?nement for Non-Zeno Fairness Veri?cation of Linear Hybrid Automata","authors":"Ryo Yanase","doi":"10.1109/ICST.2017.78","DOIUrl":"https://doi.org/10.1109/ICST.2017.78","url":null,"abstract":"Linear hybrid automaton is a specification language for hybrid systems. For verification of hybrid systems, it is important to check fairness assumptions. For example, an embedded system keeps running forever when it starts to move by turning on the switch. Such a system has to be checked not only system safety but also fairness and non-Zenoness. The state space explosion is a fundamental problem in model checking, since it is a method that performs an exhaustive search of states. To avoid state space explosion problem in model checking, CEGAR (Counter Example Guided Abstraction Re?nement) is an effective technique. In this paper, we propose transition predicate abstraction and CEGAR verification algorithm for linear hybrid automata.","PeriodicalId":112258,"journal":{"name":"2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)","volume":"36 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2017-03-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132246448","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
期刊
2017 IEEE International Conference on Software Testing, Verification and Validation (ICST)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1