Legacy Software Reverse-Engineering and Comprehension by Interpretations

P. Dugerdil (Switzerland)


Reverse engineering, program comprehension


The goal of the reverse-engineering of a legacy software system is to create representations at different conceptual levels to help its understanding. However, not all representations are equivalent as far as understanding is concerned. Therefore, what properties should these representations have? First, we formally define the properties that meaningful representations of a system must have. Second, we propose a process and a technique to build representations that satisfy these properties. This process borrows its main steps from the Unified Process (UP). In particular we show how the artefacts of UP can be used as the target for software reverse-engineering. Third, we present an experiment using this technique on a real world system.

Important Links:

Go Back