PLNESEAug 9, 2020

Code Building Genetic Programming

arXiv:2008.03649v117 citations
Originality Incremental advance
AI Analysis

This addresses a bottleneck in automatic programming for researchers and developers by enabling synthesis of more complex, real-world code, though it appears incremental as it builds on existing genetic programming frameworks.

The paper tackles the problem of genetic programming methods being limited to simple data types and structures, and introduces Code Building Genetic Programming (CBGP) to synthesize programs using arbitrary data types and specifications from existing codebases, demonstrating results on new benchmarks with non-primitive, polymorphic data types.

In recent years the field of genetic programming has made significant advances towards automatic programming. Research and development of contemporary program synthesis methods, such as PushGP and Grammar Guided Genetic Programming, can produce programs that solve problems typically assigned in introductory academic settings. These problems focus on a narrow, predetermined set of simple data structures, basic control flow patterns, and primitive, non-overlapping data types (without, for example, inheritance or composite types). Few, if any, genetic programming methods for program synthesis have convincingly demonstrated the capability of synthesizing programs that use arbitrary data types, data structures, and specifications that are drawn from existing codebases. In this paper, we introduce Code Building Genetic Programming (CBGP) as a framework within which this can be done, by leveraging programming language features such as reflection and first-class specifications. CBGP produces a computational graph that can be executed or translated into source code of a host language. To demonstrate the novel capabilities of CBGP, we present results on new benchmarks that use non-primitive, polymorphic data types as well as some standard program synthesis benchmarks.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes