Visualizing feature evolution of large-scale software based on problem and modification report data: Research Articles

  • Authors:
  • Michael Fischer;Harald Gall

  • Affiliations:
  • Distributed Systems Group, Vienna University of Technology, Argentinierstrasse 8/184-1, A-1040 Vienna, Austria;Department of Informatics, University of Zurich, Winterthurerstrasse 190, CH-8057 Zurich, Switzerland

  • Venue:
  • Journal of Software Maintenance and Evolution: Research and Practice - Analyzing the Evolution of Large-Scale Software
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Gaining higher-level evolutionary information about large software systems is a key challenge in dealing with increasing complexity and architectural deterioration. Modification reports and problem reports (PRs) taken from systems such as the concurrent versions system (CVS) and Bugzilla contain an overwhelming amount of information about the reasons and effects of particular changes. Such reports can be analyzed to provide a clearer picture about the problems concerning a particular feature or a set of features. Hidden dependencies of structurally unrelated but over time logically coupled files exhibit a good potential to illustrate feature evolution and possible architectural deterioration. In this paper, we describe the visualization of feature evolution by taking advantage of this logical coupling introduced by changes required to fix a reported problem. We compute the proximity of PRs by applying a standard technique called multidimensional scaling (MDS). The visualization of these data enables us to depict feature evolution by projecting PR dependence onto (a) feature-connected files and (b) the project directory structure of the software system. These two different views show how PRs, features and the directory tree structure relate. As a result, our approach uncovers hidden dependencies between features and presents them in an easy-to-assess visual form. A visualization of interwoven features can indicate locations of design erosion in the architectural evolution of a software system. As a case study, we used Mozilla and its CVS and Bugzilla data to show the applicability and effectiveness of our approach. Copyright © 2004 John Wiley & Sons, Ltd.