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.
- 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.
- 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)
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.