Applying Genetic Programming to Bytecode and Assembly

Citation data:

Scholarly Horizons: University of Minnesota, Morris Undergraduate Journal, ISSN: 2576-2176, Vol: 1, Issue: 2, Page: 4

Publication Year:
2014
Usage 402
Downloads 334
Abstract Views 68
Repository URL:
https://digitalcommons.morris.umn.edu/horizons/vol1/iss2/4
Author(s):
Collom, Eric
Tags:
Genetic programming (Computer science); Java (Computer program language); Programming Languages and Compilers
article description
Traditional genetic programming (GP) is typically not used to perform unrestricted evolution on entire programs at the source code level. Instead, only small sections within programs are usually evolved. Not being able to evolve whole programs is an issue since it limits the flexibility of what can be evolved. Evolving programs in either bytecode or assembly language is a method that has been used to perform unrestricted evolution. This paper provides an overview of applying genetic programming to Java bytecode and x86 assembly. Two examples of how this method has been implemented will be explored. We will also discuss experimental results that include evolving recursive functions and automated bug repair.