Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Jan 10, 2014
Requirements traceability is considered to be important for software understanding as it supports answers for questions such as "why a particular source code entity has been implemented". However, the presence of and traceability to requirements is increasingly lost in later more code-centric development activities. Tracing which parts of the system contribute to which requirement is therefore hard and so limits understandability.
We automatically recover traceability by linking requirements with their test cases and analyzing their run-time behavior. Often, test cases were implemented with a particular reason in mind such as verifying a specific requirement. With the connection between test cases and their requirements (or other development artifacts), the meaning of subsequently behavioral paths can be enhanced. Adapting the concepts of feature localization, annotated test cases are executed and covered methods are related to the requirements in question. A requirement is traced to a source code entity if it has been executed at least once in a specific test case that is linked to this requirement. Depending on the coverage of test cases, large parts of the system can be traced and classified to requirements automatically. Thus, our approach allows developers to comprehend the system from the user's point of view and to answer typical software maintenance questions such as "how is this requirement implemented?" or "which source code entities are related to the user's failure report?".