Traceability in Software Engineering - Past, Present and Future

CASCON 2007 Workshop Report

IBM Technical Report: TR-74-211

October 25, 2007

Abstract

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.

Workshop Chairs and Presenters

Juergen Rilling, Concordia University, Montréal, Canada
Philippe Charland, Defence Research and Development Canada Valcartier
René Witte, University of Karlsruhe, Germany

Reference

Juergen Rilling, Philippe Charland, and René Witte, Traceability in Software Engineering—Past, Present and Future. CASCON Workshop, IBM Technical Report: TR-74-211, October 25, 2007.

Bibtex entry below (also for download). Other formats available at BibSonomy.

@TechReport{TR-74-211,
  author = 	 {Juergen Rilling and Philippe Charland and Ren\'{e} Witte},
  title = 	 {{Traceability in Software Engineering -- Past, Present and Future}},
  institution =  {IBM Technical Report},
  year = 	 {2007},
  number =	 {TR-74-211},
  address =	 {CASCON 2007 Workshop},
  month =	 {October 25}
}

More information on this workshop: announcement and IBM archive page.

Download

Available at IBM and as local copy.
MD5 Checksum: 7f8d496400971fadeca8a65487cb5517