Legacy Systems Maintenance through Aspect-Oriented Programming



Aspect mining

Aspect refactoring

Legacy Systems Maintenance through Aspect-Oriented Programming

Crosscutting concerns hinders software evolution. Such crosscutting concerns are features of a program that can not be cleanly modularized given the current modular decomposition of the program. Aspect-Oriented Software Development (AOSD) is a paradigm that aims to better the separation of concerns in software and hence improve its maintainability and evolution. However the migration of an object-oriented software system into an aspect-oriented one is far from being a trivial task. Due to the large size of the implementation and the lack of sound documentation there is a need for tools that automate the identification, quantification and refactorization of crosscutting concern into aspects of the new systems.

The main purpose for this project is the development of tools and techniques that automate the identification of crosscutting concerns (aspect mining) and its encapsulation as aspects of the system (aspect refactoring). We are working in the following directions:

  • Development of aspect mining techniques based on dynamic analysis and crosscutting concern sorts.
  • Development of aspect refactoring tools to assist a software developer in the encapsulation of crosscutting concerns identified by aspect mining techniques.
  • Development of tools and techniques to ease the evolution of aspect-oriented software systems.


Here you will find the complete list of publications for the project.

Aspect Mining

Aspect mining research aims at providing tools and techniques for the identification of crosscutting concerns in existing code. Our research in this field, involves the use of dynamic analysis and data mining techniques for aspect identification. We are also working on the development of new study cases in order to provide more aspect mining benchmarks to the community.

Aspect Refactoring

Aspect refactoring looks to provide mechanisms or strategies of code restructuring that take into account the presence of aspects in the source code with the goal of migrating  an object-oriented (OO) system into an aspect-oriented (AO) system or improving an aspect-oriented system code. Our research in this field involves the development of tools and techniques that allow the automatic or semi automatic migration of OO systems into AO ones using artificial intelligence techniques such as association rules or Markov models.



Copyright © 2009 ISISTAN. All rights reserved.