SPLASH 2026
Sun 4 - Fri 9 October 2026 Oakland, California, United States
co-located with SPLASH/ISSTA 2026

This program is tentative and subject to change.

Mon 5 Oct 2026 11:06 - 11:24 at Junior Ballroom 1&2 - Synthesis and Specification Chair(s): Jocelyn Qiaochu Chen

Programming languages evolve over time, but often without a complete and unambiguous definition of their syntax and semantics. Ambiguities and inconsistencies are silently introduced into specifications, and manifest as divergences between the specification, implementations, and formalizations that constitute the language ecosystem. Even in rare cases when a normative specification exists, like JavaScript and WebAssembly (Wasm), keeping the ecosystem in sync is a daunting task. Language mechanization frameworks address this problem by treating a mechanized specification as the single source of truth, from which implementations and documents are generated. Recently, this approach has been integrated into the actual JavaScript and Wasm specifications with ESMeta and Wasm-SpecTec, respectively. Despite these successes, it remains an open question how to extrapolate ESMeta and Wasm-SpecTec to other language specifications. Both framework designs leverage the existence of JavaScript and Wasm’s normative specifications, which is not the case for many languages.
As a first step towards addressing this question, we present P4-SpecTec, a language mechanization framework for the P4 programming language, as a case study of real-world adoption of language mechanization. P4 is a statically-typed domain-specific language for programming packet processors. It is evolving without a normative specification, thereby introducing inconsistencies and errors into the P4 ecosystem. From a mechanization framework perspective, P4 introduces unique challenges, in particular the requirement that its type system mechanization should be executable, which is not supported by either ESMeta or Wasm-SpecTec. To address this challenge, we introduce algorithmic inference rules as the primary instrument for mechanization, enabling the mechanized P4 static and dynamic semantics to be executed as a P4 type checker and interpreter, respectively. We mechanized the most recent P4 specification, and utilizing its executability, identified 24 bugs across the official P4 specification and the reference compiler. Furthermore, P4-SpecTec derives a specification document as prose algorithms, making it accessible to P4 developers. P4-SpecTec is conditionally adopted as the official P4 specification authoring toolchain. We share the lessons learned from our case study, to provide insights for integrating mechanization into real-world languages without normative specifications.

This program is tentative and subject to change.

Mon 5 Oct

Displayed time zone: Pacific Time (US & Canada) change

10:30 - 12:00
Synthesis and SpecificationOOPSLA at Junior Ballroom 1&2
Chair(s): Jocelyn Qiaochu Chen University of Alberta
10:30
18m
Talk
Grammar Repair with Examples and Tree Automata
OOPSLA
Yunjeong Lee National University of Singapore, Gokul Rajiv National University of Singapore, Ilya Sergey National University of Singapore
DOI
10:48
18m
Talk
Hybrid Game Control Envelope Synthesis
OOPSLA
Aditi Kabra Carnegie Mellon University, Jonathan Laurent KIT, Stefan Mitsch DePaul University, André Platzer KIT
DOI
11:06
18m
Talk
P4-SpecTec: Integrating a Language Mechanization Framework into the Real-World P4 Specification
OOPSLA
DOI
11:24
18m
Talk
Commit-Window Observation Contracts for Reactive Entity-Component Systems
OOPSLA
Tomoyuki Aotani Shibaura Institute of Technology, Tetsuo Kamina Oita University
DOI
11:42
18m
Talk
Incremental Program Synthesis from Event Logs
OOPSLA
Jinwoo Kim University of California at San Diego, Victor Nicolet Amazon, Joey Dodds Amazon, Loris D'Antoni University of California at San Diego
DOI
Hide past events