On the Preliminary Adaptive Random Testing of Aspect-Oriented Programs

Adaptive random testing (ART) is a new family of random-based test data generation and selection strategies that enhances the effectiveness of tests over the classical random testing (RT). ART has been widely investigated and studied in numerous research papers over the recent years. These studies have included proposing various techniques for implementing and improving the intuition behind ART (evenly spread of test cases over the input domain, measured by some distance measures) generally for procedural programs with numerical input domain and most recently object-oriented programs. However, there is currently no work available in the literature that discusses the applicability of ART to aspect-oriented programming (AOP), as it is gaining popularity in software development. Inspired by this, this paper aims to investigate the possible ways that ART can be applied to AOP. This investigation focuses on a multi-perspective analysis of the current ART-based techniques. In this respect, we identified three related perspectives based on the current state of art in the area of ART. Each perspective was analyzed in terms of its applicability and possibility for aspect-oriented programs, particularly its constituent distance measure. As a result, our study gives rise to some interesting points and outlines a number of potential research directions in applying ART to AOP. This can pave the way for efficient development on applying of ART to AOP and finally AOP success.

[1]  Mario Luca Bernardi,et al.  An Interprocedural Aspect Control Flow Graph to Support the Maintenance of Aspect Oriented Systems , 2007, ICSM.

[2]  Johannes Mayer,et al.  An empirical analysis and comparison of random testing techniques , 2006, ISESE '06.

[3]  T. Y. Chen,et al.  Adaptive Random Testing , 2004, ASIAN.

[4]  Zhi Quan Zhou Using Coverage Information to Guide Test Case Selection in Adaptive Random Testing , 2010, 2010 IEEE 34th Annual Computer Software and Applications Conference Workshops.

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

[6]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[7]  Mario Jino,et al.  Improving random test sets using the diversity oriented test data generation , 2007, RT '07.

[8]  Tsong Yueh Chen,et al.  Good Random Testing , 2004, Ada-Europe.

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

[10]  Huai Liu,et al.  Distributing test cases more evenly in adaptive random testing , 2008, J. Syst. Softw..

[11]  Rusli Abdullah,et al.  Towards a Framework for Automated Random Testing of Aspect-Oriented Programs , 2009, SEDE.

[12]  Tao Xie,et al.  A framework and tool supports for generating test inputs of AspectJ programs , 2006, AOSD.

[13]  Catherine Oriat,et al.  Jartege: A Tool for Random Generation of Unit Tests for Java Classes , 2004, QoSA/SOQUA.

[14]  T. H. Tse,et al.  Adaptive Random Test Case Prioritization , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

[15]  Bertrand Meyer,et al.  Automatic Testing of Object-Oriented Software , 2007, SOFSEM.

[16]  Johannes Mayer,et al.  Restricted Adaptive Random Testing by Random Partitioning , 2006, Software Engineering Research and Practice.

[17]  Tsong Yueh Chen,et al.  Enhanced lattice-based adaptive random testing , 2009, SAC '09.

[18]  Dave Towey,et al.  Restricted Random Testing: Adaptive Random Testing by Exclusion , 2006, Int. J. Softw. Eng. Knowl. Eng..

[19]  Tsong Yueh Chen,et al.  On Favourable Conditions for Adaptive Random Testing , 2007, Int. J. Softw. Eng. Knowl. Eng..

[20]  Huai Liu,et al.  Application of a Failure Driven Test Profile in Random Testing , 2009, IEEE Trans. Reliab..

[21]  Tsong Yueh Chen,et al.  Adaptive random testing through dynamic partitioning , 2004, Fourth International Conference onQuality Software, 2004. QSIC 2004. Proceedings..

[22]  Bertrand Meyer,et al.  Object distance and its application to adaptive random testing of object-oriented programs , 2006, RT '06.

[23]  Johannes Mayer,et al.  Adaptive Random Testing by Bisection with Restriction , 2005, ICFEM.

[24]  Tsong Yueh Chen,et al.  Efficient and effective random testing using the Voronoi diagram , 2006, Australian Software Engineering Conference (ASWEC'06).

[25]  Tsong Yueh Chen,et al.  Adaptive random testing by localization , 2004, 11th Asia-Pacific Software Engineering Conference.

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

[27]  T. Y. Chen,et al.  Adaptive random testing by balancing , 2007, RT '07.

[28]  Yu Liu,et al.  An Experimental Evaluation of the Reliability of Adaptive Random Testing Methods , 2008, 2008 Second International Conference on Secure System Integration and Reliability Improvement.

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

[30]  Huai Liu,et al.  Enhancing adaptive random testing for programs with high dimensional input domains or failure-unrelated parameters , 2008, Software Quality Journal.

[31]  Marc J. Balcer,et al.  The category-partition method for specifying and generating fuctional tests , 1988, CACM.

[32]  Dave Towey,et al.  A revisit of adaptive random testing by restriction , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[33]  Huai Liu,et al.  Adaptive random testing based on distribution metrics , 2009, J. Syst. Softw..

[34]  Simeon C. Ntafos,et al.  An Evaluation of Random Testing , 1984, IEEE Transactions on Software Engineering.

[35]  Jianjun Zhao,et al.  A Divergence-Oriented Approach to Adaptive Random Testing of Java Programs , 2009, 2009 IEEE/ACM International Conference on Automated Software Engineering.

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

[37]  Siu-Ming Yiu,et al.  Adaptive random testing with CG constraint , 2004, Proceedings of the 28th Annual International Computer Software and Applications Conference, 2004. COMPSAC 2004..

[38]  Huai Liu,et al.  Does Adaptive Random Testing Deliver a Higher Confidence than Random Testing? , 2008, 2008 The Eighth International Conference on Quality Software.

[39]  Bertrand Meyer,et al.  ARTOO: adaptive random testing for object-oriented software , 2008, ICSE.

[40]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[41]  Abdul Azim Abdul Ghani,et al.  AJcFgraph - AspectJ Control Flow Graph Builder for Aspect-Oriented Software , 2008, ICSC 2008.

[42]  Johannes Mayer,et al.  Lattice-based adaptive random testing , 2005, ASE.

[43]  Ps Loo,et al.  Random testing revisited , 1988 .

[44]  Tsong Yueh Chen,et al.  On the statistical properties of the F-measure , 2004, Fourth International Conference onQuality Software, 2004. QSIC 2004. Proceedings..

[45]  Yong Lei,et al.  Tool support for randomized unit testing , 2006, RT '06.

[46]  Jiongmin Zhang,et al.  A new method to solve the “Boundary Effect” of Adaptive random testing , 2010, 2010 International Conference on Educational and Information Technology.

[47]  Tsong Yueh Chen,et al.  On Adaptive Random Testing Through Iterative Partitioning , 2006, J. Inf. Sci. Eng..

[48]  D. Notkin,et al.  Automated Test Generation for AspectJ Programs , 2005 .

[49]  Koushik Sen,et al.  DART: directed automated random testing , 2005, PLDI '05.

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

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

[52]  Johannes Mayer,et al.  Adaptive Random Testing by Bisection and Localization , 2005, FATES.

[53]  Huai Liu,et al.  Enhancing Adaptive Random Testing through Partitioning by Edge and Centre , 2007, 2007 Australian Software Engineering Conference (ASWEC'07).

[54]  Tsong Yueh Chen,et al.  Adaptive Random Testing: The ART of test case diversity , 2010, J. Syst. Softw..

[55]  Johannes Mayer Adaptive random testing with randomly translated failure region , 2006, RT '06.

[56]  Daniel P. Friedman,et al.  Aspect-Oriented Programming is Quantification and Obliviousness , 2000 .

[57]  Renaud Pawlak,et al.  Foundations of AOP for J2EE Development , 2005 .

[58]  Tsong Yueh Chen,et al.  Mirror adaptive random testing , 2004, Inf. Softw. Technol..

[59]  Carl K. Chang,et al.  Practical Extensions of a Randomized Testing Tool , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

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

[61]  Tsong Yueh Chen,et al.  Is adaptive random testing really better than random testing , 2006, RT '06.

[62]  Tsong Yueh Chen,et al.  Quasi-Random Testing , 2005, IEEE Transactions on Reliability.

[63]  Bertrand Meyer,et al.  On the Predictability of Random Tests for Object-Oriented Software , 2008, 2008 1st International Conference on Software Testing, Verification, and Validation.

[64]  Tsong Yueh Chen,et al.  Adaptive random testing through iterative partitioning revisited , 2006, SOQUA '06.

[65]  James Miller,et al.  A Novel Evolutionary Approach for Adaptive Random Testing , 2009, IEEE Transactions on Reliability.

[66]  Shiyi Xu,et al.  Orderly Random Testing for Both Hardware and Software , 2008, 2008 14th IEEE Pacific Rim International Symposium on Dependable Computing.

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