Tech Report CS-91-52
Support for Maintaining Object-Oriented Programs
Moises Lejter, Scott Meyers and Steven P. Reiss
In this paper, we explain how inheritance and dynamic binding make object-oriented programs difficult to maintain, and give a concrete example of the problems that arise. We show that the difficulty lies in the fact that conventional tools are poorly suited for work with object-oriented languages, and we argue that semantics-based tools are essential for effective maintenance of object-oriented programs.
We then describe a system we have developed for working with C++ programs. This system comprises a relational database system for information about programs and an interactive database interface integrated with a text editor. We describe our system architecture, detail the database relations, provide informal evidence on the system's effectiveness, and compare it to other research with similar goals.