Modularity and the evolution of software evolvability

  • Authors:
  • Theodore B. Van Belle;David H. Ackley

  • Affiliations:
  • The University of New Mexico;The University of New Mexico

  • Venue:
  • Modularity and the evolution of software evolvability
  • Year:
  • 2004

Quantified Score

Hi-index 0.00

Visualization

Abstract

Drawing on models of the evolution of living systems, this dissertation explores the principle of modularity, both biological and in software, and its role in creating structures that are easy to change. These ideas are captured in the Software Evolvability Change Optimization (SECO) model, a framework for investigating how modularity can enhance evolvability in software. SEGO abstracts software history by dividing the code into non-overlapping elements that are linked together by a series of changes. These changes are either gathered from the recorded histories of real software, or modeled using evolutionary computation, change propagation among elements, or correlations in changes between elements. The dissertation uses SECO in both an analytic and synthetic role, investigating aspects of modularity such as encapsulation and code factoring, and using automatic techniques to optimize the modular structure of real code. The dissertation contributes to the further understanding of modularity as a means of improving software evolvability by adding the dimension of time to the analysis. In this way, it can discover dependency links between software elements that are not evident from a static analysis of the program.