A common and frustrating problem in software engineering is the introduction of new faults as a side-e ect of software maintenance. An understanding of all of the relationships that exist between modi ed software and the rest of a system can limit the introduction of new faults. For large systems, these relationships can be numerous and subtle. The relationships can be especially complex in object-oriented systems that include inheritance and dynamic binding. Software visualization can potentially ease both impact analysis and general program understanding. Software visualization can facilitate program understanding by graphically displaying important software features. However, despite recent success in developing useful and intuitive graphical representations for certain aspects of software, current software visualization systems are limited by their lack o f scalability | the ability to visualize both small and large-scale software entities. This paper demonstrates that three-dimensional 3-D graphics and a hierarchy o f o v erlapping views can increase the scalability of software visualization. The hierarchy provides detailed information without sacri cing the big picture". Overlapping is used to provide context between high and low-level views. A prototype system, Change Impact Viewer CIV , tests these visualization mechanisms. CIV highlights areas of a system that can potentially be a ected by a change to a selected function. The mechanisms, as implemented in CIV, show improvements in scalability o v er those provided by other systems, without decreasing usefulness or intuitiveness.