Understanding software evolution with software cities
- 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 directlySoftware 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.…
Author: | Frank Steinbrückner, Claus Lewerentz |
---|---|
URL: | http://ivi.sagepub.com/content/12/2/200 |
DOI: | https://doi.org/10.1177/1473871612438785 |
ISSN: | 1473-8716 |
ISSN: | 1473-8724 |
Title of the source (English): | Information Visualization |
Document Type: | Scientific journal article peer-reviewed |
Language: | English |
Year of publication: | 2013 |
Tag: | metrics; software cities; software comprehension; software evolution; software landscapes; software visualization |
Volume/Year: | 12 |
Issue number: | 2 |
First Page: | 200 |
Last Page: | 216 |
Faculty/Chair: | Fakultät 1 MINT - Mathematik, Informatik, Physik, Elektro- und Informationstechnik / FG Praktische Informatik / Softwaresystemtechnik |
Institution name at the time of publication: | Fakultät für Mathematik, Naturwissenschaften und Informatik (eBTU) / LS Praktische Informatik / Software-Systemtechnik |