To read this content please select one of the options below:

An error-propagation aware method to reduce the software mutation cost using genetic algorithm

Seyed Mohammad Javad Hosseini (Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran)
Bahman Arasteh (Department of Computer Engineering, Tabriz Branch, Islamic Azad University, Tabriz, Iran)
Ayaz Isazadeh (Department of Computer Science, Tabriz University, Tabriz, Iran)
Mehran Mohsenzadeh (Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran)
Mitra Mirzarezaee (Department of Computer Engineering, Science and Research Branch, Islamic Azad University, Tehran, Iran)

Data Technologies and Applications

ISSN: 2514-9288

Article publication date: 12 November 2020

Issue publication date: 13 January 2021

169

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 2n 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.

Keywords

Citation

Mohammad Javad Hosseini, S., Arasteh, B., Isazadeh, A., Mohsenzadeh, M. and Mirzarezaee, M. (2021), "An error-propagation aware method to reduce the software mutation cost using genetic algorithm", Data Technologies and Applications, Vol. 55 No. 1, pp. 118-148. https://doi.org/10.1108/DTA-03-2020-0073

Publisher

:

Emerald Publishing Limited

Copyright © 2020, Emerald Publishing Limited

Related articles