|
|
Project summary
Aspect-based refactoring, called aspectualization, involves moving program
code that implements cross-cutting concerns into aspects. Such refactoring
can improve the maintainability of legacy systems.
Long compilation and weave times,
and the lack of an appropriate testing methodology %for aspect-oriented software are
are two challenges to the aspectualization of large legacy systems.
We propose an iterative test driven approach for creating and introducing
aspects. The approach uses mock systems that enable aspect developers to
quickly experiment with different pointcuts and advice, and reduce the compile
and weave times.
The approach also uses weave analysis, regression testing,
and code coverage analysis to test the aspects.
We developed several tools for unit and integration testing.
We demonstrate the test driven approach in
the context of large industrial C++ systems, and we provide guidelines for
mock system creation.
Student
Collaborators
Publications
- Michael Mortensen, Sudipto Ghosh, and James Bieman. A Test Driven Approach for Aspectualizing Legacy Software Using Mock Systems, accepted to the Journal of Information and Software Technology, 2007.
- Michael Mortensen and Sudipto Ghosh. Refactoring Idiomatic Exception Handling in C++: Throwing and Catching Exceptions with Aspects, International Conference on Aspect-Oriented Software Development (AOSD) Industry Track Vancouver, British Columbia, Canada, March 12-16, 2007. PDF Preprint
- Michael Mortensen, Sudipto Ghosh, and James Bieman. Testing During Refactoring: Adding Aspects to Legacy Systems, 17th International Symposium on Software Reliability Engineering (ISSRE), Raliegh, NC, November 2006. PDF Preprint
- Michael Mortensen and Sudipto Ghosh. Using Aspects with Object-Oriented Frameworks, International Conference on Aspect-Oriented Software Development (AOSD) Industry Track Bonn, Germany, March 20-24, 2006. PDF Preprint PPT
- Michael Mortensen and Sudipto Ghosh. Creating Pluggable and Reusable Non-functional Aspects in AspectC++, Fifth AOSD Workshop on ACP4IS, Bonn, Germany, March 21, 2006. PDF Preprint
Useful links
|