Traceability Link Evolution Management (TLEM)
Our link evolution management approach complements and leverages
existing TLR technology, making it adaptable to software changes.
TLEM is fully integrated with
the Eclipse Platform. Eclipse is an integrated development environment
with an architecture that supports the addition of components, called
plug-ins, that add to the environment's functionality. Our automatic
traceability link evolution management tool is implemented as an Eclipse
plug-in. It also uses Molhado as a back-end SCM repository, to store
software artifacts and traceability links at different versions. Molhado
is also an Eclipse plug-in.
With TLEM, a developer concerned about the traceability links between
documentation and source code first triggers the execution of TLEM.
TLEM connects to Molhado and
checks if this is the first time of execution, that is, if no information
on traceability links has been stored in Molhado from previous execution
of TLEM. If it is the first time, TLEM performs a traceability link
recovery process using the LSI technique. The outputs of TLR are pairs
of traceability links between documentation and source code. Depending
on the setting of parameters, the links can be fine-grained among
fragments of artifacts or coarse-grained among files. TLEM maintains
crucial LSI information about this TLR execution in order to quickly
update traceability links in the face of evolving software artifacts
during development. At this point, the developer can inspect the list
of links by selecting them in a window view. He/she can also select
to view the documentation or source code corresponding to a link with
Eclipse editor. Once he/she identifies the link groups of interest,
the groups can be transferred to the link group view.
The developer can then start modifying the system. TLEM can be explicitly
invoked to update traceability links by a users' command or be invoked
right before the changes are
checked into the SCM repository. At this time, TLEM analyzes the changes
to software artifacts and uses the incremental LSI algorithm to automatically
update the links. The incremental LSI algorithm takes advantage of
the information from the previous LSI computation before the change
to avoid the full cost of re-running a TLR tool every time the artifacts
change. This makes our incremental LSI technique resilient to software
evolution.
When the developer checks his/her changes into Molhado, not only
the new version of software artifacts is saved, but also traceability
links and crucial LSI information for later link updating are stored.
The next time the software artifacts are checked out by the same or
different developer, documentation, source code, and links are retrieved.
LSI information stored in the SCM repository allows TLEM to automatically
manage and update the traceability links during the subsequent editing
sessions. Since all information including documentation, source code,
and links are stored in a SCM repository, at any time, the developer
can inspect them together or use them in maintenance tasks. Since
the update time is very short, TLEM can be used in an interactive
manner within Eclipse environment during development. With a users'
command, the traceability links can be
automatically updated after software artifacts change.
The choice of Molhado has manifolds. Firstly, it provides a generic
versioned data model and can be easily tailored to support any type
of data. Secondly, it is equipped with
versioned hypermedia support to store traceability links along with
source code at any version. Thirdly, it has a rich set of API functions
for change management that can be
called from any Eclipse's plugins. Finally, it maintains a unique
identifier for each source code or documentation entity, helping keeping
track of renamed and moved entities.