V-Star: Learning Visibly Pushdown Grammars from Program Inputs

Xiaodong Jia, Gang Tan

Research output: Contribution to journalArticlepeer-review

Abstract

Accurate description of program inputs remains a critical challenge in the field of programming languages. Active learning, as a well-established field, achieves exact learning for regular languages. We offer an innovative grammar inference tool, V-Star, based on the active learning of visibly pushdown automata. V-Star deduces nesting structures of program input languages from sample inputs, employing a novel inference mechanism based on nested patterns. This mechanism identifies token boundaries and converts languages such as XML documents into VPLs. We then adapted Angluin's L-Star, an exact learning algorithm, for VPA learning, which improves the precision of our tool. Our evaluation demonstrates that V-Star effectively and efficiently learns a variety of practical grammars, including S-Expressions, JSON, and XML, and outperforms other state-of-The-Art tools.

Original languageEnglish (US)
Article number228
JournalProceedings of the ACM on Programming Languages
Volume8
DOIs
StatePublished - Jun 20 2024

All Science Journal Classification (ASJC) codes

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'V-Star: Learning Visibly Pushdown Grammars from Program Inputs'. Together they form a unique fingerprint.

Cite this