咨询与建议

看过本文的还看了

相关文献

该作者的其他文献

文献详情 >Mutation reduction in software... 收藏

Mutation reduction in software mutation testing using firefly optimization algorithm

作     者:Shomali, Nasrin Arasteh, Bahman 

作者机构:Islamic Azad Univ Dept Comp Engn Tabriz Branch Tabriz Iran 

出 版 物:《DATA TECHNOLOGIES AND APPLICATIONS》 (Data Technol. Appl.)

年 卷 期:2020年第54卷第4期

页      面:461-480页

核心收录:

主  题:Software testing Mutation testing Mutation reduction Firefly optimization algorithm Mutation score 

摘      要:Purpose For delivering high-quality software applications, proper testing is required. A software test will function successfully if it can find more software faults. The traditional method of assessing the quality and effectiveness of a test suite is mutation testing. One of the main drawbacks of mutation testing is its computational cost. The research problem of this study is the high computational cost of the mutation test. Reducing the time and cost of the mutation test is the main goal of this study. Design/methodology/approach With regard to the 80-20 rule, 80% of the faults are found in 20% of the fault-prone code of a program. The proposed method statically analyzes the source code of the program to identify the fault-prone locations of the program. Identifying the fault-prone (complex) paths of a program is an NP-hard problem. In the proposed method, a firefly optimization algorithm is used for identifying the most fault-prone paths of a program;then, the mutation operators are injected only on the identified fault-prone instructions. Findings The source codes of five traditional benchmark programs were used for evaluating the effectiveness of the proposed method to reduce the mutant number. The proposed method was implemented in Matlab. The mutation injection operations were carried out by MuJava, and the output was investigated. The results confirm that the proposed method considerably reduces the number of mutants, and consequently, the cost of software mutation-test. Originality/value The proposed method avoids the mutation of nonfault-prone (simple) codes of the program, and consequently, the number of mutants considerably is reduced. In a program with n branch instructions (if instruction), there are 2n execution paths (test paths) that the data and codes into each of these paths can be considered as a target of mutation. Identifying the error-prone (complex) paths of a program is an NP-hard problem. In the proposed method, a firefly optimization algo

读者评论 与其他读者分享你的观点

用户名:未登录
我的评分