POPL 2024
Sun 14 - Sat 20 January 2024 London, United Kingdom
Wed 17 Jan 2024 19:26 - 19:31 at Riverside Room - SRC Poster Session

Gradual verification supports partial specifications by soundly applying static checking where possible and dynamic checking when necessary. This approach supports incrementality and provides a formal guarantee of verifiability. The first gradual verifier, Gradual C0, supports programs that manipulate recursive, mutable data structures on the heap and minimizes dynamic checks with statically available information. However, the current approach for evaluating these dynamic checks is naive during incremental specificity. There is a re-assertion of dynamic checks for all imprecise logic, even if these formulas might share the same trace path. In this paper, we introduce an optimization pipeline for identifying and minimizing these common traces. We accomplish this by treating all iso-recursive predicates as equi-recursive at runtime. To not break the soundness of Gradual񐶰, we do not make any changes to the semantic evaluation of the static verifier. Instead, we preserve the evaluation of iso-recursive predicates statically, and carry this information into Gradual C0’s Gradual Viper intermediate representation. By unrolling all static predicates as if they were dynamic checks, we are able to correlate when the naive dynamic checks from the optimistic IR overlap. This allows us to perform a more sophisticated predicate equivalence matching using the Z3 SMT solver. We suggest that the lazy treatment of static specifications at the source-level is more in line with the incremental philosophy of gradual verification, and better supports more complex dynamic checks. We show the effectiveness on our benchmarks of tree data structures. We also raise the question of synthesizing intermediate predicates to bridge partial predicate matching.

I’m an undergrad @ Cornell University working towards computer science and philosophy degrees. My main research goals involve developing practical tools for software verification in general and domain-specific cases through programming language theory.

Wed 17 Jan

Displayed time zone: London change

18:15 - 20:00
18:15
4m
Poster
A Denotational Approach to Release/Acquire Concurrency
Student Research Competition
Yotam Dvir Tel Aviv University
18:19
4m
Talk
A Lean Formalization of Cedar
Student Research Competition
Bhakti Shah University of Chicago
18:24
4m
Talk
A Substructural Type and Effect System
Student Research Competition
Orpheas van Rooij Radboud University
18:29
4m
Poster
A type-safe generalized editor calculus (Extended Abstract)
Student Research Competition
Nikolaj Rossander Kristensen Department of Computer Science, Aalborg University, Benjamin Bennetzen Department of Computer Science, Aalborg University, Peter Buus Steffensen Department of Computer Science, Aalborg University, Andreas Tor Mortensen Department of Computer Science, Aalborg University
18:34
4m
Poster
Compilation Quotient (CQ): A Metric for the Compilation Hardness of Programming Languages
Student Research Competition
Vince Szabó Delft University of Technology
18:38
4m
Poster
Compositional Programming with Full Iso-recursive Types
Student Research Competition
Litao Zhou Shanghai Jiao Tong University; University of Hong Kong
18:43
4m
Poster
Differential Privacy in an Impure World
Student Research Competition
Damián Arquez University of Chile
18:48
4m
Poster
Effect handlers in Zig (extended abstract)
Student Research Competition
Alessio Duè University of Pisa
18:53
4m
Talk
Efficient Incremental Computation for Halide
Student Research Competition
Tyler Hou University of California, Berkeley
Pre-print
18:57
4m
Talk
Embedding Pointful Array Programming in Python
Student Research Competition
Jakub Bachurski University of Cambridge
19:02
4m
Poster
Exploring the limitations of Contextual Modal Type Theory for Multi-Stage Programming
Student Research Competition
Theo Wang University of Oxford
19:07
4m
Poster
From Java to Kotlin with Contextual Equality Saturation
Student Research Competition
19:12
4m
Poster
GPU-Accelerated Synthesis of Boolean Circuits
Student Research Competition
Justin Du University of California, San Diego, Rana Lulla University of California San Diego, Melody Ruth University of California San Diego
19:17
4m
Talk
HOL4P4: A Heapless Small-Step Semantics and Type System for P4
Student Research Competition
Anoud Alshnakat KTH Royal Institute of Technology, Roberto Guanciale KTH Royal Institute of Technology, Mads Dam KTH
19:21
4m
Poster
Linking Session-Typed Channels in Separation Logic
Student Research Competition
Thomas Somers Radboud University
19:26
4m
Poster
Optimization of a Gradual Verifier: Lazy evaluation of Iso-recursive Predicates as Equi-recursive at Runtime
Student Research Competition
Jan-Paul Ramos-Davila Cornell University
19:31
4m
Poster
Optimization of the Context-Free Language Reachability Matrix-Based Algorithm
Student Research Competition
Ilya Muravjov Saint Petersburg State University
19:36
4m
Poster
PiR (πr): Probabilistic Interpretation of Robustness
Student Research Competition
Abhinandan Pal University of Birmingham
19:40
4m
Talk
Session-Typed Effect Handlers
Student Research Competition
Wenhao Tang University of Edinburgh
19:45
4m
Poster
Tail: A Typed and Structured Document Editor
Student Research Competition
Alperen Keles University of Maryland at College Park
19:50
4m
Poster
Towards programmatic reinforcement learning: the case of deterministic gridworlds
Student Research Competition
Guruprerana Shabadi École Polytechnique, Institut Polytechnique de Paris
19:55
4m
Poster
Zero-Cost Capabilities: Retrofitting Effect Safety in Rust
Student Research Competition
George Berdovskiy University of California, Davis