Understanding Phases and Styles of Object-Oriented Systems' Evolution

  • Authors:
  • Zhenchang Xing;Eleni Stroulia

  • Affiliations:
  • University of Alberta;University of Alberta

  • Venue:
  • ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Understanding the phases and styles of evolution of software systems can provide valuable insight in support of project management. In this paper, we present a method for studying the evolution of object-oriented software at system/subsystem level and analyzing the underlying factors that drive its unfolding over time. This method relies on analyzing the design-level structural changes between two subsequent software versions to identify additions, removals, moves, renamings and signature-changes of classes, interfaces, and their methods and fields, represented as change trees. A sequence of such change trees constitutes the systemýs evolution profile. Based on discrete system evolution profiles, three types of analyses ..phasic analysis, gamma analysis, and optimal matching analysis ..are applied, to abstract an overall sequential pattern and structural properties of system evolution phases and to develop the typology of system evolution styles. We report on two case studies evaluating our approach.