Search-based software testing (SBST) typically relies on fitness functions to guide the search exploration toward software failures. There are two main techniques to define fitness functions: (a) automated fitness function computation from the specification of the system requirements and (b) manual fitness function design. Both techniques have advantages. The former uses information from the system requirements to guide the search toward portions of the input domain that are more likely to contain failures. The latter uses the engineers' domain knowledge. We propose ATheNA, a novel SBST framework that combines fitness functions that are automatically generated from requirements specifications and manually defined by engineers. We design and implement ATheNA-S, an instance of ATheNA that targets Simulink models. We evaluate ATheNA-S by considering a large set of models and requirements from different domains. We compare our solution with an SBST baseline tool that supports automatically generated fitness functions, and another one that supports manually defined fitness functions. Our results show that ATheNA-S generates more failure-revealing test cases than the baseline tools and that the difference between the performance of ATheNA-S and the baseline tools is not statistically significant. We also assess whether ATheNA-S could generate failure-revealing test cases when applied to a large case study from the automotive domain. Our results show that ATheNA-S successfully revealed a requirement violation in our case study.
翻译:基于搜索的软件测试(SBST)通常依靠健身功能来引导搜索探索软件故障。有两个主要技术来定义健身功能:(a) 从系统要求的规格中自动计算健身功能,和(b) 人工健身功能设计。两种技术都有优势。前者使用系统要求中的信息来引导搜索输入域中更可能遏制故障的部分内容。后者使用工程师的域知识。我们提议ATheNA(ATheNA-S)是一个全新的SBST框架,将需求规格自动生成的健身功能和工程师手工定义的健身功能结合起来。我们设计和实施ATheNA-S(AtheNA-S的例子),这是ATheNA-S(AtheNA-S)的一个针对Smimmlinink模型的例子。我们通过考虑不同领域的大量模型和要求来评估ATheNA-S(A),我们比较我们的解决方案与S(S)基线工具相比,后者支持自动生成健身功能,而另一个支持人工定义的健身功能功能。我们的结果显示,ANA-S(S)的功能和基线工具的性功能差异在统计上没有显著的测试案例。我们还评估了A-S(A-S),我们从A-A-S)的测试中可以得出一个大的失败。