• Publications
  • Influence
Visualizing Software Systems as Cities
This paper presents a 3D visualization approach which gravitates around the city metaphor, i.e., an object-oriented software system is represented as a city that can be traversed and interacted with:Expand
  • 221
  • 18
  • PDF
Software systems as cities: a controlled experiment
Software visualization is a popular program comprehension technique used in the context of software maintenance, reverse engineering, and software evolution analysis. While there is a broad range ofExpand
  • 180
  • 15
  • PDF
CodeCity: 3D visualization of large-scale software
CodeCity is a language-independent interactive 3D visualization tool for the analysis of large software systems. Based on a city metaphor, it depicts classes as buildings and packages as districts ofExpand
  • 87
  • 9
  • PDF
Archeology of code duplication: recovering duplication chains from small duplication fragments
Code duplication is a common problem, and a well-known sign of bad design. As a result of that, in the last decade, the issue of detecting code duplication led to various solutions and tools that canExpand
  • 76
  • 8
  • PDF
Program Comprehension through Software Habitability
The comprehensive understanding of a large software system is a daunting task because of the sheer size and complexity that such systems exhibit. In this context software visualization is a widelyExpand
  • 109
  • 7
  • PDF
Visual Exploration of Large-Scale System Evolution
The goal of reverse engineering is to obtain a mental model of software systems. However, evolution adds another dimension to their implicit complexity, effectively making them moving targets: TheExpand
  • 57
  • 6
  • PDF
Visually localizing design problems with disharmony maps
Assessing the quality of software design is difficult, as "design" is expressed through guidelines and heuristics, not rigorous rules. One successful approach to assess design quality is based onExpand
  • 62
  • 4
  • PDF
iPlasma: An Integrated Platform for Quality Assessment of Object-Oriented Design
To make software maintenance easier, a superior quality of its design and implementation process must be ensured. For this reason, existing software must be supported by automated systems forExpand
  • 127
  • 3
  • PDF
Software Systems as Cities
Software understanding takes up a large share of the total cost of a software system. The high costs attributed to software understanding activities are caused by the size and complexity of softwareExpand
  • 31
  • 3
  • PDF
EvoSpaces - Multi-dimensional Navigation Spaces for Software Evolution
EvoSpaces is a Swiss-wide research project sponsored by the Hasler foundation. It involves three partners: University of Zurich, University of Lugano and the University of Applied Sciences in Geneva.Expand
  • 11
  • 1
  • PDF