FINT - Tool support for aspect mining
FINT is a tool for identifying code smells of crosscutting implementation of concerns. Crosscutting concerns are particularly hard to recognize and understand in source code, as their implementation is scattered over several modularization units (such as, classes or methods) and tangled with code that implements other concerns. Often, system-wide policies and rules, like exception handling, logging for debugging, or auditing are implemented as crosscutting concerns. To become aware of such concerns when conducting software change tasks on a little known system, and, further on, to understand their implementation and possibly refactor them to aspect-oriented programming, we first need to identify these concerns. Identification of crosscutting concerns is also called aspect mining. Hence,
FINT is an aspect mining tool.
The current implementation of
FINT includes three source code analysis techniques to identify crosscutting concerns: Fan-in analysis, Grouped calls analysis and Redirections finder.
The first two techniques look for concerns that are implemented as scattered method calls, such as logging, exception wrapping, authentication/authorization, etc. Redirection finder is a technique to identify wrapper classes, such as instances of the Decorator pattern.
The tool also supports combination of techniques. Other features of
FINT include management and persistence of crosscutting concern seeds and support for reasoning and deciding about seeds reported by the tool.
FINT is implemented as an Eclipse plug-in and can be downloaded below.
Help for using and installing the tool is available through Eclipse's Help menu, or
here (
pdf).
News
A demo of
FINT 0.6+ that was given at
WCRE 2006
Download
FINT 0.6 - see the Download section below!
A demo of
FINT at
AOSD 2006.
User manual
Here is a recent user manual of
FINT in
pdf format.
A bit older manual, in html, is available
here .
Other resources
Publications:
- Identifying Crosscutting Concerns Using Fan-in Analysis, ACM Transactions on Software Engineering and Methodology (TOSEM) - Accepted for publication. Earlier version available as Technical report TUD-SERG-2006-013
- A common framework for aspect mining based on crosscutting concern sorts.
In Proceedings of the 13th Working Conference on Reverse Engineering (WCRE), 2006.
(pdf)
- FINT: Tool support for aspect mining.
In Proceedings of the 13th Working Conference on Reverse Engineering (WCRE), 2006.
(pdf)
Experiments and results:
Related
SoQueT is a tool that supports developers in consistently documentating crosscutting concerns in source code.
Contact
Questions, comments, and bug reports are welcome:
Marius Marin
Available downloads:
*
FINT 0.6 - Fixed small problems in
FINT 0.6Beta, Released 10.06.2006 (
InstallFINT)
Older releases