Elements of an Automatic Programmer
developing initial code
previous code
code samples
genetic programming
NEAT
refining code
back propogation
automatic debugging