Data types as a more ergonomic frontend for Grammar-Guided Genetic Programming
Guilherme Espada, Leon Ingelse, Paulo Canelas, Pedro Barbosa, Alcides, Fonseca

TL;DR
This paper introduces a novel approach to Grammar-Guided Genetic Programming by embedding grammars as internal domain-specific languages within the host language, enhancing ergonomics and tooling support without sacrificing expressive power or performance.
Contribution
The authors propose embedding CFGs as internal DSLs in the host language, enabling better tooling integration and extending tree-generation with Meta-Handlers, improving practicality and expressiveness.
Findings
Approach matches BNF/EBNF expressive power
Enhanced tooling support with host language features
Empirical evaluation shows comparable performance to BNF-based methods
Abstract
Genetic Programming (GP) is an heuristic method that can be applied to many Machine Learning, Optimization and Engineering problems. In particular, it has been widely used in Software Engineering for Test-case generation, Program Synthesis and Improvement of Software (GI). Grammar-Guided Genetic Programming (GGGP) approaches allow the user to refine the domain of valid program solutions. Backus Normal Form is the most popular interface for describing Context-Free Grammars (CFG) for GGGP. BNF and its derivatives have the disadvantage of interleaving the grammar language and the target language of the program. We propose to embed the grammar as an internal Domain-Specific Language in the host language of the framework. This approach has the same expressive power as BNF and EBNF while using the host language type-system to take advantage of all the existing tooling: linters,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsEvolutionary Algorithms and Applications · Software Testing and Debugging Techniques · Viral Infectious Diseases and Gene Expression in Insects
