Uniform Projection of Program Space Geometry for Genetic Improvement of Software
Current Genetic Improvement (GI) for software systems use preexisting program representations, such as abstract syntax trees and bytecode, to apply genetic operations to.These representations, however, were designed for the purpose of translating human readable source code to machine code.When used to underpin GI, these representations have drawbacks, such as the risk of breaking a program when deploying mutations, and the difficulty of expressing search trajectories that are not entirely rooted around the initial individual.We present a novel matrix-based program representation which is specifically designed for the purpose of GI.Our representation (i) makes it impossible for mutations or crossover to yield an invalid program, without the need for any syntactic or semantic checks, while still making every valid program reachable by search, and (ii) supports the simple expression of rich, layered probability distributions atop the program matrix to guide a GI search process in a wide variety of different ways.We build an end-to-end GI system using this new representation and demonstrate how we can layer a range a probability distributions on top of the representation to gain different effects.We also explore the future research possibilities that this approach to program representation presents.
Institutions
- Lancaster University (GB)
Publication Details
- Journal
- Lancaster EPrints (Lancaster University)
- Published
- 2025-03-19
- Primary Topic
- Evolutionary Algorithms and Applications
- Type
- article
- Field-Weighted Citation Impact
- 0.00
Funders
- Leverhulme Trust