Modeling and Testing of Aspect-Oriented Systems

ECU Author/Contributor (non-ECU co-authors, if there are any, appear on document)
Wenhuan Jiang (Creator)
East Carolina University (ECU )
Web Site:
Junhua Ding

Abstract: Aspect-Oriented programming modularizes crosscutting concerns into Aspects which are automatically weaved to the specified points of a program. Although Aspect-Oriented programming improves program maintainability and the encapsulation of crosscutting concerns it also breaks some traditional programming rules due to the weaving mechanism. Therefore a new software testing approach has to be developed to rigorously test Aspect-Oriented programs. In this thesis we introduce the concept of Aspect modeling and Aspect testing and then proceed to our investigation of a model-based incremental approach for testing Aspect-Oriented programs. First a state machine model in UML is created for each Aspect and each base class which is the class to be weaved with the aspect. Then each individual aspect or base class is tested using the test cases generated from state machine models. A combined state machine model is established by weaving the aspect model into the base class model. Finally we perform a test on the woven program using test cases generated from the combined state machine model. Because the number of scenarios for weaving aspects and base classes could be very large it may require a huge number of test cases to effectively test the program. To speed up the process we propose a prioritizing strategy for selecting test cases in order to find errors sooner since different test cases have different capacity for tracking errors. We demonstrate that the test cases generated from the state machine model have to satisfy the adequacy of the transition coverage the round-trip coverage and the state coverage in the state machine model. Furthermore the prioritizing strategy is developed based on the number of changes brought by weaving of an aspect and its base classes. The test case including more changes will have a higher priority. The effectiveness of the investigated strategy is evaluated through the case study and the mutation testing. The result of case study shows that the model-based incremental approach integrated with prioritizing test case selection provides an effective tool for testing large-scale Aspect-Oriented systems. 

Additional Information

Date: 2012
Computer science, Computer engineering, Aspect-Oriented Modeling, Aspect-Oriented Testing
Aspect-oriented programming
Computer programming--Testing

Email this document to

This item references:

TitleLocation & LinkType of Relationship
Modeling and Testing of Aspect-Oriented Systems described resource references, cites, or otherwise points to the related resource.