Program verification and synthesis frameworks that allow one to customize the language in which one is interested typically require the user to provide a formally defined semantics for the language. Because writing a formal semantics can be a daunting and error-prone task, this requirement stands in the way of such frameworks being adopted by non-expert users. We present an algorithm that can automatically synthesize inductively defined syntax-directed semantics when given (i) a grammar describing the syntax of a language and (ii) an executable (closed-box) interpreter for computing the semantics of programs in the language of the grammar. Our algorithm synthesizes the semantics in the form of Constrained-Horn Clauses (CHCs), a natural, extensible, and formal logical framework for specifying inductively defined relations that has recently received widespread adoption in program verification and synthesis. The key innovation of our synthesis algorithm is a Counterexample-Guided Synthesis (CEGIS) approach that breaks the hard problem of synthesizing a set of constrained Horn clauses into small, tractable expression-synthesis problems that can be dispatched to existing SyGuS synthesizers. Our tool Synantics synthesized inductively-defined formal semantics from 14 interpreters for languages used in program-synthesis applications. When synthesizing formal semantics for one of our benchmarks, Synantics unveiled an ambiguity in the semantics computed by the interpreter for a language of regular expressions; fixing the ambiguity resulted in a more efficient semantics and in a 1.1x speedup for a synthesizer solving synthesis problems over such a language.
Wed 23 OctDisplayed time zone: Pacific Time (US & Canada) change
10:40 - 12:20 | |||
10:40 20mTalk | A Pure Demand Operational Semantics with Applications to Program Analysis OOPSLA 2024 Scott F. Smith The Johns Hopkins University, Robert Zhang The University of Texas at Austin, The Johns Hopkins University Link to publication DOI Pre-print | ||
11:00 20mTalk | Automating Pruning in Top-Down Enumeration for Program Synthesis Problems with Monotonic Semantics OOPSLA 2024 Keith J.C. Johnson University of Wisconsin–Madison, Rahul Krishnan University of Wisconsin-Madison, Thomas Reps University of Wisconsin-Madison, Loris D'Antoni University of Wisconsin-Madison DOI Pre-print | ||
11:20 20mTalk | HOL4P4: mechanized small-step semantics for P4 OOPSLA 2024 Anoud Alshnakat KTH Royal Institute of Technology, Didrik Lundberg KTH Royal Institute of Technology and Saab AB, Roberto Guanciale KTH Royal Institute of Technology, Mads Dam KTH DOI | ||
11:40 20mTalk | Semantics Lifting for Syntactic Sugar OOPSLA 2024 Zhichao Guan Peking University, Yiyuan Cao Peking University, Tailai Yu Tsinghua University, Ziheng Wang , Di Wang Peking University, Zhenjiang Hu Peking University DOI | ||
12:00 20mTalk | Synthesizing Formal Semantics from Executable Interpreters OOPSLA 2024 Jiangyi Liu University of Wisconsin - Madison, Charlie Murphy University of Wisconsin–Madison, Anvay Grover University of Wisconsin-Madison, Keith J.C. Johnson University of Wisconsin–Madison, Thomas Reps University of Wisconsin-Madison, Loris D'Antoni University of Wisconsin-Madison DOI Pre-print |