Litcius/Paper detail

Learning Highly Recursive Input Grammars

Neil Kulkarni, Caroline Lemieux, Koushik Sen

20212021 36th IEEE/ACM International Conference on Automated Software Engineering (ASE)24 citationsDOI

Abstract

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.98× in recall and 3.13× in F1 score, while incurring only a 1.27× slowdown and requiring only 0.87× 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.

Topics & Concepts

Computer scienceTree-adjoining grammarRule-based machine translationContext-free grammarL-attributed grammarIndexed grammarParsingOracleContext (archaeology)Theoretical computer scienceArtificial intelligenceTree (set theory)Context-sensitive grammarTime complexityProgramming languageAlgorithmMathematicsCombinatoricsBiologyPaleontologyMachine Learning and AlgorithmsSoftware Testing and Debugging TechniquesNatural Language Processing Techniques
Learning Highly Recursive Input Grammars | Litcius