Software Model Traceability

Design traceability has been widely recognized as being an integral aspect of software development. In the past years this fact has been amplified due to the increased use of legacy systems and COTS (commercial-off-the-shelf) components mixed with the growing use of elaborate “upstream” software modeling techniques such as the Unified Modeling Language (UML). The more intensive emphasis on upstream (non-programming) software development issues has, however, widened the gap between software components (e.g., subsystems, modules) and software models (e.g., class diagrams, data flow diagrams), creating the need for a better understanding of the intricacies and interrelationships between both of them. Recently, we developed a new approach towards design and architecture traceability by observing run-time information of software systems that can be used to detect traceability information between software systems and their models. We do this by employing a technique that evaluates the “footprints” that usage scenarios (e.g., test cases) make during the execution of software systems. Those footprints can be compared, resulting in additional traceability information among modeling elements associated with those scenarios. Our approach is tool supported.

Relevant Publications

Related Research