5/23/2005 1:00pm-3:00pm ECOT 831
|
Toward Automating the Discovery of Traceability Links
Maha H. Faisal
Computer Science PhD Candidate
Maintaining consistency between a system's software artifacts is a hard
characteristic to achieve, when you consider the amount of change software
artifacts undergo throughout a system's evolution. Requirements traceability is
a technique that when properly applied and managed is a step toward the
development of software that meets this characteristic. However, requirements
traceability faces many challenges that need to be addressed before it becomes
a practical "day to day" software development task, including the challenge of
reducing its manual, laborious nature. The need for automated solutions to the
requirements traceability problem is also underscored by the fact that
traceability plays an important role in various areas of software engineering
practice.
Automated solutions to software traceability face a difficult challenge due to
the need to handle the numerous software artifacts of multiple types generated
during a software life cycle, as well as the large number of relationships that
exist between them. Furthermore, these artifacts are typically written using
natural language, making them difficult to process programmatically.
Additionally, the task of searching these documents manually looking for
implicit relationships is time consuming and labor intensive. This situation
raises the need to automate the discovery of traceability relationships among
various types of software artifacts to make the task of software traceability
more feasible and cost effective.
Finding or discovering traceability relationships is the essence of the
traceability problem. Once found, these relationships or "links" play important
roles in various aspects of software evolution. My research is in the area of
software traceability, focusing on the issue of automatically detecting the
existence of traceability links between requirements documents, design
documents, and source code using machine learning. I have also conducted a
study to assess my approach's performance. I was interested in how well humans
perform the task of finding relationships compared to finding such
relationships automatically.
|