Title
Understanding Software Evolution With Software Cities
Abstract
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.
Year
DOI
Venue
2013
10.1177/1473871612438785
INFORMATION VISUALIZATION
Keywords
Field
DocType
Software cities, software landscapes, software evolution, software visualization, metrics, software comprehension
Software analytics,Computer science,Simulation,Software system,Resource-oriented architecture,Software evolution,Software visualization,Software construction,Software development,Social software engineering
Journal
Volume
Issue
ISSN
12
2
1473-8716
Citations 
PageRank 
References 
5
0.46
19
Authors
2
Name
Order
Citations
PageRank
Frank Steinbrückner11297.04
Claus Lewerentz266564.65