EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution

  • Authors:
  • Sazzadul Alam;Sandro Boccuzzo;Richard Wettel;Philippe Dugerdil;Harald Gall;Michele Lanza

  • Affiliations:
  • HEG Geneva, Switzerland;University of Zurich, Switzerland;University of Lugano, Switzerland;HEG Geneva, Switzerland;University of Zurich, Switzerland;University of Lugano, Switzerland

  • Venue:
  • Human Machine Interaction
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

In software development, a major difficulty comes from the intrinsic complexity of software systems and the size of which can easily reach millions of lines of source code. But software is an intangible artifact that does not have any natural visual representation. While many software visualization techniques have been proposed in the literature, they are often difficult to interpret. In fact, the user of such representations is confronted with an artificial world that contains and represents intangible objects. The goal of our EvoSpaces project was to investigate effective visual metaphors (i.e., analogies) between natural objects and software objects so that we can exploit the cognitive understanding of the user. The difficulty of this approach is that the common sense expectations about the displayed world should also apply to the world of software objects. To solve this common sense representation problem for software objects our project addressed both the small-scale (i.e., the level of individual objects) and the large-scale (i.e., the level of groups of objects). After many experiments we decided for a "city" metaphor: at the small scale we include different houses and their shapes as visual objects to cover size, structure and history. At the large-scale level we arrange the different types of houses in districts and include their history in diverse layouts. The user then is able to use the EvoSpaces virtual software city to navigate and explore all kinds of aspects of a city and its houses: size, age, historical evolution, changes, growth, restructurings, and evolution patterns such as code smells or architectural decay. For that we have developed a software environment named EvoSpaces as a plug-in to Eclipse so that visual metaphors can quickly be implemented in an easily navigable virtual space. Due to the large amount of information we complemented the flat 2D world with full-fledged immersive 3D representation. In this virtual software city, the dimensions and appearance of the buildings can be set according to software metrics. The user of the EvoSpaces environment can then explore a given software system by navigating through the corresponding virtual software city.