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.