Techniques for Software Renovation
Michael B. Siff
Software renovation is the process of introducing new
features---including polymorphism, objects, and encapsulation---into
existing software systems while preserving the original functionality of
the system. The goal of software renovation is to improve the efficiency of
development, maintenance, and comprehension. The research described in this
thesis focuses on three software-renovation techniques:
The techniques described in the thesis are aimed particularly at the
problem of transforming legacy C programs into C++ programs that make use
of C++'s advanced features---most notably classes, templates, inheritance,
and virtual functions. Some aspects of this work apply specifically to the
C-to-C++ problem; however, most aspects apply to almost any language.
(Click here
to access the paper.)
University of Wisconsin