Neil Crossley: Speeding-up evolutionary program synthesis by analytically preconstructed program skeletons (Student Lab Project) 


This project focused on two opposing methods to function synthesis and investigated their potentially complimentary nature. They both utilise specifications that define the behaviour of the target program through examples. The problem is reduced to discovering a function that has correct output for the given input examples. One method, realized by ADATE, is to take the non-deterministic, search intensive approach: to generate, test and refine functions according to a strategy, which is often evolutionary in nature. The other method, realized by IGOR2, is deterministic, analysing the given data to directly deduce the target function. Because ADATE has the larger problem space due to a comparative lack of restrictions of both specifications and the used programming language, it is much more capable of inferring programs than IGOR2, at the cost of greater search times. The project aimed to test the hypothesis by means of ADATE and IGOR2, that a nondeterministic method of automatic program construction can consistently benefit from the results of an analytical, deterministic approach. In the talk, ADATE and IGOR2 are introduced, some possibilities of exploiting IGOR2 for making ADATE more efficient are proposed and the promising results are presented.