Reducing the Number of Higher-order Mutants with the Aid of Data Flow
Journal Title: e-Informatica Software Engineering Journal - Year 2016, Vol 10, Issue 1
Abstract
Higher-order mutants are created by injecting two or more mutations into the original program, while first-order mutants are generated by seeding single faults in the original program. Mutant generation is a key stage of mutation testing which is computationally very expensive, especially in the case of higher-order mutants. Although many mutation testing techniques have been developed to construct the first-order mutants, a very small number of techniques have been presented to generate the higher-order mutants because of the exponential growth of the number of higher-order mutants, and the coupling effect between higher-order and first-order mutants. To overcome the exponential explosion in the number of higher-order mutants considered, this paper introduces a new technique for generating a reduced set of higher-order mutants. The proposed technique utilizes a data-flow analysis to decrease the number of mutation points through the program under test and consequently reduce the number of higher-order mutants. In this technique only positions of emph defs and emph uses are considered as locations to seed the mutation. The generated set of higher-order mutants consists of a reduced number of mutants, which reduces the costs of higher-order mutation testing. In addition, the proposed technique can generate the higher-order mutants directly without generating the first-order mutants or by combining two or more first-order mutants. A set of experiments are conducted to evaluate the effectiveness of the proposed technique. The results of the conducted experiments are presented and compared with the results of the related work. These results showed that the proposed technique is more effective than the earlier techniques in generating higher-order mutants without affecting the efficiency of mutation testing.
Authors and Affiliations
Ahmed Ghiduk
Experience Report: Introducing Kanban into Automotive Software Project
The boundaries between traditional and agile approach methods are disappearing. A significant number of software projects require a continuous implementation of tasks without dividing them into sprints or strict project...
An Approach to Assessing the Quality of Business\ Process Models Expressed in BPMN
Introduction: The quality of business process models is important in the area of model-based software development. To the best knowledge of the author there is no working practical model for quality assessment of BPMN 2....
Generating Graphical User Interfaces from Precise Domain Specifications
Turning requirements into working systems is the essence of software engineering. This paper proposes automation of one of the aspects of this vast problem: generating user interfaces directly from requirements models. I...
Experience Report: Towards Extending an OSEK-Compliant RTOS with Mixed Criticality Support
Background: With an increase of the number of features in a vehicle, the computational requirements also increase, and vehicles may contain up to 100 Electronic Control Units (ECUs) to accommodate these requirements. For...
A Systematic Mapping Study on Software Measurement Programs in SMEs
Context: Software measurement programs are essential to understand, evaluate, improve and predict the software processes, products and resources. However, successful implementation of software measurement programs (MPs)...