Evolving Object Oriented Design to Improve Code Traceability


Traceability is a key issue to ensure consistency among software artifacts of subsequent phases of the development cycle. However, few works have so far addressed the theme of tracing object oriented design into its implementation and evolving it.

This paper presents an approach to checking the compliance of OO design with respect to source code and support its evolution. The process works on design artifacts expressed in the OMT notation and accepts C++ source code. It recovers an ``as is'' design from the code, compares recovered design with the actual design and helps the user to deal with inconsistencies.

The recovery process exploits the edit distance computation and the maximum match algorithm to determine traceability links between design and code. The output is a similarity measure associated to each matched class, plus a set of unmatched classes. A graphic display of the design with different colors associated to different levels of match is provided as a support to update the design and improve its traceability to the code.

Postscript version of the paper.