Software cities are visualizations of software systems in the form of virtual cities. They are used as platforms to integrate a large variety of product- and process-related analysis data. Their usability, however, for real-world software development often suffers from their inability to appropriately deal with software changes. Even small structural changes can disrupt the overall structure of the city, which in turn corrupts the mental maps of its users. In this article we describe a systematic approach to utilize the city metaphor for the visualization of evolving software systems as growing software cities. The main contribution is a new layout approach which explicitly takes the development history of software systems into account. The approach has two important effects: first, it creates a stable gestalt of software cities even when the underlying software systems evolve; thus, by preserving its users’ mental maps these cities are especially suitable for use during ongoing system development. Second, it makes history directly visible in the city layouts, which allows for supporting novel analysis scenarios. We illustrate such scenarios by presenting several thematic cities’ maps, each capturing specific development history aspects.
The CrocoCosmos tool was developed as part of the Crocodile tool set for the analysis and visualization of large object-oriented software systems. The context of our research is to support maintenance and re-engineering processes in an appropriately automated way for large programs. One aspect is program comprehension through the visualization of program structures on an architectural level. Thus, CrocoCosmos is not a general graph drawing tool but serves a dedicated purpose in a specific graph drawing application.
Coherent Software Cities are a software visualization approach which adopts the city metaphor to support the comprehension of various aspects of evolving software systems. For this purpose, the approach implements a three-staged modeling chain yielding coherent sets of application specific visualizations. In this context, a new layout approach for software cities is presented, which explicitly takes development history into account. Its effects are twofold: First, evolution becomes visible in the layouts, which allows for supporting new application scenarios. Second, layouts evolve smoothly and stable during system evolution, which allows software cities to be used online, i.e. during ongoing system development and maintenance.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.