# Functional Code Building Genetic Programming

arXiv: https://arxiv.org/abs/2206.04561 · HTML: https://mlsanity.com/paper/2206.04561/

## Key facts

- Cited by 2 papers in the map (data through 14 Oct 2026).
- Builds on 4 of its 31 references that are in the map.
- First posted on arXiv 9 Jun 2022.

## Builds on (most cited first, 4 of 4)

- [PSB2: The Second Program Synthesis Benchmark Suite](https://mlsanity.com/paper/2106.06086/) (2021)
- [Recent Developments in Program Synthesis with Evolutionary Algorithms](https://mlsanity.com/paper/2108.12227/) (2021)
- [Lexicase Selection of Specialists](https://mlsanity.com/paper/1905.09372/) (2019)
- [Code Building Genetic Programming](https://mlsanity.com/paper/2008.03649/) (2020)

## Built on by (most cited first, 2 of 2)

- [Probabilistic Lexicase Selection](https://mlsanity.com/paper/2305.11681/) (2023)
- [HOTGP -- Higher-Order Typed Genetic Programming](https://mlsanity.com/paper/2304.03200/) (2023)

## Abstract (arXiv)

General program synthesis has become an important application area for genetic programming (GP), and for artificial intelligence more generally. Code Building Genetic Programming (CBGP) is a recently introduced GP method for general program synthesis that leverages reflection and first class specifications to support the evolution of programs that may use arbitrary data types, polymorphism, and functions drawn from existing codebases. However, neither a formal description nor a thorough benchmarking of CBGP have yet been reported. In this work, we formalize the method of CBGP using algorithms from type theory. Specially, we show that a functional programming language and a Hindley-Milner type system can be used to evolve type-safe programs using the process abstractly described in the original CBGP paper. Furthermore, we perform a comprehensive analysis of the search performance of this functional variant of CBGP compared to other contemporary GP program synthesis methods.
