Towards Experience-Based Mentoring of Evolutionary Development

  • Authors:
  • Zhenchang Xing;Eleni Stroulia

  • Affiliations:
  • University of Alberta;University of Alberta

  • Venue:
  • ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Object-oriented software is usually developed through evolutionary processes. To consistently evolve a system, developers have to understand the rationale behind its current design and the evolution trajectory that has led to it. In this paper, we present a method for analyzing the design evolution of object-oriented software systems, for the purpose of providing relevant advice to developers. This method relies on UMLDiff, a heuristic UML-structure differencing algorithm, which, given a sequence of UML class models corresponding to the logical design of a sequence of system code versions, produces a sequence of "change trees" that describe the design-level structural changes between subsequent system versions. A set ofdesign-evolution patterns are then analyzed to understand the rationale underlying design decisions that may affect the software system. We demonstrate how the recovered knowledge provides the basis for mentoring the developers on future maintenance activities.