Fast Deterministic Black-box Context-free Grammar Inference
Mohammad Rifat Arefin, Suraj Shetiya, Zili Wang, Christoph Csallner
TL;DR
The paper tackles black-box CFG inference under limited program samples, where prior work like Arvada suffers from nondeterministic exploration and high $O(n^4)$ runtime. It introduces TreeVada, a deterministic approach that pre-structures input programs along bracket nesting, applies learned rules recursively, and uses depth- and length-aware bubble ranking to guide generalization. Empirical evaluation across multiple seed sets shows TreeVada achieves faster runtimes and higher F1 scores than Arvada in most cases, with grammars that are often smaller and more parse-efficient; the method is open-source. This work enhances reproducibility and applicability of black-box CFG inference for languages with closed parsers, aiding tasks such as code comprehension, reverse engineering, and robust test-input generation.
Abstract
Black-box context-free grammar inference is a hard problem as in many practical settings it only has access to a limited number of example programs. The state-of-the-art approach Arvada heuristically generalizes grammar rules starting from flat parse trees and is non-deterministic to explore different generalization sequences. We observe that many of Arvada's generalization steps violate common language concept nesting rules. We thus propose to pre-structure input programs along these nesting rules, apply learnt rules recursively, and make black-box context-free grammar inference deterministic. The resulting TreeVada yielded faster runtime and higher-quality grammars in an empirical comparison. The TreeVada source code, scripts, evaluation parameters, and training data are open-source and publicly available (https://doi.org/10.6084/m9.figshare.23907738).
