SEPLAug 30, 2021

Learning Highly Recursive Input Grammars

arXiv:2108.13340v127 citations
Originality Incremental advance
AI Analysis

This addresses the challenge of grammar inference for domains like programming languages, offering a method that excels with highly recursive structures, though it appears incremental as it builds on existing techniques like GLADE.

The paper tackles the problem of learning context-free grammars from positive examples using an oracle, presenting the Arvada algorithm that builds parse trees through bubbling operations to enable recursive generalization. It achieves significant improvements over GLADE, with average increases of 4.98x in recall and 3.13x in F1 score, while incurring only a 1.27x slowdown and requiring 0.87x as many oracle calls.

This paper presents Arvada, an algorithm for learning context-free grammars from a set of positive examples and a Boolean-valued oracle. Arvada learns a context-free grammar by building parse trees from the positive examples. Starting from initially flat trees, Arvada builds structure to these trees with a key operation: it bubbles sequences of sibling nodes in the trees into a new node, adding a layer of indirection to the tree. Bubbling operations enable recursive generalization in the learned grammar. We evaluate Arvada against GLADE and find it achieves on average increases of 4.98x in recall and 3.13x in F1 score, while incurring only a 1.27x slowdown and requiring only 0.87x as many calls to the oracle. Arvada has a particularly marked improvement over GLADE on grammars with highly recursive structure, like those of programming languages.

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