当前位置: 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.)
A Source-code Aware Method for Software Mutation Testing Using Artificial Bee Colony Algorithm
Journal of Electronic Testing ( IF 0.9 ) Pub Date : 2022-06-29 , DOI: 10.1007/s10836-022-06008-9
Bahman Arasteh , Parisa Imanzadeh , Keyvan Arasteh , Farhad Soleimanian Gharehchopogh , Bagher Zarei

The effectiveness of software test data relates to the number of found faults by the test data. Software mutation test is used to evaluate the effectiveness of the software test methods and is one of the challenging fields of software engineering. In order to evaluate the capability of test data in finding the program faults, some syntactical changes are made in the program source code to cause faulty program; then, the generated mutants (faulty programs) and original program are executing with the corresponding test data. One of the main drawbacks of mutation testing is its computational cost. Indeed, high execution time of mutation testing is a challenging research problem. Reducing the time and cost of mutation test is the main objective of this paper. In the traditional mutation methods and tools the mutants are injected randomly in each instructions of a program. Meanwhile, in the real-world program, the probability of fault occurrences in the simple locations (instructions and data) of a program is negligible. With respect to the 80–20 rule, 80% of the faults are found in 20% of the fault-prone code of a program. In the first stage of the proposed method, Artificial Bee Colony optimization algorithm is used to identifying the most fault prone paths of a program; in the next stage, the mutation operators (faults) are injected only on the identified fault-prone instructions and data. Regarding the results of conducted experiments on the standard benchmark programs, Compared to existing methods, the proposed method reduces 28.10% of the generated mutants. Reducing the number of generated mutants will reduce the cost of mutation testing. The traditional mutation testing tools (Mujava, Muclipse, Jester, Jumble) can perform the mutation testing with a lower cost using the method presented in this study.



中文翻译:

一种使用人工蜂群算法进行软件变异测试的源代码感知方法

软件测试数据的有效性与测试数据发现的故障数量有关。软件变异测试用于评估软件测试方法的有效性,是软件工程中具有挑战性的领域之一。为了评估测试数据查找程序故障的能力,在程序源代码中进行了一些句法更改,从而导致程序出错;然后,生成的突变体(错误程序)和原始程序正在执行相应的测试数据。突变测试的主要缺点之一是其计算成本。事实上,突变测试的高执行时间是一个具有挑战性的研究问题。减少变异测试的时间和成本是本文的主要目标。在传统的变异方法和工具中,变异是随机注入到程序的每条指令中的。同时,在现实世界的程序中,程序的简单位置(指令和数据)发生故障的概率可以忽略不计。关于 80-20 规则,80% 的错误出现在 20% 的程序易出错代码中。在所提方法的第一阶段,使用人工蜂群优化算法来识别程序最容易出错的路径;在下一阶段,突变算子(故障)仅被注入到识别出的容易出错的指令和数据上。关于在标准基准程序上进行的实验结果,与现有方法相比,所提出的方法减少了 28.10% 的生成突变体。减少生成的突变体的数量将降低突变测试的成本。传统的突变测试工具(Mujava、Muclipse、Jester、Jumble)可以使用本研究中提出的方法以较低的成本执行突变测试。

更新日期:2022-06-29
down
wechat
bug