Loughborough University
Leicestershire, UK
LE11 3TU
+44 (0)1509 263171
Loughborough University

Loughborough University Institutional Repository

Please use this identifier to cite or link to this item: https://dspace.lboro.ac.uk/2134/3594

Title: The evolution of complete software systems
Authors: Withall, Mark S.
Keywords: Genetic algorithms
Genetic Programming
Representation
Formal specification
Graphical user interfaces
Complete software systems
Issue Date: 2003
Publisher: © Mark S. Withall
Abstract: This thesis tackles a series of problems related to the evolution of complete software systems both in terms of the underlying Genetic Programming system and the application of that system. A new representation is presented that addresses some of the issues with other Genetic Program representations while keeping their advantages. This combines the easy reproduction of the linear representation with the inheritable characteristics of the tree representation by using fixed-length blocks of genes representing single program statements. This means that each block of genes will always map to the same statement in the parent and child unless it is mutated, irrespective of changes to the surrounding blocks. This method is compared to the variable length gene blocks used by other representations with a clear improvement in the similarity between parent and child. Traditionally, fitness functions have either been created as a selection of sample inputs with known outputs or as hand-crafted evaluation functions. A new method of creating fitness evaluation functions is introduced that takes the formal specification of the desired function as its basis. This approach ensures that the fitness function is complete and concise. The fitness functions created from formal specifications are compared to simple input/output pairs and the results show that the functions created from formal specifications perform significantly better. A set of list evaluation and manipulation functions was evolved as an application of the new Genetic Program components. These functions have the common feature that they all need to be 100% correct to be useful. Traditional Genetic Programming problems have mainly been optimization or approximation problems. The list results are good but do highlight the problem of scalability in that more complex functions lead to a dramatic increase in the required evolution time. Finally, the evolution of graphical user interfaces is addressed. The representation for the user interfaces is based on the new representation for programs. In this case each gene block represents a component of the user interface. The fitness of the interface is determined by comparing it to a series of constraints, which specify the layout, style and functionality requirements. A selection of web-based and desktop-based user interfaces were evolved. With these new approaches to Genetic Programming, the evolution of complete software systems is now a realistic goal.
Description: Doctoral Thesis. Submitted in partial fulfillment of the requirements for the award of Doctor of Philosophy of Loughborough University.
URI: https://dspace.lboro.ac.uk/2134/3594
Appears in Collections:PhD Theses (Computer Science)

Files associated with this item:

File Description SizeFormat
MSWthesis.pdf725.86 kBAdobe PDFView/Open

 

SFX Query

Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.