Genetic programming: an introduction: on the automatic evolution of computer programs and its applications
Advances in genetic programming
Genetic programming in the wild: evolving unrestricted bytecode
Proceedings of the 11th Annual conference on Genetic and evolutionary computation
Automated program repair through the evolution of assembly code
Proceedings of the IEEE/ACM international conference on Automated software engineering
Proceedings of the 13th annual conference companion on Genetic and evolutionary computation
Automated repair of binary and assembly programs for cooperating embedded devices
Proceedings of the eighteenth international conference on Architectural support for programming languages and operating systems
Hi-index | 0.00 |
The usual approach to address the brittleness of machine code in evolution is to constrain mutation and crossover to ensure syntactic closure. In the novel approach presented here we use no constraints on the operators. They all work blindly on the binaries in memory but we instead encapsulate the code and trap all resultingexceptions using the built-in error reportingmec hanisms which modern CPUs provide to the operatingsystem. Thus it is possible to return to very simple genetic operators with the objective of increased performance. Furthermore the instruction set used by evolved programmes is no longer limited by the genetic programming system but only by the CPU it runs on. The mappingb etween the evolution platform and the execution platform becomes almost complete, ensuringcorrect low-level behaviour of all CPU functions.