SPLASH 2022
Mon 5 - Sat 10 December 2022 Auckland, New Zealand
Wed 7 Dec 2022 10:52 - 11:15 at Seminar Room G100 - GPCE Session 2 Chair(s): Atsushi Igarashi

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, formatters, type-checkers, autocomplete, and legacy code support. These tools have a practical utility in designing software in general, and GP systems in particular.

We also present Meta-Handlers, user-defined overrides of the tree-generation system. This technique extends our object-oriented encoding with more practicability and expressive power than existing CFG approaches, achieving the same expressive power of Attribute Grammars, but without the grammar vs target language duality.

Furthermore, we evidence that this approach is feasible, showing an example Python implementation as proof. We also compare our approach against textual BNF-representations w.r.t. expressive power and ergonomics. These advantages do not come at the cost of performance, as shown by our empirical evaluation on 5 benchmarks of our example implementation against PonyGE2. We conclude that our approach has better ergonomics with the same expressive power and performance of textual BNF-based grammar encodings.

Wed 7 Dec

Displayed time zone: Auckland, Wellington change

10:30 - 12:00
GPCE Session 2GPCE at Seminar Room G100
Chair(s): Atsushi Igarashi Kyoto University
10:30
22m
Talk
Incremental Processing of Structured Data in DatalogVirtual
GPCE
André Pacak JGU Mainz, Tamás Szabó GitHub, Sebastian Erdweg JGU Mainz
DOI
10:52
22m
Talk
Data Types as a More Ergonomic Frontend for Grammar-Guided Genetic ProgrammingVirtual
GPCE
Guilherme Espada University of Lisbon, Leon Ingelse University of Lisbon, Paulo Canelas University of Lisbon; Carnegie Mellon University, Pedro Barbosa University of Lisbon; Instituto de Medicina Molecular, Alcides Fonseca University of Lisbon
DOI
11:15
22m
Talk
Deep Fusion for Efficient Nested Recursive ComputationsVirtual
GPCE
Amir Shaikhha University of Edinburgh
DOI
11:37
22m
Talk
Composable Sequence Macros for Fast IterationVirtual
GPCE
Anna Bolotina Czech Technical University in Prague, Ryan Culpepper Czech Technical University in Prague
DOI