The AMR project

Sometimes, the project's web-site could be more up-to-date than this page, although I try to keep them synchronized ... at least, the list of publications.

The AMR project is part of my PhD work at Delft University of Technology.

The goal of this research project is to develop techniques and tools that help software engineers in dealing with the code complexity and, in particular, with crosscutting concerns -- functionality whose implementation lacks modularity (in object-oriented systems) resulting in code that is hard to understand and maintain.

 

The project delivers an integrated system to identify and manage crosscutting concerns in source code, including the refactoring of the code implementing these concerns using aspect-oriented techniques.

The first main part of the project targets the automatic identification of crosscutting concerns in existing code, the so-called aspect mining step. To support aspect mining, I have designed and implemented a number of source code analysis techniques able to support, independently and in combination, the automatic recognition of crosscutting concerns "smells". The results of the mining process provide the starting points for recognizing and further exploring crosscutting concerns in software systems.

The second part aims to consistently document these findings and their associated concerns. To this end, I  have investigated the use of code queries as a solution to modularize and document crosscutting concerns. The tool support that I have developed to support the mining and then the query-based modeling and documentation of crosscutting concerns is freely available: FINT and SoQueT.

Last but not least, the project is looking into assessing how aspect-oriented techniques and languages can be employed to refactor the crosscutting concerns identified using the mining techniques above. This part of the project includes a show-case for refactoring crosscutting concerns found in a object-oriented framework, namely the JHotDraw application, using AspectJ. The refactored porject using aspects is AJHotDraw and is available as an open source project. The AJHotDraw experience also helps to assess how aspect-oriented languages improve the evolvability of software systems.

 

Others

Tools and open-source projects:

FINT - tool support for aspect mining. The tool supports a number of analyses like Fan-in, Grouped calls and Redirections finder.

SoQueT - tool support for modeling and documenting instances of typical crosscutting concerns using queries.

AJHotDraw - an aspect-oriented refactoring of the JHotDraw framework. For more details see the SCAM 2007 paper.

 

 

Organization

1st Workshop on Aspect Reverse Engineering in conjuction with WCRE 2004 (WARE 2004)

The Ninth ASTReNet Workshop IEEE International Astrenet Aspect Analysis Workshop (panel) (AAA 2006)

Workshop on Linking Aspect Technology and Evolution held in conjuction with AOSD 2007 (LATE 2007)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PhD dissertation
M. Marin - An Integrated System to Manage Crosscutting Concerns in Source Code (Delft University of Technology - Software Engineering)
 
Journals
M. Marin, A. van Deursen, L. Moonen, R. van der Rijst - An integrated crosscutting concern migration strategy and its semi-automated application to JHotDraw. Automated Software Engineering Journal (JASE), Vol. 16, No. 2, 2009. (pdf)
 
M. Marin, A. van Deursen, L. Moonen - Identifying Crosscutting Concerns Using Fan-in Analysis. ACM Transactions on Software Engineering and Methodology (TOSEM), Vol. 17, Issue 1, 2007. Earlier version available as Technical report TUD-SERG-2006-013
 
M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, T. Tourwe - Applying and Combining Three Different Aspect Mining Techniques. Software Quality Journal 14(3), 2006. (pdf)
 
 
Proceedings conferences
 
M. Marin, L. Moonen, A. van Deursen - An Integrated Crosscutting Concern Migration Strategy and its Application to JHotDraw. In Proc. of the 7th IEEE Conference on Source Code Analysis and Manipulation (SCAM), 2007. (pdf)
 
M. Marin, L. Moonen, A. van Deursen - Documenting Typical Crosscutting Concerns. In Proc. of the 14th IEEE Conference on Reverse Engineering, 2007.(pdf)
 
M. Marin, L. Moonen, A. van Deursen - SoQueT: Query-Based Documentation of Crosscutting Concerns. In Proc. of the 29th International Conference on Software Engineering (ICSE), 2007.
 
M. Marin, L. Moonen, A. van Deursen - A common framework for aspect mining based on crosscutting concern sorts. In Proc. of the 13th IEEE Working Conference on Reverse Engineering (WCRE), 2006. (pdf)
 
M. Marin, L. Moonen, A. van Deursen - FINT: Tool support for aspect mining. In Proc. of the 13th IEEE Working Conference on Reverse Engineering (WCRE), 2006.
 
Marius Marin, Leon Moonen, Arie van Deursen - A classification of crosscutting concerns. In Proc. 21st IEEE International Conference on Software Maintenance (ICSM), 2005. (pdf, bib)  .
 
M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, T. Tourwe - A Qualitative Comparison of Three Aspect Mining Techniques. In Proc. 13th IEEE International Workshop/Conference on Program Comprehension (IWPC/ICPC), 2005. (pdf, bib)
 
Marius Marin, Arie van Deursen, Leon Moonen - Identifying Aspects using Fan-in Analysis. In Proc. 11th IEEE Working Conference on Reverse Engineering (WCRE), 2004 (pdf, report, bib)
 
 
Workshops
(These papers are typically covered by the conference papers)
 
Marius Marin - Reasoning about assessing and improving the candidate-seed quality for a generative aspect mining technique. In Linking Aspect Technology and Evolution Workshop (LATE) at AOSD, 2006. (pdf)
 
Marius Marin, Leon Moonen, Arie van Deursen - An Approach to Aspect Refactoring Based on Crosscutting Concern Types. In Proceedings International Workshop on the Modeling and Analysis of Concerns in Software (MACS) at ICSE, 2005. (pdf, bib)
 
Marius Marin - Refactoring JHotDraw's Undo concern to AspectJ. In Proceedings of the Workshop on Aspect Reverse Engineering (WARE), 2004 (pdf, bib)
 
Arie van Deursen, Marius Marin, Leon Moonen - AJHotDraw: A showcase for refactoring to aspects. In Proc. Linking Aspect Technology and Evolution Workshop (LATE) at AOSD, 2005 (pdf, bib)
 
Arie van Deursen, Marius Marin, Leon Moonen - Aspect Mining and Refactoring. In Proceedings First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE). University of Waterloo, 2003. (pdf, bib)
-------------------------------------------------------------------------
Arie van Deursen, Marius Marin, Leon Moonen - A Systematic Aspect-Oriented Refactoring and Testing Strategy, and its Application to JHotDraw. Technical Report cs.SE/0503015 (arxiv.org) or SEN-R0507 (CWI) (pdf, bib)
 
Research areas related to the project

 

Reverse engineering

Program comprehension

Program analysis

Concern modeling, design patterns

Refactoring of object-oriented systems

Aspect-oriented programming

 
 
Marius M.