The case for software evolution

  • Authors:
  • Claire Le Goues;Stephanie Forrest;Westley Weimer

  • Affiliations:
  • University of Virginia, Charlottesville, VA, USA;University of New Mexico, Albuquerque, NM, USA;University of Virginia, Charlottesville, VA, USA

  • Venue:
  • Proceedings of the FSE/SDP workshop on Future of software engineering research
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Many software systems exceed our human ability to comprehend and manage, and they continue to contain unacceptable errors. This is an unintended consequence of Moore's Law, which has led to increases in system size, complexity, and interconnectedness. Yet, software is still primarily created, modified, and maintained by humans. The interactions among heterogeneous programs, machines and human operators has reached a level of complexity rivaling that of some biological ecosystems. By viewing software as an evolving complex system, researchers could incorporate biologically inspired mechanisms and employ the quantitative analysis methods of evolutionary biology. This approach could improve our understanding and analysis of software; it could lead to robust methods for automatically writing, debugging and improving code; and it could improve predictions about functional and structural transitions as scale increases. In the short term, an evolutionary perspective challenges several research assumptions, enabling advances in error detection, correction, and prevention.