Learning Highly Recursive Input Grammars
Neil Kulkarni, Caroline Lemieux, Koushik Sen
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. • We introduce ARVADA, which learns grammars from inputs strings and oracle via bubble-and-merge operations. • We distribute ARVADA's implementation as open source: https://github.com/neil-kulkarni/arvada . • We evaluate ARVADA on a variety of benchmarks against the state-of-the-art method GLADE. II. MOTIVATING EXAMPLE ARVADA takes as input a set of example strings S and an oracle O. The oracle returns True if its input string is valid and False otherwise. ARVADA's goal is to learn a grammar
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 0a1b6bbf-6fc3-4bbc-a082-d25910843082Cited by top-tier papers11
- "Synthesizing input grammars": a replication studyBachir Bendrissou, Rahul Gopinath, Andreas ZellerPLDI 2022 · 8 citations
- V-Star: Learning Visibly Pushdown Grammars from Program InputsXiaodong Jia, Gang TanPLDI 2024 · 4 citations
- Fast Deterministic Black-box Context-free Grammar InferenceMohammad Rifat Arefin, Suraj Shetiya, Zili Wang, Christoph CsallnerICSE 2024 · 4 citations
- Finding Short Slow Inputs Faster with Grammar-Based SearchZiyad Alsaeed, Michal YoungISSTA 2023 · 4 citations
- AsFuzzer: Differential Testing of Assemblers with Error-Driven Grammar InferenceHyungseok Kim, Soomin Kim, Jungwoo Lee, Sang Kil ChaISSTA 2024 · 2 citations
Builds on3
- NAUTILUS: Fishing for Deep Bugs with GrammarsCornelius Aschermann, Tommaso Frassetto, Thorsten Holz, Patrick Jauernig et al.NDSS 2019 · 291 citations
- GRIMOIRE: Synthesizing Structure while FuzzingTim Blazytko, Cornelius Aschermann, Moritz Schlögel, Ali Abbasi et al.USENIX Security 2019 · 123 citations
- Mining input grammars from dynamic control flowRahul Gopinath, Björn Mathis, Andreas ZellerFSE 2020 · 60 citations
Related papers
- Incremental Context-free Grammar Inference in Black Box SettingsFeifei Li, Xiao Chen, Xi Xiao, Xiaoyu Sun et al.ASE 2024 · 1 citation
- Context-Free Grammar Inference for Complex Programming Languages in Black Box SettingsFeifei Li, Xiao Chen, Xiaoyu Sun, Xi Xiao et al.ICSE 2026
- Grammar Repair with Examples and Tree AutomataYunjeong Lee, Gokul Rajiv, Ilya SergeyOOPSLA 2026
- Faster general parsing through context-free memoizationGrzegorz HermanPLDI 2020 · 4 citations
- Self-Supervised Inductive Logic ProgrammingStassa PatsantzisAAAI 2026
