Selecting a software engineering tool: lessons learnt from mutation analysis

Selecting a software engineering tool: lessons learnt from mutation analysis
复制标题

DOI:
10.1002/spe.2312
复制
发表时间:
2015-07-01
影响因子:
3.5
通讯作者:
du Bousquet, Lydie
du Bousquet, Lydie
中科院分区:
计算机科学4区
文献类型:
--
作者:
Delahaye, Mickael;du Bousquet, Lydie

文献摘要

被引文献

相似文献

软件开发人员在开发的每一步都使用许多工具。随着自动化的发展,工具占据了越来越重要的位置。在各种工具中选择一种工具来完成给定的任务是一个常见而困难的问题,作为这个问题的一个特例,本文考虑了变异分析工具。突变分析是评估测试集质量的一种方法。质量是测试套件检测注入测试程序中的故障的能力。如果至少一个测试用例对原始程序和故障注入程序给出不同的结果,则检测到故障。变异工具的目标是自动化和加速生成故障注入的变种,称为mutants,并在这些mutants上执行测试套件。本文提出了一种比较工具的方法,并将其应用于比较变异工具。该方法提出了一个比较标准列表以及一个使用配置文件列表。本文对Java中的变异工具进行了比较和实验。然后,将工作扩展到其他语言,以确定比较标准和使用配置文件的相关性。最后,从我们的选择过程中吸取教训。版权所有(c)2015约翰威利父子有限公司
Software developers employ many tools in every step of the development. As automation progresses, tools take a more and more important place. A common and difficult problem is choosing a tool among every tool for a given task.As a particular instance of this problem, this paper considers mutation analysis tools. Mutation analysis is a way to evaluate the quality of a test suite. The quality is measured as the ability of the test suite to detect faults injected into the program under tests. A fault is detected if at least one test case gives different results on the original program and the fault-injected one. Mutation tools aim at automating and speeding both the generation of fault-injected variants, called mutants, and the execution of the test suite on those mutants.This paper proposes a methodology to compare tools and applies it for comparing mutation tools. This methodology proposes to dress a list of comparison criteria as well as a list of usage profiles. Mutation tools for Java are compared on paper and by experiments. The work is then extended to other languages to assert the pertinence of the comparison criteria and the usage profiles. Finally, lessons are drawn from our selection process. Copyright (c) 2015 John Wiley & Sons, Ltd.