Learning Highly Recursive Input Grammars
Learning Highly Recursive Input Grammars
复制标题
学习高度递归输入语法
DOI:
10.1109/ase51524.2021.9678879
复制
发表时间:
2021
期刊:
影响因子:
--
通讯作者:
Koushik Sen
中科院分区:
文献类型:
--
作者:
Neil Kulkarni;Caroline Lemieux;Koushik Sen
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.