Key points are not available for this paper at this time.
Software maintenance and evolution are the dominant activities in the software lifecycle. Modularization can allow design decisions to be independently evolved, but eventually modularizations fail to do so, and then complicated global changes are required. Tool support can reduce the costs of these unfortunate changes, but current tools are limited in their ability to manage information for large-scale software evolution. In this paper we argue that the map metaphor can serve as an organizing principle for the design of effective tools for performing global software changes. We describe the design of Aspect Browser, developed around the map metaphor, and discuss a case study of removing a feature from a 500,000 line program written in Fortran and C. 1 Introduction The cost of software maintenance and evolution are often disproportionately large relative to the amount of code changed or the resulting change in software behavior. One cause of this imbalance is inadequate modularity: a ...
Griswold et al. (Sun,) studied this question.