Dynamo - Dynamic Aspect Mining Tool

Dynamo is a tool for the identification of aspects in existing Java classes by means of a dynamic code analysis. Execution traces are generated for the use cases that exercise the main functionalities of a given application. The relationship between execution traces and executed computational units is subjected to concept analysis. In the resulting lattice, potential aspects are detected by determining the use-case specific concepts and examining their specific computational units. When these come from multiple classes, which in turn contribute to multiple use-cases, a candidate aspect is recognized.

Download:

Documentation:

More information about Dynamo and the principles behind its usage can be found in:

Paolo Tonella and Mariano Ceccato,
Aspect Mining through the Formal Concept Analysis of Execution Traces
IRST Technical Report, May 2004.

Case study:

The results obtained on the JHotDraw case study are compared with those produced by two other aspect mining techniques in the following paper:

M. Ceccato, M. Marin, K. Mens, L. Moonen, P. Tonella, T. Tourwé,
A Qualitative Comparison of Three Aspect Mining Techniques.
Proc. of the 13th Int. Workshop on Program Comprehension, 2005.

Use cases used in the case studies: