当前位置: X-MOL 学术J. Electron. Test. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Effective Software Mutation-Test Using Program Instructions Classification
Journal of Electronic Testing ( IF 0.9 ) Pub Date : 2024-01-09 , DOI: 10.1007/s10836-023-06089-0
Zeinab Asghari , Bahman Arasteh , Abbas Koochari

The quantity of bugs that a software test-data finds determines its effectiveness. A useful technique for assessing the efficacy of a test set is mutation testing. The primary issues with the mutation test are cost and time requirements. Close to 40% of the injected bugs in the mutation test are effect-less (equivalent). Reducing the number of generated total mutants by decreasing equivalent mutants and reducing the execution time of the mutation test are the main objectives of this study. An error-propagation aware mutation test approach has been suggested in this research. Three steps make up the process. To find a collection of instruction-level characteristics effective on the error propagation rate, the data and instructions of the input program were evaluated in the first step. Utilizing supervised machine learning techniques, an instruction classifier was developed using the prepared dataset in the second step. After classifying the program instructions automatically by the created classifier, the mutation test is performed only on the identified error-propagating instructions; the identified non-error-propagating instructions are avoided to mutate in the proposed mutation testing. The conducted experiments on the set of standard benchmark programs indicate that the proposed method causes about 19% reduction in the number of generated mutants. Furthermore, the proposed method causes a 32.24% reduction in the live mutants. It should be noted that the proposed method eliminated only the affectless mutants. The key technical benefit of the suggested solution is that mutation of the instructions that don't propagate errors is avoided. These findings can lead to a performance improvement in the existing mutation-test methods and tools.



中文翻译:

使用程序指令分类进行有效的软件突变测试

软件测试数据发现的错误数量决定了其有效性。评估测试集功效的有用技术是突变测试。突变测试的主要问题是成本和时间要求。突变测试中近 40% 的注入错误是无效果(等效)的。通过减少等效突变体和减少突变测试的执行时间来减少生成的总突变体数量是本研究的主要目标。本研究提出了一种错误传播感知突变测试方法。该过程由三个步骤组成。为了找到对错误传播率有效的指令级特征集合,第一步对输入程序的数据和指令进行评估。利用监督机器学习技术,在第二步中使用准备好的数据集开发了指令分类器。通过创建的分类器对程序指令进行自动分类后,仅对识别出的错误传播指令进行变异测试;在所提出的突变测试中,避免了所识别的非错误传播指令发生突变。对一组标准基准程序进行的实验表明,所提出的方法使生成的突变体数量减少了约 19%。此外,所提出的方法使活突变体减少了 32.24%。应该指出的是,所提出的方法仅消除了无影响的突变体。建议的解决方案的关键技术优势是避免了不传播错误的指令的突变。这些发现可以提高现有突变测试方法和工具的性能。

更新日期:2024-01-10
down
wechat
bug