|
Go back to
Demonstrations Home |
FEAT
- A Tool for Locating, Describing, and Analyzing
Concerns in Source Code |
Dates:
-
Wed March 19, 14:00 -
15:30
- Thu March 20, 11:00 -
12:30
Presenters: -
Martin
Robillard (University of British Columbia)
- Gail Murphy
(University of British Columbia)
Developers working on existing programs repeatedly have to
address concerns, or aspects, that are not well modularized in
the source code comprising a system. In such cases, a developer
has to first locate the implementation of the concern in the
source code comprising the system, and then document the concern
sufficiently to be able to understand it and perform the actual
change task.
In this demonstration, we will present FEAT, a tool for
locating, describing, and analyzing the code implementing a
concern in a Java system. The demonstration will consist in
using the tool to locate and analyze a set of concerns scattered
in an existing code base. Specifically, we will show how, by
visually navigating structural program dependencies through the
tool's graphical interface, we can rapidly locate the code
implementing a concern, and store the result as an abstract
representation consisting of building blocks that are easy to
manipulate and query. We will also show how the representation
of the concerns supported by FEAT can be used to investigate the
relationships between the captured concerns and the base code,
and between the different concerns. Finally, we will show how
this representation can be used to robustly keep track of the
actual source code implementing the concern.
We argue that the FEAT tool supports aspect-oriented software
development by allowing users to easily produce and analyze
descriptions of the actual code implementing concerns in
existing systems. The novelty of our approach is to capture
concerns using an abstract representation that can be mapped
back to source code, instead of working directly at the level of
program text. This way, developers can use the abstract
representation as a support for managing the code in a concern,
and can potentially use the representation as a basis from which
to refactor the concern into an aspect-oriented programming
language.
FEAT version 2 is implemented as a plugin for the Eclipse
Platform. It uses the compiled representation (bytecode) of
programs to extract the structural relationships between
different program elements, such as classes, methods, or fields.
It uses IBM's Jikes Bytecode Toolkit to represent and manipulate
Java classes at run-time.
|
Contact |
For additional information, clarifications, questions, or special requirements,
please contact the AOSD 2003 Demonstrations Chair: Mik Kersten (demos@aosd.net). |
| |
|