Skip navigation.
Semantic Software Lab
Concordia University
Montréal, Canada

Traceability in Software Engineering – Past, Present and Future

Printer-friendly versionPrinter-friendly versionPDF versionPDF version
TitleTraceability in Software Engineering – Past, Present and Future
Publication TypeReport
Year of Publication2007
AuthorsRilling, J., P. Charland, and R. Witte
Refereed DesignationDoes Not Apply
Document NumberTR-74-211
Date PublishedOctober 25
InstitutionIBM Technical Report
CityCASCON 2007 Workshop

Many changes have occurred in software engineering research and practice since 1968, when software engineering as a research domain was established. One of these research areas is traceability, a key aspect of any engineering discipline, enables engineers to understand the relations and dependencies among various artifacts in a system.

It is a well-known fact that even in organizations and projects with mature software development processes, software artifacts created as part of these processes end up being disconnected from each other. This lack of traceability among software artifacts is caused by several factors, including: (1) the fact that these artifacts are written in different languages (natural language vs. programming language); (2) they describe a software system at various abstraction levels (requirements vs. implementation); (3) processes applied within an organization do not enforce maintenance of existing traceability links; and (4) a lack of adequate tool support to create and maintain traceability.

Consequently, one of the major challenges for maintainers while performing a maintenance task is the need to comprehend this multitude of often disconnected artifacts created originally as part of the software development process. From a maintainer’s perspective, it therefore becomes essential to establish and maintain the semantic connections among these artifacts. The research community’s focus has been initially on developing new process models and tools to support the development of monolithic applications written in third generation procedural languages. More recently, the focus has switched to developing and maintaining modern distributed systems deployed across a networked infrastructure using a variety of methods that must address the heterogeneous nature of today’s Web-based systems.

However, this lack of traceability among software artifacts becomes a major challenge for many software maintenance activities. As a result, during the comprehension of existing software systems, software engineers are required to spend a large amount of effort on synthesizing and integrating information from various sources to establish links among these artifacts. Existing and current research in software traceability focuses on reducing the cost associated with this manual effort by developing automatic assistance in establishing and maintaining traceability links among software artifacts. This half-day working session was structured into three parts: past, present and future. The first half contained four talks introducing different aspects of traceability, while the second half was devoted to an interactive discussion section involving the workshop's participants.

cascon07_TR-74-211.pdf46.8 KB