Towards semantic mutation testing of aspect-oriented programs

Aspect-oriented programs have received much attention from software testing researchers. Various testing techniques and approaches have been proposed to tackle issues and challenges when testing aspect-oriented programs including traditional mutation testing. In traditional mutation testing of aspect-oriented programs, mutants are generated by making small changes to the syntax of the aspect-oriented language. Recently, a new approach known as semantic mutation testing has been proposed. This approach mutates the semantics of the language in which the program is written. The mutants generated misunderstandings of the language which are different classes of faults. Aspect-oriented programming presents itself with different properties that can be further explored with respect to semantic mutation testing. This paper describes various possible scenarios that semantic mutation testing strategy might have particular value in testing aspect-oriented programs.

[1]  Wynne Hsu,et al.  DESIGN OF MUTANT OPERATORS FOR THE C PROGRAMMING LANGUAGE , 2006 .

[2]  Mark Harman,et al.  Automated test data generation for aspect-oriented programs , 2009, AOSD '09.

[3]  Kang Zhang,et al.  A Classification of Aspect Composition Problems , 2009, 2009 Third IEEE International Conference on Secure Software Integration and Reliability Improvement.

[4]  K. N. King,et al.  A fortran language system for mutation‐based software testing , 1991, Softw. Pract. Exp..

[5]  Siobhán Clarke,et al.  MuAspectJ : Mutant Generation to Support Measuring the Testability of AspectJ Programs , 2008 .

[6]  Paulo Borba,et al.  Deriving refactorings for AspectJ , 2005, AOSD '05.

[7]  Jon Swane Baekken,et al.  A FAULT MODEL FOR POINTCUTS AND ADVICE , 2006 .

[8]  Ademar Aguiar,et al.  Towards detecting and solving aspect conflicts and interferences using unit tests , 2007, SPLAT.

[9]  Roger T. Alexander,et al.  Distributing classes with woven concerns: an exploration of potential fault scenarios , 2005, AOSD '05.

[10]  Yves Le Traon,et al.  Mutation Analysis Testing for Model Transformations , 2006, ECMDA-FA.

[11]  Weifeng Xu A Model-Based Approach to Test Generation for Aspect-Oriented Programs , 2005 .

[12]  SHAILENDRA MISHRA,et al.  Mutant Generation for Aspect Oriented Programs , 2011 .

[13]  Abdul Azim Abdul Ghani,et al.  A Survey on Aspect-Oriented Testing Approaches , 2007, 2007 International Conference on Computational Science and its Applications (ICCSA 2007).

[14]  Keqing He,et al.  Towards Trusted Aspect Composition , 2008, 2008 IEEE 8th International Conference on Computer and Information Technology Workshops.

[15]  Richard J. Lipton,et al.  Hints on Test Data Selection: Help for the Practicing Programmer , 1978, Computer.

[16]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[17]  Hewlett-Packard An Approach for Adequate Testing of AspectJ Programs , 2005 .

[18]  Hewlett-Packard,et al.  Adequate Testing of Aspect-Oriented Programs * , 2004 .

[19]  Arie van Deursen,et al.  A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw , 2005, ArXiv.

[20]  Laurent Bussard Safe aspect composition , 2000 .

[21]  Chuan Zhao,et al.  Testing AspectJ programs using fault-based testing , 2007, WTAOP@AOSD.

[22]  James M. Bieman,et al.  Towards the Systematic Testing of Aspect-Oriented Programs , 2004 .

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

[24]  Jon Swane Baekken A fault model for pointcuts and advice in AspectJ programs , 2006 .

[25]  Lodewijk Bergmans,et al.  An Analysis of Aspect Composition Problems , 2006 .

[26]  Robert M. Hierons,et al.  SMT-C: A Semantic Mutation Testing Tools for C , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

[27]  Mark Harman,et al.  An Analysis and Survey of the Development of Mutation Testing , 2011, IEEE Transactions on Software Engineering.

[28]  Ramnivas Laddad,et al.  Aspectj in Action: Practical Aspect-Oriented Programming , 2003 .

[29]  Ademar Aguiar,et al.  Testing aspect-oriented programs , 2010, 5th Iberian Conference on Information Systems and Technologies.

[30]  John A. Clark,et al.  Semantic mutation testing , 2013, Sci. Comput. Program..

[31]  Dianxiang Xu,et al.  State-based testing of integration aspects , 2006, WTAOP '06.

[32]  Dianxiang Xu,et al.  State-based incremental testing of aspect-oriented programs , 2006, AOSD.

[33]  Abdul Azim Abdul Ghani,et al.  Aspect-Oriented Program Testing: An Annotated Bibliography , 2013, J. Softw..

[34]  Tao Xie,et al.  A fault model and mutation testing of access control policies , 2007, WWW '07.

[35]  Roger T. Alexander,et al.  A Candidate Fault Model for AspectJ Pointcuts , 2006, 2006 17th International Symposium on Software Reliability Engineering.

[36]  Márcio Eduardo Delamaro,et al.  Mutation analysis testing for finite state machines , 1994, Proceedings of 1994 IEEE International Symposium on Software Reliability Engineering.

[37]  Rusli Abdullah,et al.  On the applicability of random testing for aspect-oriented programs. , 2009 .

[38]  Mario Luca Bernardi,et al.  Testing Aspect Oriented Programs: an Approach Based on the Coverage of the Interactions among Advices and Methods , 2007 .

[39]  Daniel Amyot,et al.  From aspect-oriented requirements models to aspect-oriented business process design models: an iterative and concern-driven approach for software engineering , 2011, AOSD '11.

[40]  Robert M. Hierons,et al.  Semantic Mutation Analysis of Floating-Point Comparison , 2012, 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation.

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

[42]  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).

[43]  Lodewijk Bergmans Towards Detection of Semantic Conflicts between Crosscutting Concerns , 2003 .

[44]  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.

[45]  Nikhil Kumar,et al.  Enabling the adoption of aspects - testing aspects: a risk model, fault model and patterns , 2009, AOSD '09.

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

[47]  Jianjun Zhao,et al.  Data-flow-based unit testing of aspect-oriented programs , 2003, Proceedings 27th Annual International Computer Software and Applications Conference. COMPAC 2003.

[48]  A. Jefferson Offutt,et al.  Mutation 2000: uniting the orthogonal , 2001 .

[49]  Fabiano Cutigi Ferrari,et al.  Characterising Faults in Aspect-Oriented Programs: Towards Filling the Gap Between Theory and Practice , 2010, 2010 Brazilian Symposium on Software Engineering.

[50]  R. Lipton,et al.  Mutation analysis , 1998 .

[51]  Mehmet Aksit,et al.  Reasoning About Semantic Conflicts Between Aspects , 2005 .

[52]  Adrian M. Colyer,et al.  Aspect-oriented programming with AspectJ , 2005, IBM Syst. J..

[53]  A. Jefferson Offutt,et al.  A mutation carol: Past, present and future , 2011, Inf. Softw. Technol..

[54]  Gunter Mussbacher,et al.  Aspect Oriented User Requirements Notation , 2007, MoDELS.

[55]  S.A.A. Naqvi,et al.  An evaluation of aspect oriented testing techniques , 2005, Proceedings of the IEEE Symposium on Emerging Technologies, 2005..

[56]  Jianjun Zhao,et al.  On Identifying Bug Patterns in Aspect-Oriented Programs , 2007, 31st Annual International Computer Software and Applications Conference (COMPSAC 2007).

[57]  Muhammad Amar,et al.  Systematic Review on Testing Aspect-orientedPrograms : Challenges, Techniques and Their Effectiveness , 2008 .

[58]  Fabiano Cutigi Ferrari,et al.  Towards the practical mutation testing of AspectJ programs , 2013, Sci. Comput. Program..

[59]  Roger T. Alexander,et al.  Towards a fault model for AspectJ programs: step 1 -- pointcut faults , 2006, WTAOP '06.

[60]  Chitra Babu,et al.  Fault model and test-case generation for the composition of aspects , 2009, SOEN.

[61]  W. Eric Wong,et al.  Mutation Testing Applied to Validate Specifications Based on Petri Nets , 1995, FORTE.

[62]  Dianxiang Xu,et al.  Testing Aspect-Oriented Programs with UML Design Models , 2008, Int. J. Softw. Eng. Knowl. Eng..

[63]  Auri Marcelo Rizzo Vincenzi,et al.  Control and data flow structural testing criteria for aspect-oriented programs , 2007, J. Syst. Softw..

[64]  Tao Xie,et al.  Efficient Mutant Generation for Mutation Testing of Pointcuts in Aspect-Oriented Programs , 2006, Second Workshop on Mutation Analysis (Mutation 2006 - ISSRE Workshops 2006).

[65]  João Araújo,et al.  Requirements Modeling with the Aspect-oriented User Requirements Notation (AoURN): A Case Study , 2010, LNCS Trans. Aspect Oriented Softw. Dev..

[66]  Cristina V. Lopes,et al.  Testing aspect-oriented programming Pointcut Descriptors , 2006, WTAOP '06.