SPLASH 2025
Sun 12 - Sat 18 October 2025 Singapore
co-located with ICFP/SPLASH 2025
Sat 18 Oct 2025 11:45 - 12:00 at Orchid Plenary Ballroom - Synthesis 1 Chair(s): Yingfei Xiong

This paper tackles the problem of synthesizing specifications for nondeterministic programs. For such programs, useful specifications can capture demonic properties, which hold for \emph{every} nondeterministic execution, but also angelic properties, which hold for \emph{some} nondeterministic execution. We build on top of a recently proposed a framework by Park et al. in which given (i) a \textit{quantifier-free} query $\Psi$ posed about a set of function definitions (i.e., the behavior for which we want to generate a specification), and (ii) a language $\mathcal{L}$ in which each extracted property is to be expressed (we call properties in the language $\mathcal{L}$-properties), the goal is to synthesize a conjunction $\bigwedge_i \varphi_i$ of $\mathcal{L}$-properties such that each of the $\varphi_i$ is a \emph{strongest $\mathcal{L}$-consequence} for $\Psi$: $\varphi_i$ is an over-approximation of $\Psi$ and there is no other $\mathcal{L}$-property that over-approximates $\Psi$ and is strictly more precise than $\varphi_i$. This framework does not apply to nondeterministic programs for two reasons: it does not support existential quantifiers in queries (which are necessary to expressing nondeterminism) and it can only compute $\mathcal{L}$-consequences, i.e., it is unsuitable for capturing both angelic and demonic properties.

This paper addresses these two limitations and presents a framework, LOUD, for synthesizing both \emph{strongest $\mathcal{L}$-consequences} and \emph{weakest $\mathcal{L}$-implicants} (i.e., under-approximations of the query $\Psi$) for queries that can involve \textit{existential quantifiers}. We implement a solver, ASPIRE, for problems expressed in LOUD which can be used to describe and identify sources of bugs in both deterministic and nondeterministic programs, extract properties from concurrent programs, and synthesize winning strategies in two-player games.

Sat 18 Oct

Displayed time zone: Perth change

10:30 - 12:15
Synthesis 1OOPSLA at Orchid Plenary Ballroom
Chair(s): Yingfei Xiong Peking University
10:30
15m
Talk
Abstraction Refinement-guided Program Synthesis for Robot Learning from Demonstrations
OOPSLA
Guofeng Cui Rutgers University, Yuning Wang Rutgers University, Wensen Mao Rutgers University, Yuanlin Duan Rutgers University, He Zhu Rutgers University, USA
10:45
15m
Talk
API-guided Dataset Synthesis to Finetune Large Code Models
OOPSLA
Li Zongjie Hong Kong University of Science and Technology, Daoyuan Wu Lingnan University, Shuai Wang Hong Kong University of Science and Technology, Zhendong Su ETH Zurich
11:00
15m
Talk
Fast Constraint Synthesis for C++ Function Templates
OOPSLA
Shuo Ding Georgia Institute of Technology, Qirun Zhang Georgia Institute of Technology
11:15
15m
Talk
Hambazi: Spatial Coordination Synthesis for Augmented Reality
OOPSLA
Yi-Zhen Tsai University of California, Riverside, Jiasi Chen University of Michigan, Mohsen Lesani University of California at Santa Cruz
11:30
15m
Talk
Inductive Synthesis of Inductive Heap Predicates
OOPSLA
Ziyi Yang National University of Singapore, Ilya Sergey National University of Singapore
11:45
15m
Talk
LOUD: Synthesizing Strongest and Weakest Specifications
OOPSLA
Kanghee Park University of Wisconsin-Madison, Xuanyu Peng University of California, San Diego, Loris D'Antoni University of California at San Diego
12:00
15m
Talk
Metamorph: Synthesizing Large Objects from Dafny Specifications
OOPSLA
Aleksandr Fedchin Tufts University, Alexander Bai New York University, Jeffrey S. Foster Tufts University