Cheating death: better software evolution

  • Authors:
  • John Edwards;Tim Millea

  • Affiliations:
  • Researching Evolutionary Development Group, Department of Manufacturing Engineering, Loughborough University, Loughborough, Leicestershire LE11 3TU;Researching Evolutionary Development Group, Department of Manufacturing Engineering, Loughborough University, Loughborough, Leicestershire LE11 3TU

  • Venue:
  • Systems engineering for business process change
  • Year:
  • 2002

Quantified Score

Hi-index 0.00

Visualization

Abstract

The legacy problem has manifested itself early in the financial domain. Work at Loughborough University has sought to understand the problem and offer a general approach to building real software systems capable of evolving indefinitely. There are useful parallels between natural and software evolution. The field of evolutionary computation has successfully adopted the natural metaphor to solve certain classes of problem. However, the field of software evolution considers systems change in a much wider context. A more abstract view of evolution admits both models in order to better understand their differences and exploit their similarities. The evolutionary mechanism of software development and evolution relies upon weak feedback from program behaviour to program code. It is suggested that by increasing the naturalness of software encoding, the evolutionary process is improved. Implementation issues are separated from application domain issues by use of a conceptual fixed point of evolution: the least dynamic abstractions of a given domain. Instances of the proposed conceptual architecture already exist. One such instance is the word processor. This example is discussed in the context of its evolutionary properties, subsequently applied to a second, less familiar example, a banking domain machine.