 |
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 tool support to aid software engineers in
better dealing with the complexity of existing (object-oriented) systems, and in particular with
crosscutting concerns in these systems. Crosscutting concerns are acknowledged to be a challenge to
program comprehension and maintenance due to their lack of modularity --
the implementation of such concerns is not assigned to a
dedicated
modularization unit, but is scattered over several modules and tangled with code that belongs to
other concerns.
|
|
|
The project's goals cover various steps towards increasing awareness
and improving management of crosscutting concerns in existing
systems, as well as towards migrating such concerns to
aspect-oriented programming through refactoring.
One first step consists of 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 ("bad smells" specific to) crosscutting concerns. The results of the mining process
provide us with the starting points for exploring crosscutting
concerns in unknown systems.
A second step is to consistently document these findings and their associated
concerns.
To this end, I investigate the use of code queries as a solution to modularizing
and documenting crosscutting concerns.
The tool support that I actively develop to support the mining and modeling/documentation
of crosscutting concerns is freely available:
FINT and
SoQueT.
A subsequent step towards improving the modularity of a system is the refactoring to aspects of
the crosscutting concerns; this
starts from the identified concerns and is aimed at showing and
applying a systematic process to migrate object-oriented systems to
aspect-oriented ones. The show-case I am working on is the refactoring
to ApsectJ of a popular object-oriented framework, namely the
JHotDraw application. The aspect version is called
AJHotDraw
and is available as an
open source project.
The AJHotDraw experience helps us to assess how aspect-oriented
languages help us to improve evolvability of software systems.
|
 |
|
|
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)
|
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
|
|
| |
|
|
|