Fri 25 Oct 2024 13:50 - 14:10 at San Gabriel - Program Synthesis and Verification 2 Chair(s): Tony Hosking

Automated verification of all members of a (potentially infinite) set of programs has the potential to be useful in program synthesis, as well as in verification of dynamically loaded code, concurrent code, and language properties. Existing techniques for verification of sets of programs are limited in scope and unable to create or use interpretable or reusable information about sets of programs. The consequence is that one cannot learn anything from one verification problem that can be used in another. Unrealizability logic (UL), proposed by Kim et al. as the first Hoare-style proof system to prove properties over sets of programs (defined by a regular tree grammar), presents a theoretical framework that can express and use reusable insight. In particular, UL features nonterminal summaries—inductive facts that characterize recursive nonterminals (analogous to procedure summaries in Hoare logic). In this work, we design the first UL proof synthesis algorithm, implemented as Wuldo. Specifically, we decouple the problem of deciding how to apply UL rules from the problem of synthesizing/checking nonterminal summaries by computing proof structure in a fully syntax-directed fashion. We show that Wuldo, when provided nonterminal summaries, can express and prove verification problems beyond the reach of existing tools, including establishing how infinitely many programs behave on infinitely many inputs. In some cases, Wuldo can even synthesize the necessary nonterminal summaries. Moreover, Wuldo can reuse previously proven nonterminal summaries across verification queries, making verification 1.96 times as fast as when summaries are instead proven from scratch.

Fri 25 Oct

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

13:50 - 15:30
Program Synthesis and Verification 2OOPSLA 2024 at San Gabriel
Chair(s): Tony Hosking Australian National University
13:50
20m
Talk
Automating Unrealizability Logic: Hoare-style Proof Synthesis for Infinite Sets of Programs
OOPSLA 2024
Shaan Nagy University of Wisconsin-Madison, Jinwoo Kim Seoul National University, Thomas Reps University of Wisconsin-Madison, Loris D'Antoni University of Wisconsin-Madison
DOI
14:10
20m
Talk
Compositionality and Observational Refinement for Linearizability with Crashes
OOPSLA 2024
Arthur Oliveira Vale Yale University, Zhongye Wang Shanghai Jiao Tong University, Yixuan Chen Yale University, Peixin You Yale University, Zhong Shao Yale University
DOI
14:30
20m
Talk
Hypra: A Deductive Program Verifier for Hyper Hoare Logic
OOPSLA 2024
Thibault Dardinier ETH Zurich, Anqi Li ETH Zurich, Peter MĂĽller ETH Zurich
DOI
14:50
20m
Talk
SMT2Test: From SMT Formulas to Effective Test Cases
OOPSLA 2024
Chengyu Zhang ETH Zurich, Zhendong Su ETH Zurich
DOI
15:10
20m
Talk
Validating SMT Solvers for Correctness and Performance via Grammar-based Enumeration
OOPSLA 2024
Dominik Winterer ETH Zurich, Zhendong Su ETH Zurich
DOI