Skip to topic | Skip to bottom


Home

Main
Main.AmrProjectr1.5 - 11 Apr 2005 - 13:12 - ArieVanDeursen

Start of topic | Skip to actions

Aspect Mining and Refactoring

An important current direction in software engineering research addresses so-called "crosscutting concerns", aspects such as error handling or tracing that are inherently difficult to modularize. This gives rise to the aspect-oriented programming paradigm, in which code generation techniques are used to deal with cross cutting concerns.

Promising as aspect-oriented programming may seem for systems that are yet to be built, it is less clear how aspects can help improving the quality of existing object-oriented software systems. The purpose of the Aspect Mining and Refactoring (AMR) project is to develop concepts, principles, methods and tools supporting the identification of aspects in existing object-oriented software systems as well as their subsequent refactoring into aspect-oriented systems. The research involves the automated analysis of object-oriented (Java) systems, the creation of novel program analysis and transformation techniques, and the validation of the research results on industrial strength software systems.

Publications

  • M. Marin - An Integrated System to Manage Crosscutting Concerns in Source Code. PhD Thesis at Delft University of Technology. Manuscript approved by the committee in October, 2007. (pdf)

  • M. Marin, L. Moonen, A. van Deursen - Documenting Typical Crosscutting Concerns. In Proceedings of the 14th IEEE Conference on Reverse Engineering, 2007 (TUD-SERG-2007-010)

  • M. Marin, L. Moonen, A. van Deursen - A systematic crosscutting concern migration strategy and its application to JHotDraw. In Proceedings of the Seventh IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM), 2007 (TUD-SERG-2007-019)

  • M. Marin, L. Moonen, A. van Deursen - SoQueT: Query-Based Documentation of Crosscutting Concerns. In Proceedings 29th International Conference on Software Engineering (ICSE), 2007 - Formal Reseach Demonstration

  • M. Marin, A. van Deursen , L. Moonen - Identifying Crosscutting Concerns Using Fan-in Analysis. ACM Transactions on Software Engineering and Methodology (TOSEM), 17(1), January 2008 - Earlier version available as Technical report TUD-SERG-2006-013

  • M. Marin, L. Moonen, A. van Deursen - A common framework for aspect mining based on crosscutting concern sorts. In Proceedings 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 Proceedings of the 13th Working Conference on Reverse Engineering (WCRE), 2006. (pdf)

  • M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, T. Tourwe - Applying and Combining Three Different Aspect Mining Techniques. Software Quality Journal, Volume 14, Issue 3 (September 2006) (pdf)

  • M. Marin - Reasoning about assessing and improving the candidate-seed quality for a generative aspect mining technique. In Linking Aspect Technology and Evolution Workshop at AOSD, 2006. (pdf)

  • M. Marin, L. Moonen, and A. van Deursen. A Classification of Crosscutting Concerns. In Proceedings IEEE International Conference on Software Maintenance (ICSM 2005), 2005. (pdf, bib)

  • M. Marin, A. van Deursen, and L. Moonen. Identifying Aspects using Fan-in Analysis. In Proceedings of the 11th IEEE Working Conference on Reverse Engineering (WCRE), 2004. (pdf, bib, report)

  • M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, T. Tourwe - A Qualitative Comparison of Three Aspect Mining Techniques. In Proceedings 13th IEEE International Workshop on Program Comprehension (IWPC 2005). (pdf, bib)

  • M. Marin, L. Moonen, and A. van Deursen. An Approach to Aspect Refactoring Based on Crosscutting Concern Types. In Proceedings First International Workshop on the Modeling and Analysis of Concerns in Software (MACS) at ICSE 2005. ACM SIGSOFT Software Engineering Notes Volume 30, Issue 4, 2005. (pdf, bib)

  • A. van Deursen, M. Marin, L. Moonen - AJHotDraw: A showcase for refactoring to aspects. In Proceedings Linking Aspect Technology and Evolution Workshop (LATE) at AOSD, 2005. (pdf, bib)

  • M. Marin - Refactoring JHotDraw's Undo concern to AspectJ. In Proceedings Workshop on Aspect Reverse Engineering (WARE) at WCRE 2004. (pdf, bib)

  • A. van Deursen, M. Marin, and L. Moonen. Aspect Mining and Refactoring. In Proceedings First International Workshop on REFactoring: Achievements, Challenges, Effects (REFACE). University of Waterloo, 2003. (pdf, bib)

Fan-In Analysis

Various research groups have started to work on the topic of aspect mining, but in general it is difficult to discuss the approaches and assess them for false positives of false negatives since this would require a report of all the aspects that could be found in the case studies considered. Such reports were not available at time of our first study, and we consider our work to be a first step towards a common benchmark for various aspect mining techniques being developed. To promote such a common benchmark, we have set up these pages where aspect mining researchers can exchange and discuss aspect candidates found in (open source) software systems.

  • Report on the Fan In Analysis approach to Aspect Mining which is published as M. Marin, A. van Deursen, and L. Moonen. Identifying Aspects using Fan-in Analysis. In Proceedings of the 11th Working Conference on Reverse Engineering (WCRE2004), IEEE Computer Society, 2004.

FINT

FINT is an aspect mining tool that implements three aspect mining techniques: fan-in analysis, grouped calls analysis and redirections finder. (more about FINT)

Minig (and combination) results of the techniques implemented by FINT:

SoQueT

SoQueT is the tool support for documenting and modeling crosscutting concerns as instances of classes of concerns, called sorts.

AJHotDraw

AJHotDraw is an aspect-oriented refactoring of the JHotDraw two-dimensional graphics framework, developed as an open-source project.

Towards a combination of techniques for crosscutting concerns identification

The goal of our aspect mining work, initiated with the fan-in analysis, is to achieve a tool with a high degree of automation that supports the identification and exploration of crosscutting concerns. As a first step, we compare the fan-in technique and other two aspect mining techniques that were developed independently by different research teams: identifier analysis and dynamic analysis. We apply each technique to the proposed benchmark of JHotDraw and mutually compare the individual results of each technique based on the discovered aspects and on the level of detail and quality of those aspects. Strengths, weaknesses and underlying assumptions of each technique are discussed, as well as their complementarity.

The results are published in the IWPC 2005 proceedings, and available here.

Other collaborations

We actively participate in AIRCO, an ad-hoc collaboration of researchers from our group, UCL, CWI, ITC-irst that work on aspect identification.

The End Result

On January 25th, 2008, the project was successfully completed with the PhD defense of Marius Marin at Delft University of Technology.

photo-defense-marius-small.jpg


CategoryResearchProject


Edit | Attach | Printable | Raw | More topic actions
Revisions: | r1.5 | > | r1.4 | > | r1.3 | Page history | Backlinks
You are here: Main > AmrProject

to top

Copyright © 2003-2017, Software Engineering Research Group, Delft University of Technology, The Netherlands