An error-propagation aware method to reduce the software mutation cost using genetic algorithm. (12th November 2020)
- Record Type:
- Journal Article
- Title:
- An error-propagation aware method to reduce the software mutation cost using genetic algorithm. (12th November 2020)
- Main Title:
- An error-propagation aware method to reduce the software mutation cost using genetic algorithm
- Authors:
- Mohammad Javad Hosseini, Seyed
Arasteh, Bahman
Isazadeh, Ayaz
Mohsenzadeh, Mehran
Mirzarezaee, Mitra - Abstract:
- Abstract : Purpose: The purpose of this study is to reduce the number of mutations and, consequently, reduce the cost of mutation test. The results of related studies indicate that about 40% of injected faults (mutants) in the source code are effect-less (equivalent). Equivalent mutants are one of the major costs of mutation testing and the identification of equivalent and effect-less mutants has been known as an undecidable problem. Design/methodology/approach: In a program with n branch instructions (if instruction) there are 2 n execution paths (test paths) that the data and codes into each of these paths can be considered as a target of mutation. Given the role and impact of data in a program, some of data and codes propagates the injected mutants more likely to the output of the program. In this study, firstly the error-propagation rate of the program data is quantified using static analysis of the program control-flow graph. Then, the most error-propagating test paths are identified by the proposed heuristic algorithm (Genetic Algorithm [GA]). Data and codes with higher error-propagation rate are only considered as the strategic locations for the mutation testing. Findings: In order to evaluate the proposed method, an extensive series of mutation testing experiments have been conducted on a set of traditional benchmark programs using MuJava tool set. The results depict that the proposed method reduces the number of mutants about 24%. Also, in the correspondingAbstract : Purpose: The purpose of this study is to reduce the number of mutations and, consequently, reduce the cost of mutation test. The results of related studies indicate that about 40% of injected faults (mutants) in the source code are effect-less (equivalent). Equivalent mutants are one of the major costs of mutation testing and the identification of equivalent and effect-less mutants has been known as an undecidable problem. Design/methodology/approach: In a program with n branch instructions (if instruction) there are 2 n execution paths (test paths) that the data and codes into each of these paths can be considered as a target of mutation. Given the role and impact of data in a program, some of data and codes propagates the injected mutants more likely to the output of the program. In this study, firstly the error-propagation rate of the program data is quantified using static analysis of the program control-flow graph. Then, the most error-propagating test paths are identified by the proposed heuristic algorithm (Genetic Algorithm [GA]). Data and codes with higher error-propagation rate are only considered as the strategic locations for the mutation testing. Findings: In order to evaluate the proposed method, an extensive series of mutation testing experiments have been conducted on a set of traditional benchmark programs using MuJava tool set. The results depict that the proposed method reduces the number of mutants about 24%. Also, in the corresponding experiments, the mutation score is increased about 5.6%. The success rate of the GA in finding the most error-propagating paths of the input programs is 99%. On average, only 7.46% of generated mutants by the proposed method are equivalent. Indeed, 92.54% of generated mutants are non-equivalent. Originality/value: The main contribution of this study is as follows: Proposing a set of equations to measure the error-propagation rate of each data, basic-block and execution path of a program. Proposing a genetic algorithm to identify a most error-propagating path of program as locations of mutations. Developing an efficient mutation-testing framework that mutates only the strategic locations of a program identified by the proposed genetic algorithms. Reducing the time and cost of mutation testing by reducing the equivalent mutants. … (more)
- Is Part Of:
- Data technologies and applications. Volume 55:Number 1(2021)
- Journal:
- Data technologies and applications
- Issue:
- Volume 55:Number 1(2021)
- Issue Display:
- Volume 55, Issue 1 (2021)
- Year:
- 2021
- Volume:
- 55
- Issue:
- 1
- Issue Sort Value:
- 2021-0055-0001-0000
- Page Start:
- 118
- Page End:
- 148
- Publication Date:
- 2020-11-12
- Subjects:
- Software mutation testing -- Equivalent mutants -- Error-propagation -- Genetic algorithm -- Number of mutant -- Mutation score
Information science -- Periodicals
Electronic information resources -- Periodicals
Knowledge management -- Periodicals
020.5 - Journal URLs:
- http://www.emeraldinsight.com/loi/dta ↗
http://www.emeraldinsight.com/ ↗ - DOI:
- 10.1108/DTA-03-2020-0073 ↗
- Languages:
- English
- ISSNs:
- 2514-9288
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - BLDSS-3PM
British Library HMNTS - ELD Digital store - Ingest File:
- 22216.xml