首页 > 最新文献

2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)最新文献

英文 中文
Intent-Preserving Test Repair 意图保留测试修复
Xiangyu Li, Marcelo d’Amorim, A. Orso
Repairing broken tests in evolving software systems is an expensive and challenging task. One of the main challenges for test repair, in particular, is preserving the intent of the original tests in the repaired ones. To address this challenge, we propose a technique for test repair that models and considers the intent of a test when repairing it. Our technique first uses a search-based approach to generate repair candidates for the broken test. It then computes, for each candidate, its likelihood of preserving the original test intent. To do so, the technique characterizes such intent using the path conditions generated during a dynamic symbolic execution of the tests. Finally, the technique reports the best candidates to the developer as repair recommendations. We implemented and evaluated our technique on a benchmark of 91 broken tests in 4 open-source programs. Our results are promising, in that the technique was able to generate intentpreserving repair candidates for over 79% of those broken tests and rank the intent-preserving candidates as the first choice of repair recommendations for almost 70% of the broken tests.
在不断发展的软件系统中修复损坏的测试是一项昂贵且具有挑战性的任务。特别是,测试修复的主要挑战之一是在修复的测试中保留原始测试的意图。为了应对这一挑战,我们提出了一种测试修复技术,该技术在修复测试时建模并考虑测试的意图。我们的技术首先使用基于搜索的方法为损坏的测试生成修复候选项。然后,它计算每个候选者保留原始测试意图的可能性。为此,该技术使用在测试的动态符号执行期间生成的路径条件来表征这种意图。最后,该技术将最佳候选报告给开发人员作为修复建议。我们在4个开源程序中的91个中断测试的基准上实现并评估了我们的技术。我们的结果是有希望的,因为该技术能够为超过79%的损坏测试生成保留意图的修复候选,并将保留意图的候选作为修复建议的首选,用于几乎70%的损坏测试。
{"title":"Intent-Preserving Test Repair","authors":"Xiangyu Li, Marcelo d’Amorim, A. Orso","doi":"10.1109/ICST.2019.00030","DOIUrl":"https://doi.org/10.1109/ICST.2019.00030","url":null,"abstract":"Repairing broken tests in evolving software systems is an expensive and challenging task. One of the main challenges for test repair, in particular, is preserving the intent of the original tests in the repaired ones. To address this challenge, we propose a technique for test repair that models and considers the intent of a test when repairing it. Our technique first uses a search-based approach to generate repair candidates for the broken test. It then computes, for each candidate, its likelihood of preserving the original test intent. To do so, the technique characterizes such intent using the path conditions generated during a dynamic symbolic execution of the tests. Finally, the technique reports the best candidates to the developer as repair recommendations. We implemented and evaluated our technique on a benchmark of 91 broken tests in 4 open-source programs. Our results are promising, in that the technique was able to generate intentpreserving repair candidates for over 79% of those broken tests and rank the intent-preserving candidates as the first choice of repair recommendations for almost 70% of the broken tests.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132023567","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}
引用次数: 13
Similarities Across Libraries: Making a Case for Leveraging Test Suites 库之间的相似性:利用测试套件的案例
Devika Sondhi, Divya Rani, Rahul Purandare
Developers may choose to implement a library, despite the existence of similar libraries, considering factors such as computational performance, language or platform dependency, and accuracy. As a result, GitHub is a host to several library projects that have overlaps in the functionalities. These overlaps have been of interest to developers from the perspective of code reuse or preferring one implementation over the other. We present an empirical study to explore the extent and nature of existence of these similarities in the library functions. We have further studied whether the similarity among functions across different libraries and their associated test suites can be leveraged to reveal defects in one another. Applying a natural language processing based approach on the documentations associated with functions, we have extracted matching functions across 12 libraries, available on GitHub, over 2 programming languages and 3 themes. Our empirical evaluation indicates existence of a significant number of similar functions across libraries in same as well as different programming languages where a language can influence the extent of existence of similarities. The test suites from another library can serve as an effective source of defect revealing tests. The study resulted in revealing 72 defects in 12 libraries. Further, we analyzed the source of origination of the defect revealing tests. We deduce that issue reports and pull requests can be beneficial in attaining quality test cases not only to test the libraries in which these issues are reported but also for other libraries that are similar in theme.
尽管存在类似的库,但考虑到计算性能、语言或平台依赖性以及准确性等因素,开发人员可能会选择实现一个库。因此,GitHub是几个在功能上有重叠的库项目的宿主。从代码重用的角度来看,开发人员对这些重叠感兴趣,或者更喜欢一种实现而不是另一种。本文通过实证研究来探讨图书馆职能中这些相似性存在的程度和性质。我们进一步研究了跨不同库及其相关测试套件的函数之间的相似性是否可以被用来揭示彼此之间的缺陷。我们采用基于自然语言处理的方法处理与函数相关的文档,从12个库中提取了匹配的函数,这些库在GitHub上提供,超过2种编程语言和3个主题。我们的经验评估表明,在相同和不同编程语言的库中存在大量相似的函数,其中语言可以影响相似性存在的程度。来自另一个库的测试套件可以作为缺陷揭示测试的有效来源。研究结果揭示了12个库中的72个缺陷。进一步,我们分析了缺陷揭示测试的起源。我们推断,问题报告和拉取请求对于获得高质量的测试用例是有益的,不仅可以测试报告这些问题的库,还可以测试其他主题相似的库。
{"title":"Similarities Across Libraries: Making a Case for Leveraging Test Suites","authors":"Devika Sondhi, Divya Rani, Rahul Purandare","doi":"10.1109/ICST.2019.00018","DOIUrl":"https://doi.org/10.1109/ICST.2019.00018","url":null,"abstract":"Developers may choose to implement a library, despite the existence of similar libraries, considering factors such as computational performance, language or platform dependency, and accuracy. As a result, GitHub is a host to several library projects that have overlaps in the functionalities. These overlaps have been of interest to developers from the perspective of code reuse or preferring one implementation over the other. We present an empirical study to explore the extent and nature of existence of these similarities in the library functions. We have further studied whether the similarity among functions across different libraries and their associated test suites can be leveraged to reveal defects in one another. Applying a natural language processing based approach on the documentations associated with functions, we have extracted matching functions across 12 libraries, available on GitHub, over 2 programming languages and 3 themes. Our empirical evaluation indicates existence of a significant number of similar functions across libraries in same as well as different programming languages where a language can influence the extent of existence of similarities. The test suites from another library can serve as an effective source of defect revealing tests. The study resulted in revealing 72 defects in 12 libraries. Further, we analyzed the source of origination of the defect revealing tests. We deduce that issue reports and pull requests can be beneficial in attaining quality test cases not only to test the libraries in which these issues are reported but also for other libraries that are similar in theme.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129323136","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
MemFuzz: Using Memory Accesses to Guide Fuzzing MemFuzz:使用内存访问来指导模糊测试
Nicolas Coppik, Oliver Schwahn, N. Suri
Fuzzing is a form of random testing that is widely used for finding bugs and vulnerabilities. State of the art approaches commonly leverage information about the control flow of prior executions of the program under test to decide which inputs to mutate further. By relying solely on control flow information to characterize executions, such approaches may miss relevant differences. We propose augmenting evolutionary fuzzing by additionally leveraging information about memory accesses performed by the target program. The resulting approach can leverage more sophisticated information about the execution of the target program, enhancing the effectiveness of the evolutionary fuzzing. We implement our approach as a modification of the widely used AFL fuzzer and evaluate our implementation on three widely used target applications. We find distinct crashes from those detected by AFL for all three targets in our evaluation.
模糊测试是一种随机测试形式,广泛用于发现错误和漏洞。最先进的方法通常利用有关被测程序先前执行的控制流的信息来决定进一步改变哪些输入。如果仅仅依靠控制流信息来描述执行,这种方法可能会错过相关的差异。我们建议通过额外利用有关目标程序执行的内存访问的信息来增强进化模糊。由此产生的方法可以利用关于目标程序执行的更复杂的信息,增强进化模糊的有效性。我们将我们的方法作为广泛使用的AFL模糊器的改进来实现,并在三个广泛使用的目标应用中评估了我们的实现。在我们的评估中,我们发现与AFL检测到的所有三个目标不同的崩溃。
{"title":"MemFuzz: Using Memory Accesses to Guide Fuzzing","authors":"Nicolas Coppik, Oliver Schwahn, N. Suri","doi":"10.1109/ICST.2019.00015","DOIUrl":"https://doi.org/10.1109/ICST.2019.00015","url":null,"abstract":"Fuzzing is a form of random testing that is widely used for finding bugs and vulnerabilities. State of the art approaches commonly leverage information about the control flow of prior executions of the program under test to decide which inputs to mutate further. By relying solely on control flow information to characterize executions, such approaches may miss relevant differences. We propose augmenting evolutionary fuzzing by additionally leveraging information about memory accesses performed by the target program. The resulting approach can leverage more sophisticated information about the execution of the target program, enhancing the effectiveness of the evolutionary fuzzing. We implement our approach as a modification of the widely used AFL fuzzer and evaluate our implementation on three widely used target applications. We find distinct crashes from those detected by AFL for all three targets in our evaluation.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130000821","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}
引用次数: 24
Comparing Mutation Testing at the Levels of Source Code and Compiler Intermediate Representation 比较源代码和编译器中间表示级别上的突变测试
Farah Hariri, A. Shi, V. Fernando, Suleman Mahmood, D. Marinov
Mutation testing is widely used in research for evaluating the effectiveness of test suites. There are multiple mutation tools that perform mutation at different levels, including traditional mutation testing at the level of source code (SRC) and more recent mutation testing at the level of compiler intermediate representation (IR). This paper presents an extensive comparison of mutation testing at the SRC and IR levels, specifically at the C programming language and the LLVM compiler IR levels. We use a mutation testing tool called SRCIROR that implements conceptually the same mutation operators at both levels. We also employ automated techniques to account for equivalent and duplicated mutants, and to determine minimal and surface mutants. We carry out our study on 15 programs from the Coreutils library. Overall, we find mutation testing to be better at the SRC level: the SRC level produces much fewer mutants and is thus less expensive, but the SRC level still generates a similar number of minimal and surface mutants, and the mutation scores at both levels are very closely correlated. We also perform a case study on the Space program to evaluate which level's mutation score correlates better with the actual fault-detection capability of test suites sampled from Space's test pool. We find the mutation score at both levels to not be very correlated with the actual fault-detection capability of test suites.
突变测试被广泛用于评估测试套件的有效性。有多种突变工具可以在不同级别执行突变,包括源代码级别的传统突变测试(SRC)和编译器中间表示级别的最新突变测试(IR)。本文对SRC和IR级别的突变测试进行了广泛的比较,特别是在C编程语言和LLVM编译器IR级别。我们使用名为SRCIROR的突变测试工具,它在两个级别上实现概念上相同的突变操作符。我们还采用自动化技术来解释等效和重复突变,并确定最小和表面突变。我们对coretils库中的15个程序进行了研究。总体而言,我们发现SRC水平的突变检测效果更好:SRC水平产生的突变更少,因此成本更低,但SRC水平仍然产生相似数量的最小和表面突变,并且两个水平的突变得分非常密切相关。我们还对Space程序进行了一个案例研究,以评估哪个级别的突变得分与从Space测试池中采样的测试套件的实际故障检测能力更相关。我们发现两个级别的突变得分与测试套件的实际故障检测能力不太相关。
{"title":"Comparing Mutation Testing at the Levels of Source Code and Compiler Intermediate Representation","authors":"Farah Hariri, A. Shi, V. Fernando, Suleman Mahmood, D. Marinov","doi":"10.1109/ICST.2019.00021","DOIUrl":"https://doi.org/10.1109/ICST.2019.00021","url":null,"abstract":"Mutation testing is widely used in research for evaluating the effectiveness of test suites. There are multiple mutation tools that perform mutation at different levels, including traditional mutation testing at the level of source code (SRC) and more recent mutation testing at the level of compiler intermediate representation (IR). This paper presents an extensive comparison of mutation testing at the SRC and IR levels, specifically at the C programming language and the LLVM compiler IR levels. We use a mutation testing tool called SRCIROR that implements conceptually the same mutation operators at both levels. We also employ automated techniques to account for equivalent and duplicated mutants, and to determine minimal and surface mutants. We carry out our study on 15 programs from the Coreutils library. Overall, we find mutation testing to be better at the SRC level: the SRC level produces much fewer mutants and is thus less expensive, but the SRC level still generates a similar number of minimal and surface mutants, and the mutation scores at both levels are very closely correlated. We also perform a case study on the Space program to evaluate which level's mutation score correlates better with the actual fault-detection capability of test suites sampled from Space's test pool. We find the mutation score at both levels to not be very correlated with the actual fault-detection capability of test suites.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"43 5","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-22","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131653353","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}
引用次数: 21
Learning to Optimize the Alloy Analyzer 学习优化合金分析仪
Wenxi Wang, Kaiyuan Wang, Mengshi Zhang, S. Khurshid
Constraint-solving is an expensive phase for scenario finding tools. It has been widely observed that there is no single "dominant" SAT solver that always wins in every case; instead, the performance of different solvers varies by cases. Some SAT solvers perform particularly well for certain tasks while other solvers perform well for other tasks. In this paper, we propose an approach that uses machine learning techniques to automatically select a SAT solver for one of the widely used scenario finding tools, i.e. Alloy Analyzer, based on the features extracted from a given model. The goal is to choose the best SAT solver for a given model to minimize the expensive constraint solving time. We extract features from three different levels, i.e. the Alloy source code level, the Kodkod formula level and the boolean formula level. The experimental results show that our portfolio approach outperforms the best SAT solver by 30% as well as the baseline approach by 128% where users randomly select a solver for any given model.
对于场景查找工具来说,约束求解是一个代价高昂的阶段。人们普遍观察到,没有单一的“主导”SAT解算器在任何情况下都能获胜;相反,不同解算器的性能因情况而异。一些SAT解题者在某些任务上表现得特别好,而另一些解题者在其他任务上表现得很好。在本文中,我们提出了一种方法,该方法使用机器学习技术,根据从给定模型中提取的特征,自动为广泛使用的场景查找工具之一(即Alloy Analyzer)选择SAT求解器。目标是为给定模型选择最佳的SAT求解器,以最大限度地减少昂贵的约束求解时间。我们从三个不同的级别提取特征,即Alloy源代码级别,Kodkod公式级别和布尔公式级别。实验结果表明,我们的组合方法比最好的SAT求解器高出30%,比基线方法高出128%,其中用户为任何给定模型随机选择求解器。
{"title":"Learning to Optimize the Alloy Analyzer","authors":"Wenxi Wang, Kaiyuan Wang, Mengshi Zhang, S. Khurshid","doi":"10.1109/ICST.2019.00031","DOIUrl":"https://doi.org/10.1109/ICST.2019.00031","url":null,"abstract":"Constraint-solving is an expensive phase for scenario finding tools. It has been widely observed that there is no single \"dominant\" SAT solver that always wins in every case; instead, the performance of different solvers varies by cases. Some SAT solvers perform particularly well for certain tasks while other solvers perform well for other tasks. In this paper, we propose an approach that uses machine learning techniques to automatically select a SAT solver for one of the widely used scenario finding tools, i.e. Alloy Analyzer, based on the features extracted from a given model. The goal is to choose the best SAT solver for a given model to minimize the expensive constraint solving time. We extract features from three different levels, i.e. the Alloy source code level, the Kodkod formula level and the boolean formula level. The experimental results show that our portfolio approach outperforms the best SAT solver by 30% as well as the baseline approach by 128% where users randomly select a solver for any given model.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"75 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121109478","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}
引用次数: 6
Poster: Supporting JavaScript Experimentation with BugsJS 海报:支持JavaScript实验与BugsJS
Béla Vancsics, Péter Gyimesi, Andrea Stocco, D. Mazinanian, Árpád Beszédes, R. Ferenc, A. Mesbah
In our recent work, we proposed BUGSJS, a benchmark of several hundred bugs from popular JavaScript serverside programs. In this abstract paper, we report the results of our initial evaluation in adopting BUGSJS to support an experiment in fault localization. First, we describe how BUGSJS facilitated accessing the information required to perform the experiment, namely, test case code, their outcomes, their associated code coverage and related bug information. Second, we illustrate how BUGSJS can be improved to further enable easier application to fault localization research, for instance, by filtering out failing test cases that do not directly contribute to a bug. We hope that our preliminary results will foster researchers in using BUGSJS to enable highly-reproducible empirical studies and comparisons of JavaScript analysis and testing tools.
在我们最近的工作中,我们提出了BUGSJS,这是一个来自流行的JavaScript服务器端程序的数百个错误的基准测试。在这篇摘要论文中,我们报告了采用BUGSJS支持故障定位实验的初步评估结果。首先,我们描述了BUGSJS如何方便地访问执行实验所需的信息,即测试用例代码、它们的结果、它们相关的代码覆盖率和相关的错误信息。其次,我们说明了如何改进BUGSJS以进一步使应用程序更容易进行故障定位研究,例如,通过过滤掉不直接导致错误的失败测试用例。我们希望我们的初步结果能够促进研究人员使用BUGSJS来进行高度可重复的实证研究,并对JavaScript分析和测试工具进行比较。
{"title":"Poster: Supporting JavaScript Experimentation with BugsJS","authors":"Béla Vancsics, Péter Gyimesi, Andrea Stocco, D. Mazinanian, Árpád Beszédes, R. Ferenc, A. Mesbah","doi":"10.1109/ICST.2019.00046","DOIUrl":"https://doi.org/10.1109/ICST.2019.00046","url":null,"abstract":"In our recent work, we proposed BUGSJS, a benchmark of several hundred bugs from popular JavaScript serverside programs. In this abstract paper, we report the results of our initial evaluation in adopting BUGSJS to support an experiment in fault localization. First, we describe how BUGSJS facilitated accessing the information required to perform the experiment, namely, test case code, their outcomes, their associated code coverage and related bug information. Second, we illustrate how BUGSJS can be improved to further enable easier application to fault localization research, for instance, by filtering out failing test cases that do not directly contribute to a bug. We hope that our preliminary results will foster researchers in using BUGSJS to enable highly-reproducible empirical studies and comparisons of JavaScript analysis and testing tools.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"55 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125047496","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}
引用次数: 1
Poster: Automatic Consistency Checking of Requirements with ReqV 海报:ReqV需求的自动一致性检查
Simone Vuotto, Massimo Narizzano, Luca Pulina, A. Tacchella
In the context of Requirements Engineering, checking the consistency of functional requirements is an important and still mostly open problem. In case of requirements written in natural language, the corresponding manual review is time consuming and error prone. On the other hand, automated consistency checking most often requires overburdening formalizations. In this paper we introduce ReqV, a tool for formal consistency checking of requirements. The main goal of the tool is to provide an easy-to-use environment for the verification of requirements in Cyber-Physical Systems (CPS). ReqV takes as input a set of requirements expressed in a structured natural language, translates them in a formal language and it checks their inner consistency. In case of failure, ReqV can also extracts a minimal set of conflicting requirements to help designers in correcting the specification.
在需求工程的上下文中,检查功能需求的一致性是一个重要的并且仍然是一个悬而未决的问题。在用自然语言编写需求的情况下,相应的人工审查是耗时且容易出错的。另一方面,自动一致性检查通常需要过多的形式化。本文介绍了ReqV,一种对需求进行形式化一致性检查的工具。该工具的主要目标是为验证信息物理系统(CPS)中的需求提供一个易于使用的环境。ReqV将以结构化自然语言表达的一组需求作为输入,将其转换为形式语言,并检查其内部一致性。在失败的情况下,ReqV还可以提取最小的冲突需求集,以帮助设计人员纠正规范。
{"title":"Poster: Automatic Consistency Checking of Requirements with ReqV","authors":"Simone Vuotto, Massimo Narizzano, Luca Pulina, A. Tacchella","doi":"10.1109/ICST.2019.00043","DOIUrl":"https://doi.org/10.1109/ICST.2019.00043","url":null,"abstract":"In the context of Requirements Engineering, checking the consistency of functional requirements is an important and still mostly open problem. In case of requirements written in natural language, the corresponding manual review is time consuming and error prone. On the other hand, automated consistency checking most often requires overburdening formalizations. In this paper we introduce ReqV, a tool for formal consistency checking of requirements. The main goal of the tool is to provide an easy-to-use environment for the verification of requirements in Cyber-Physical Systems (CPS). ReqV takes as input a set of requirements expressed in a structured natural language, translates them in a formal language and it checks their inner consistency. In case of failure, ReqV can also extracts a minimal set of conflicting requirements to help designers in correcting the specification.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"131 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115541769","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
Automated Scenario-Based Integration Testing of Time-Constrained Distributed Systems 时间约束分布式系统的基于场景的自动化集成测试
B. Lima
In a growing number of domains, such as IoT for e-health and smart cities, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple systems, forming a new distributed system, often subject to timing constraints. To ensure interoperability and integrity, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. To solve the test automation challenges, we propose algorithms for decentralized conformance checking and test input generation, and for checking and enforcing the conditions (local observability and controllability) that allow decentralized test execution. With this, we expect to improve the fault detection and localization capabilities and reduce the communication overhead comparatively to other model-based testing approaches. Our approach will be validated using real case studies from industrial partners.
在越来越多的领域,如面向电子健康和智慧城市的物联网,向用户提供端到端服务取决于多个系统的适当互操作,形成一个新的分布式系统,通常受到时间限制。为了确保互操作性和完整性,重要的是要进行集成测试,以验证与环境的交互以及关键场景中系统组件之间的交互。为了解决测试自动化的挑战,我们提出了用于分散一致性检查和测试输入生成的算法,以及用于检查和执行允许分散测试执行的条件(局部可观察性和可控性)的算法。与其他基于模型的测试方法相比,我们期望提高故障检测和定位能力,并减少通信开销。我们的方法将通过来自工业合作伙伴的真实案例研究得到验证。
{"title":"Automated Scenario-Based Integration Testing of Time-Constrained Distributed Systems","authors":"B. Lima","doi":"10.1109/ICST.2019.00060","DOIUrl":"https://doi.org/10.1109/ICST.2019.00060","url":null,"abstract":"In a growing number of domains, such as IoT for e-health and smart cities, the provisioning of end-to-end services to the users depends on the proper interoperation of multiple systems, forming a new distributed system, often subject to timing constraints. To ensure interoperability and integrity, it is important to conduct integration tests that verify the interactions with the environment and between the system components in key scenarios. To solve the test automation challenges, we propose algorithms for decentralized conformance checking and test input generation, and for checking and enforcing the conditions (local observability and controllability) that allow decentralized test execution. With this, we expect to improve the fault detection and localization capabilities and reduce the communication overhead comparatively to other model-based testing approaches. Our approach will be validated using real case studies from industrial partners.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134314316","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}
引用次数: 6
Poster: Re-Testing Configured Instances in the Production Environment - A Method for Reducing the Test Suite 海报:在生产环境中重新测试已配置的实例——一种减少测试套件的方法
Oussama Jebbar, M. Saied, F. Khendek, M. Toeroe
Configurations play an important role in the behavior and operation of configurable systems. Prior to deployment a configured system is tested in the development environment. However, because of the differences between the development environment and the production environment, the configuration of the system needs to be adapted for the production environment. It is therefore important to re-test the configured system in the production environment. Since the system has already been tested in the development environment one should avoid reapplying all the test cases, it is desirable to reduce the test suite to be used in the production environment as much as possible. This is the goal of the method we propose in this paper. For this, we explore the similarities between the configuration used in the development environment and the configuration for the production environment to eliminate test cases. Indeed, the difference between the two configurations is only at the environment level, i.e. only the configuration parameters that influence the interactions between the system and its environment are changed for the deployment in the production environment. We propose a method that is based on a classification of the configuration parameters (based on their dependency to the environment) and use it to reduce the development time test suite before reapplying it in the production environment.
配置在可配置系统的行为和操作中起着重要的作用。在部署之前,在开发环境中测试已配置的系统。然而,由于开发环境和生产环境之间的差异,系统的配置需要针对生产环境进行调整。因此,在生产环境中重新测试配置好的系统非常重要。由于系统已经在开发环境中进行了测试,因此应该避免重新应用所有的测试用例,尽可能减少在生产环境中使用的测试套件是可取的。这是我们在本文中提出的方法的目标。为此,我们探讨了在开发环境中使用的配置和在生产环境中使用的配置之间的相似性,以消除测试用例。实际上,这两种配置之间的差异只存在于环境级别,也就是说,只有影响系统与其环境之间交互的配置参数才会在生产环境中的部署中进行更改。我们提出了一种基于配置参数分类(基于它们对环境的依赖性)的方法,并在将其重新应用于生产环境之前使用它来减少开发时间测试套件。
{"title":"Poster: Re-Testing Configured Instances in the Production Environment - A Method for Reducing the Test Suite","authors":"Oussama Jebbar, M. Saied, F. Khendek, M. Toeroe","doi":"10.1109/ICST.2019.00044","DOIUrl":"https://doi.org/10.1109/ICST.2019.00044","url":null,"abstract":"Configurations play an important role in the behavior and operation of configurable systems. Prior to deployment a configured system is tested in the development environment. However, because of the differences between the development environment and the production environment, the configuration of the system needs to be adapted for the production environment. It is therefore important to re-test the configured system in the production environment. Since the system has already been tested in the development environment one should avoid reapplying all the test cases, it is desirable to reduce the test suite to be used in the production environment as much as possible. This is the goal of the method we propose in this paper. For this, we explore the similarities between the configuration used in the development environment and the configuration for the production environment to eliminate test cases. Indeed, the difference between the two configurations is only at the environment level, i.e. only the configuration parameters that influence the interactions between the system and its environment are changed for the deployment in the production environment. We propose a method that is based on a classification of the configuration parameters (based on their dependency to the environment) and use it to reduce the development time test suite before reapplying it in the production environment.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"16 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132670863","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
An RBM Anomaly Detector for the Cloud 用于云的RBM异常检测器
C. Monni, M. Pezzè, Gaetano Prisco
Failures are unavoidable in complex software systems, and the intrinsic characteristics of cloud systems amplify the problem. Predicting failures before their occurrence by detecting anomalies in system metrics is a viable solution to enable failure preventing or mitigating actions. The most promising approaches for predicting failures exploit statistical analysis or machine learning to reveal anomalies and their correlation with possible failures. Statistical analysis approaches result in far too many false positives, which severely hinder their practical applicability, while accurate machine learning approaches need extensive training with seeded faults, which is often impossible in operative cloud systems. In this paper, we propose EmBeD, Energy-Based anomaly Detection in the cloud, an approach to detect anomalies at runtime based on the free energy of a Restricted Boltzmann Machine (RBM) model. The free energy is a stochastic function that can be used to efficiently score anomalies for detecting outliers. EmBeD analyzes the system behavior from raw metric data, does not require extensive training with seeded faults, and classifies the relation of anomalous behaviors with future failures with very few false positives. The experimental results presented in this paper confirm that EmBeD can precisely predict failure-prone behavior without training with seeded faults, thus overcoming the main limitations of current approaches.
在复杂的软件系统中,故障是不可避免的,而云系统的固有特性放大了这个问题。通过检测系统度量中的异常,在故障发生之前预测故障是一种可行的解决方案,可以防止或减轻故障。预测故障最有希望的方法是利用统计分析或机器学习来揭示异常及其与可能故障的相关性。统计分析方法会导致太多的误报,这严重阻碍了它们的实际适用性,而准确的机器学习方法需要大量的种子故障训练,这在运行的云系统中通常是不可能的。在本文中,我们提出了基于能量的云异常检测,这是一种基于受限玻尔兹曼机(RBM)模型的自由能在运行时检测异常的方法。自由能是一个随机函数,可以用来有效地对异常进行评分,以检测异常值。EmBeD从原始度量数据分析系统行为,不需要大量的种子故障训练,并将异常行为与未来故障的关系进行分类,并且很少有误报。本文的实验结果证实,嵌入算法可以在不进行种子故障训练的情况下精确预测故障易感行为,从而克服了现有方法的主要局限性。
{"title":"An RBM Anomaly Detector for the Cloud","authors":"C. Monni, M. Pezzè, Gaetano Prisco","doi":"10.1109/ICST.2019.00024","DOIUrl":"https://doi.org/10.1109/ICST.2019.00024","url":null,"abstract":"Failures are unavoidable in complex software systems, and the intrinsic characteristics of cloud systems amplify the problem. Predicting failures before their occurrence by detecting anomalies in system metrics is a viable solution to enable failure preventing or mitigating actions. The most promising approaches for predicting failures exploit statistical analysis or machine learning to reveal anomalies and their correlation with possible failures. Statistical analysis approaches result in far too many false positives, which severely hinder their practical applicability, while accurate machine learning approaches need extensive training with seeded faults, which is often impossible in operative cloud systems. In this paper, we propose EmBeD, Energy-Based anomaly Detection in the cloud, an approach to detect anomalies at runtime based on the free energy of a Restricted Boltzmann Machine (RBM) model. The free energy is a stochastic function that can be used to efficiently score anomalies for detecting outliers. EmBeD analyzes the system behavior from raw metric data, does not require extensive training with seeded faults, and classifies the relation of anomalous behaviors with future failures with very few false positives. The experimental results presented in this paper confirm that EmBeD can precisely predict failure-prone behavior without training with seeded faults, thus overcoming the main limitations of current approaches.","PeriodicalId":446827,"journal":{"name":"2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2019-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124135667","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}
引用次数: 8
期刊
2019 12th IEEE Conference on Software Testing, Validation and Verification (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