Behavioral Program Synthesis with Genetic Programming

Przednia okładka
Springer, 15 gru 2015 - 172

Genetic programming (GP) is a popular heuristic methodology of program synthesis with origins in evolutionary computation. In this generate-and-test approach, candidate programs are iteratively produced and evaluated. The latter involves running programs on tests, where they exhibit complex behaviors reflected in changes of variables, registers, or memory. That behavior not only ultimately determines program output, but may also reveal its `hidden qualities' and important characteristics of the considered synthesis problem. However, the conventional GP is oblivious to most of that information and usually cares only about the number of tests passed by a program. This `evaluation bottleneck' leaves search algorithm underinformed about the actual and potential qualities of candidate programs.

This book proposes behavioral program synthesis, a conceptual framework that opens GP to detailed information on program behavior in order to make program synthesis more efficient. Several existing and novel mechanisms subscribing to that perspective to varying extent are presented and discussed, including implicit fitness sharing, semantic GP, co-solvability, trace convergence analysis, pattern-guided program synthesis, and behavioral archives of subprograms. The framework involves several concepts that are new to GP, including execution record, combined trace, and search driver, a generalization of objective function. Empirical evidence gathered in several presented experiments clearly demonstrates the usefulness of behavioral approach. The book contains also an extensive discussion of implications of the behavioral perspective for program synthesis and beyond.

 

Spis treści

1 Program synthesis
1
2 Limitations of conventional program evaluation
20
3 The framework of behavioral program synthesis
35
4 Behavioral assessment of test difficulty
43
5 Semantic Genetic Programming
55
6 Synthesizing programs with consistent execution traces
67
7 Patternguided program synthesis
76
8 Behavioral code reuse
89
9 Search drivers
97
10 Experimental assessment of search drivers
119
11 Implications of the behavioral perspective
133
12 Future perspectives
142
Index
149
References
153
Prawa autorskie

Inne wydania - Wyświetl wszystko

Kluczowe wyrazy i wyrażenia

Informacje bibliograficzne