Aspect-Oriented Software: Modeling, Verification, and Testing

Aspect-oriented programming (AOP) is a new programming paradigm that modularizes crosscutting concerns into aspects. While aspect-oriented software development can improve modularity, the new features also yield aspect-specific design defects and programming faults. New strategies, techniques, and practices are much needed for quality assurance of aspect-oriented software. This research aims at model-based quality assurance of aspects. We explore aspect-oriented extensions to various modeling notations (e.g., finite state machines, Petri nets, and UML) for verification and test generation purposes.

 


Aspect Modeling, Checking, and Testing with Finite State Machines

This research focuses on aspect-oriented modeling, checking and test code generation with finite state machines. The research progresses are integrated or being integrated in the MACT (Model-based Aspect/Class Checking and Testing) tool, which is based on UML protocol state machines.

  1. Dianxiang Xu, Izzat Alsmadi, and Weifeng Xu, Model Checking Aspect-Oriented Design Specification, Proc. of the 31st IEEE International Computer Software and Applications Conference (COMPSAC'07), Beijing, July 2007.
  2. Dianxiang Xu, Weifeng Xu, and W. Eric Wong. Automated Test Code Generation from UML Protocol State Machines, Proc. of the 19th International Conference on Software Engineering and Knowledge Engineering (SEKE'07), Boston, July 2007. (The automated generation of aspect tests in MACT shares the same infrastructure for test code generation)
  3. Dianxiang Xu and Weifeng Xu. State-Based Incremental Testing of Aspect-Oriented Programs. Proc. of the 5th International Conference on Aspect-Oriented Software Development (AOSD’ 2006), March 20-24, 2006. Bonn, Germany.
  4. Weifeng Xu and Dianxiang Xu. State-Based Testing of Integration Aspects. Proc. of the Second Workshop on Testing of Aspect-Oriented Programs (WTAOP’06). In conjunction with ISSTA’06, July 2006, USA.
  5. Dianxiang Xu, Weifeng Xu, and Kendall Nygard. A State-Based Approach to Testing Aspect-Oriented Programs. Proc. of the 17th International Conference on Software Engineering and Knowledge Engineering, Taiwan, July 2005. (This paper is the first official publication that reports our preliminary research on state-based testing of aspect-oriented programs)

 

Tool: MACT1.22 Beta Version. Note: MACT 1.22 beta does not include the parser, weaver, or checker for aspect-oriented state models, which are not yet intended for public use. It provides several sample aspect-oriented state models, together with generated woven state models. These woven models can be used to generate test cases and test code.

 


Aspect Modeling, Verification, and Test Code Generation with Petri Nets

This research focuses on aspect-oriented modeling, verification and test generation with Petri nets.

  1. Dianxiang Xu and Xudong He. Generation of Test Requirements from Aspectual Use Cases. Proc. of the Third Workshop on Testing Aspect-Oriented Programs (WTAOP’07). In conjunction with AOSD’07, pp. 17-22, March 2007, Vancouver, Canada. ACM Press.
  2. Dianxiang Xu and Kendall E. Nygard. Threat-Driven Modeling and Verification of Secure Software Using Aspect-Oriented Petri Nets. IEEE Transactions on Software Engineering. Vol. 32, No. 4, pp. 265-278, April 2006. Expanded version of the ASE'05 paper.
  3. Dianxiang Xu and Kendall Nygard. A Threat-Driven Approach to Modeling and Verifying Secure Software. Proc. of the 2005 IEEE/ACM International Conference on Automated Software Engineering (ASE'2005), November 7-11, 2005. California, USA.

 


Aspect Modeling and Testing with UML

This research focuses on extensions to UML diagrams for aspect-oriented modeling and test generation.

  1. Dianxiang Xu, Weifeng Xu, and W. Eric Wong, Testing Aspect-Oriented Programs with UML Design Models, International Journal of Software Engineering and Knowledge Engineering, To appear. Expanded version of the WTAOP'05 paper.
  2. Dianxiang Xu, Vivek Goel, Kendall Nygard, and W. Eric Wong. Aspect-Oriented Specification of Threat-Driven Security Requirements, International Journal of Computer Applications in Technology, Special Issue on Concern Oriented Software Evolution. To appear. Expanded version of the COMPSAC'06 paper.
  3. Dianxiang Xu, Vivek Goel, and Kendall Nygard. An Aspect-Oriented Approach to Security Requirements Analysis. Proc. of the 30th IEEE International Computer Software and Applications Conference (COMPSAC'06), pp. 79-82, Chicago, Sept. 2006.
  4. Weifeng Xu and Dianxiang Xu. A Model-Based Approach to Test Generation for Aspect-Oriented Programs. First Workshop on Testing Aspect-Oriented Programs (WTAOP'05), in conjunction with AOSD'05. Chicago, March 2005.