ASPECT FLOW GRAPH FOR TESTING ASPECT-ORIENTED PROGRAMS

Our research deals with combining state models (class and aspect) and flow graphs (method and advice) as an aspect scope coverage model for producing test suites. Essentially, the result is a hybrid testing model which is a combination of a responsibility-based testing model and an implementation-based testing model. We are interested in deriving test suites that cross classes and aspects. The approach consists of merging the class state model and the aspect state model into an aspect scope state model (ASSM). The ASSM allows us to trace the behaviour of aspect-oriented programs (AOP) by identifying sequence results of the states transitions of the AOP. Next, guided by ASSM, the transitions between the class and the aspect, and corresponding actions, are substituted by the advice and method flow graphs to construct an aspect flow graph (AFG). In addition to the AFG, a transition tree for the generic collection of behaviour model is generated in terms of ASSM and an invariant boundary set of the parameters alone with the parameter relationships that determine behaviours. Given the AFG and the transition tree, we can refine more concert, executable code-based test suites.

[1]  D. J. Robson,et al.  A Suite of Tools for the State- Based Testing of Object- Oriented Programs , 1993 .

[2]  Gerard J. Holzmann,et al.  An Automated Verification Method for Distributed Systems Software Based on Model Extraction , 2002, IEEE Trans. Software Eng..

[3]  David J. Robson,et al.  The state-based testing of object-oriented programs , 1993, 1993 Conference on Software Maintenance.

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

[5]  Martin Rinard,et al.  System Dependence Graph Construction for Aspect-Oriented Programs , 2003 .

[6]  Grady Booch,et al.  Object-Oriented Design with Applications , 1990 .

[7]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[8]  Gill Smith,et al.  Object-oriented analysis , 1988, WADAS '88.

[9]  David Chenho Kung,et al.  Class Firewall, Test Order, and Regression Testing of Object-Oriented Programs , 1995, J. Object Oriented Program..

[10]  InverardiPaola,et al.  Using Software Architecture for Code Testing , 2004 .

[11]  Antonia Bertolino,et al.  Using Spanning Sets for Coverage Testing , 2003, IEEE Trans. Software Eng..

[12]  Robert V. Binder,et al.  Testing Object-Oriented Systems: Models, Patterns, and Tools , 1999 .

[13]  Naoyasu Ubayashi,et al.  Aspect-oriented programming with model checking , 2002, AOSD '02.

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

[15]  Henry Muccini,et al.  Using software architecture for code testing , 2004, IEEE Transactions on Software Engineering.

[16]  Oege de Moor,et al.  Static analysis of aspects , 2003, AOSD '03.

[17]  William L. Oberkampf,et al.  Guide for the verification and validation of computational fluid dynamics simulations , 1998 .