Novel Approach to Automated Test Data Generation for AOP

Aspect oriented programming is a new programming paradigm. AOP is based on object oriented programming. Most of the researchers target this new paradigm towards the programming not for testing. Testing of aspect oriented programs is an emerging field of research as a very few research work is going on currently on ASP. In this paper, we investigate a new way of testing aspect oriented programs. Here we propose a framework of automated test data generation for evolutionary testing on AOP. On the basis of generated data we will compare evolutionary testing with random testing in terms of effort reduction and improvement of test effectiveness. We will justify our comparison with the help of empirical study on AspectJ programs.

[1]  Alessandro Orso,et al.  Automated Testing of Classes , 2000, ISSTA '00.

[2]  Margus Veanes,et al.  Generating finite state machines from abstract state machines , 2002, ISSTA '02.

[3]  Klaus Havelund,et al.  Model Checking Programs , 2004, Automated Software Engineering.

[4]  Sarfraz Khurshid,et al.  Generalized Symbolic Execution for Model Checking and Testing , 2003, TACAS.

[5]  Sarfraz Khurshid,et al.  Korat: automated testing based on Java predicates , 2002, ISSTA '02.

[6]  Debra J. Richardson,et al.  Towards A Practical Approach to Test Aspect-Oriented Software , 2004, SOQUA/TECOS.

[7]  Sarfraz Khurshid,et al.  Test input generation with java PathFinder , 2004, ISSTA '04.

[8]  David Notkin,et al.  Symstra: A Framework for Generating Object-Oriented Unit Tests Using Symbolic Execution , 2005, TACAS.

[9]  Michael D. Ernst,et al.  Mock object creation for test factoring , 2004, PASTE.

[10]  Jianjun Zhao,et al.  Tool Support for Unit Testing of Aspect-Oriented Software , 2002 .

[11]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

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

[13]  Tao Xie,et al.  Improving Generation of Object-Oriented Test Suites by Avoiding Redundant Tests , 2004 .

[14]  David Notkin,et al.  Rostra: a framework for detecting redundant object-oriented unit tests , 2004, Proceedings. 19th International Conference on Automated Software Engineering, 2004..

[15]  David Notkin,et al.  Detecting Redundant Unit Tests for AspectJ Programs , 2006, 2006 17th International Symposium on Software Reliability Engineering.

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

[17]  Karl J. Lieberherr,et al.  Aspect-oriented programming with adaptive methods , 2001, CACM.

[18]  Sigrid Eldh Software Testing Techniques , 2007 .

[19]  Dianxiang Xu,et al.  A State-Based Approach to Testing Aspect-Oriented Programs , 2005, SEKE.

[20]  McMinnPhil Search-based software test data generation: a survey , 2004 .

[21]  Lodewijk Bergmans,et al.  Composing crosscutting concerns using composition filters , 2001, CACM.

[22]  Stanley M. Sutton,et al.  N degrees of separation: multi-dimensional separation of concerns , 1999, Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).

[23]  Yannis Smaragdakis,et al.  JCrasher: an automatic robustness tester for Java , 2004, Softw. Pract. Exp..

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

[25]  Lori Pollock,et al.  Testing with Respect to Concerns , 2003 .

[26]  Jim Hugunin,et al.  Advice weaving in AspectJ , 2004, AOSD '04.

[27]  David W. Binkley,et al.  Program slicing , 2008, 2008 Frontiers of Software Maintenance.

[28]  Martin C. Rinard,et al.  A classification system and analysis for aspect-oriented programs , 2004, SIGSOFT '04/FSE-12.

[29]  Ken Arnold,et al.  The Java Programming Language , 1996 .

[30]  Hong Zhu,et al.  Software unit test coverage and adequacy , 1997, ACM Comput. Surv..