Multi-objective test suite optimization for detection and localization of software faults

Abstract Testing of software is done with an intention to find faults. If a fault is there then it needs to be detected, located and then resolved. Fault detection and localization are adjoining activities and thus it is difficult to combine them. Fault detection requires test information that helps in detecting the faults early whereas fault localization requires information which helps in locating the faults accurately. But test information is one common thing that is required for both the activities. This pre-condition helps to effectively combine both fault detection and localization. In this research work, a code and mutant coverage based multi-objective approach has been proposed to produce a minimized test suite having the ability of both detecting and locating faults. For optimization of test cases, NSGA-II algorithm has been used. Results on the projects of Defects4j repository depicts that the proposed approach is able to produce minimized test suites having the capability of detecting 95.16% of faults and locating all detected faults with fault localization score almost equivalent to that of the complete test suite. The average percentage of reduction in test suite size is 78% which is a good reduction percentage with the given fault detection and localization scores.

[1]  Giuseppe Scanniello,et al.  A Multi-Objective Technique to Prioritize Test Cases Based on Latent Semantic Indexing , 2012, 2012 16th European Conference on Software Maintenance and Reengineering.

[2]  W. Eric Wong,et al.  The DStar Method for Effective Software Fault Localization , 2014, IEEE Transactions on Reliability.

[3]  Manoj Kumar Pachariya,et al.  An Insight Into Test Case Optimization: Ideas and Trends With Future Perspectives , 2019, IEEE Access.

[4]  Dianxiang Xu,et al.  Towards Better Fault Localization: A Crosstab-Based Statistical Approach , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[5]  Andrea De Lucia,et al.  Improving Multi-Objective Test Case Selection by Injecting Diversity in Genetic Algorithms , 2015, IEEE Transactions on Software Engineering.

[6]  Lee Naish,et al.  A model for spectra-based software diagnosis , 2011, TSEM.

[7]  Mark Harman,et al.  Fault localization prioritization: Comparing information-theoretic and coverage-based approaches , 2013, TSEM.

[8]  Robert M. Hierons,et al.  Multi-objective optimisation for regression testing , 2016, Inf. Sci..

[9]  Bestoun S. Ahmed,et al.  Achievement of minimized combinatorial test suite for configuration-aware software functional testing using the Cuckoo Search algorithm , 2015, Inf. Softw. Technol..

[10]  Dun-Wei Gong,et al.  Epistasis Based ACO for Regression Test Case Prioritization , 2017, IEEE Transactions on Emerging Topics in Computational Intelligence.

[11]  Barry W. Boehm,et al.  Software Engineering Economics , 1993, IEEE Transactions on Software Engineering.

[12]  Gregg Rothermel,et al.  An experimental determination of sufficient mutant operators , 1996, TSEM.

[13]  Mark Harman,et al.  GPGPU test suite minimisation: search based software engineering performance improvement using graphics cards , 2013, Empirical Software Engineering.

[14]  H. Enderton Elements of Set Theory , 1977 .

[15]  Yves Le Traon,et al.  Metallaxis‐FL: mutation‐based fault localization , 2015, Softw. Test. Verification Reliab..

[16]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[17]  Shujuan Jiang,et al.  Cost-effective testing based fault localization with distance based test-suite reduction , 2016, Science China Information Sciences.

[18]  Peter Zoeteweij,et al.  A practical evaluation of spectrum-based fault localization , 2009, J. Syst. Softw..

[19]  Shin Yoo,et al.  A Theoretical and Empirical Study of Diversity-Aware Mutation Adequacy Criterion , 2018, IEEE Transactions on Software Engineering.

[20]  Sang-Woon Kim,et al.  Mutation testing cost reduction by clustering overlapped mutants , 2016, J. Syst. Softw..

[21]  Manoj Kumar Pachariya,et al.  A novel approach for mutant diversity-based fault localization: DAM-FL , 2019, International Journal of Computers and Applications.

[22]  Wang Tiantian,et al.  A test-suite reduction approach to improving fault-localization effectiveness , 2013 .

[23]  Tao Xie,et al.  Test input reduction for result inspection to facilitate fault localization , 2010, Automated Software Engineering.

[24]  Antonio Ruiz Cortés,et al.  Multi-objective test case prioritization in highly configurable systems: A case study , 2016, J. Syst. Softw..

[25]  Mark Harman,et al.  Using hybrid algorithm for Pareto efficient multi-objective test suite minimisation , 2010, J. Syst. Softw..