HOMAJ: A Tool for Higher Order Mutation Testing in AspectJ and Java

The availability of automated tool support is an important consideration for software developers before they can incorporate higher order mutation testing into their software development processes. This paper presents HOMAJ, a higher order mutation testing tool for AspectJ and Java. HOMAJ automates the process of generating and evaluating first order mutants (FOMs) and higher order mutants (HOMs). In particular, HOMAJ can be used to generate subtle HOMs, which are HOMs that cannot be killed by an existing test set that kills all the FOMs. Subtle HOMs can be valuable for improving test effectiveness because they can simulate complex and non-trivial faults that cannot be simulated with the use of traditional FOMs. HOMAJ implements a number of different techniques for generating subtle HOMs, including several search-based software engineering techniques, enumeration search, and random search. HOMAJ is designed in a modular way to make it easy to incorporate a new search strategy. In this paper we demonstrate the use of HOMAJ to evaluate the implemented techniques.

[1]  Lech Madeyski,et al.  Judy - a mutation testing tool for Java , 2010, IET Softw..

[2]  Mark Harman,et al.  A Manifesto for Higher Order Mutation Testing , 2010, 2010 Third International Conference on Software Testing, Verification, and Validation Workshops.

[3]  Andreas Zeller,et al.  Efficient mutation testing by checking invariant violations , 2009, ISSTA.

[4]  Mike Papadakis,et al.  Isolating First Order Equivalent Mutants via Second Order Mutation , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[5]  Fabiano Cutigi Ferrari,et al.  Automating the mutation testing of aspect-oriented Java programs , 2010, AST '10.

[6]  Yue Jia,et al.  MILU: A Customizable, Runtime-Optimized Higher Order Mutation Testing Tool for the Full C Language , 2008, Testing: Academic & Industrial Conference - Practice and Research Techniques (taic part 2008).

[7]  A. Jefferson Offutt,et al.  MuJava: a mutation system for java , 2006, ICSE.

[8]  Sang-Woon Kim,et al.  MUGAMMA: Mutation Analysis of Deployed Software to Increase Confidence and Assist Evolution , 2006, Second Workshop on Mutation Analysis (Mutation 2006 - ISSRE Workshops 2006).

[9]  Mark Harman,et al.  Constructing Subtle Faults Using Higher Order Mutation Testing , 2008, 2008 Eighth IEEE International Working Conference on Source Code Analysis and Manipulation.

[10]  Mark Harman,et al.  Multi Objective Higher Order Mutation Testing with Genetic Programming , 2009 .

[11]  S. Inglis,et al.  Jumble Java Byte Code to Measure the Effectiveness of Unit Tests , 2007, Testing: Academic and Industrial Conference Practice and Research Techniques - MUTATION (TAICPART-MUTATION 2007).

[12]  Tao Xie,et al.  Automated Generation of Pointcut Mutants for Testing Pointcuts in AspectJ Programs , 2008, 2008 19th International Symposium on Software Reliability Engineering (ISSRE).

[13]  Yves Le Traon,et al.  AjMutator: A Tool for the Mutation Analysis of AspectJ Pointcut Descriptors , 2009, 2009 International Conference on Software Testing, Verification, and Validation Workshops.

[14]  Fabiano Cutigi Ferrari,et al.  Mutation Testing for Aspect-Oriented Programs , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[15]  Fadi Wedyan,et al.  On generating mutants for AspectJ programs , 2012, Inf. Softw. Technol..

[16]  MaYu-Seung,et al.  MuJava: an automated class mutation system , 2005 .

[17]  Andy Oram,et al.  Managing Projects with Make , 1993 .

[18]  L. Darrell Whitley,et al.  Constructing subtle higher order mutants for Java and AspectJ programs , 2013, 2013 IEEE 24th International Symposium on Software Reliability Engineering (ISSRE).

[19]  K. S. How Tai Wah,et al.  An analysis of the coupling effect I: single test data , 2003, Sci. Comput. Program..

[20]  Pascale Thévenod-Fosse,et al.  A mutation analysis tool for Java programs , 2003, International Journal on Software Tools for Technology Transfer.

[21]  Ivan Moore Jester - a JUnit test tester , 2001 .

[22]  Mario Piattini,et al.  Decreasing the cost of mutation testing with second‐order mutants , 2009, Softw. Test. Verification Reliab..

[23]  A. Jefferson Offutt,et al.  Investigations of the software testing coupling effect , 1992, TSEM.

[24]  Sudipto Ghosh,et al.  An Exploratory Study of Higher Order Mutation Testing in Aspect-Oriented Programming , 2012, 2012 IEEE 23rd International Symposium on Software Reliability Engineering.

[25]  Mark Harman,et al.  Higher Order Mutation Testing , 2009, Inf. Softw. Technol..