Software maintenanceand evolutionare the dominantactivities in the software lifecycle. Modularization can separate design decisions and allow them to be independently evolved, but modularization often breaks down and 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 informationfor large-scale software evolution. In this paper we argue that the map metaphor can serve as an organizingprinciplefor the design ofeflective toolsfor petforming global software changes. We describe the design of Aspect Browser,developed around the map metaphor,and discuss a case study of removing afeaturefrom a S00,OOO line program written in Fortran and C.
William G. Griswold, Jimmy J. Yuan, Yoshikiyo Kato