For this part of the study, you will again explore the jEdit source code to describe the changes necessary to successfully resolve a change task. For this exploration you will use a software exploration tool called Ariadne. Feel free to ask the investigator any questions during this tutorial.
Ariadne is a software exploration tool that automatically issues queries on a developer's behalf. As each program elements is examined, Ariadne displays the results from a set of conceptual queries about that element. These conceptual queries include queries such as:
Ariadne is automatic, meaning that it responds to your interactions
with the Eclipse environment such as selecting an item from the
Outline
view. The queries with results are listed
in the Dossier
view using an Eclipse tree view.
The queries are indicated with the following icon: . Queries in progress
are indicated with a small hour-glass:
.
Dossier
is made up of five columns:
Queries are sorted by their category. There are currently four query categories:
The results of queries may be clustered by their
different attributes. For example: the references to a method,
which are generally themselves methods, may be clustered into
different groups identified by attributes such as their access
protection (public, private, package, or default), their containing
type, their package, or boolean attributes such as static vs.
non-static. Some clusterings may have results belong to multiple
groups, such as might arise for a clustering by argument types:
the method Arrays.addList(Collection, Object[])
would
added to groups for Collection
and Object
.
Dossier
view features four command buttons.
F9
.Try Ariadne out!
Bring up JHotDraw's org.jhotdraw.framework.Figure
interface in the editor using Open Type
(Control-Shift-T
).
If the Dossier is not already present, push the F9
key.
The Dossier view should pop up and be populated with a set of
queries. When the queries are finished, which should take a few
seconds, you should see a view like this:
Try expanding some of the tree elements, such as for the query
superinterfaces
, showing the super interfaces specified
by Figure
. Right-click on the first result for this query,
Cloneable
: the normal Java operations are available from
this elements.
The query implementors
has many results (44), however
Ariadne was able to find 3 different means of grouping these results.
To access these groupings, right click on the element, and choose
the Cluster results by...
menu.
Choose to cluster by the enclosing package: to cluster the results by their package.
Now click on the re-open original query element button
.
This causes the original queried-upon element
Figure
to be re-opened.
Try selecting the Figure.decompose()
method from
the Outline
view, and notice the Dossier
's
contents have changed with the query results about the new
element.
You may wish to try some of the other toolbar buttons.
When you are ready to proceed, please notify the investigator.