Software visualization in software maintenance, reverse engineering, and re-engineering: a research survey

  • Authors:
  • Rainer Koschke

  • Affiliations:
  • Institut für Softwaretechnologie, Universität Stuttgart, Breitwiesenstrasse 20-22, 70565 Stuttgart, Germany

  • Venue:
  • Journal of Software Maintenance: Research and Practice
  • Year:
  • 2003

Quantified Score

Hi-index 0.02

Visualization

Abstract

Software visualization is concerned with the static visualization as well as the animation of software artifacts, such as source code, executable programs, and the data they manipulate, and their attributes, such as size, complexity, or dependencies. Software visualization techniques are widely used in the areas of software maintenance, reverse engineering, and re-engineering, where typically large amounts of complex data need to be understood and a high degree of interaction between software engineers and automatic analyses is required. This paper reports the results of a survey on the perspectives of 82 researchers in software maintenance, reverse engineering, and re-engineering on software visualization. It describes to which degree the researchers are involved in software visualization themselves, what is visualized and how, whether animation is frequently used, whether the researchers believe animation is useful at all, which automatic graph layouts are used if at all, whether the layout algorithms have deficiencies, and--last but not least--where the medium-term and long-term research in software visualization should be directed. The results of this survey help to ascertain the current role of software visualization in software engineering from the perspective of researchers in these domains and give hints on future research avenues.