CVS Release History Data for Detecting Logical Couplings

  • Authors:
  • Harald Gall;Mehdi Jazayeri;Jacek Krajewski

  • Affiliations:
  • -;-;-

  • Venue:
  • IWPSE '03 Proceedings of the 6th International Workshop on Principles of Software Evolution
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

The dependencies and interrelations between classes and modules affect the maintainability of object-oriented systems. It is therefore important to capture weaknesses of the software architecture to make necessary corrections. This paper describes a method for software evolution analysis. It consists of three complementary steps, which form an integrated approach for the reasoning about software structures based on historical data: 1) The Quantitative Analysis uses version information for the assessment of growth and change behavior; 2) the Change Sequence Analysis identifies common change patterns across all system parts; and 3) the Relation Analysis compares classes based on CVS release history data and reveals the dependencies within the evolution of particular entities. In this paper, we focus on the Relation Analysis and discuss its results; it has been validated based on empirical data collected from a Concurrent Versions System (CVS) covering 28 months of a PictureArchiving and Communication System (PACS). Our software evolution analysis approach enabled us to detect shortcomings of PACS such as architectural weaknesses, poorly designed inheritance hierarchies, or blurred interfaces of modules.