~/conference

PLDI 2023

PLDI echoes FCRC’s statement regarding recent legislation in Florida. Anyone, from any background, should feel encouraged to participate and contribute to PLDI. Differences – in age, race, gender and sexual orientation, nationality, physical ability, thinking style and experience – bring richness to our efforts in providing quality programs and services for the global computing community. Thus, PLDI is committed to creating an environment that welcomes new ideas and perspectives, and where hostility or other antisocial behaviors are not tolerated. Welcome to the home page of the 44th ACM ...

programming language researchers, compiler engineers, formal verification engineers, systems engineers, machine learning engineers, security and privacy engineers, parallel and concurrency engineers

dynamic partial order reduction for transactions; region inference for parallelism; homomorphic encryption compiler optimizations; neural network verification and repair; equality saturation with Datalog; WebAssembly program verification; CUDA memory safety debugging; probabilistic programming density compilation; modal and separation logics for concurrency; tensor algebra compiler interoperability; program synthesis for batch image processing; register tiling for unstructured sparsity

titleauthorlength
Dynamic Partial Order Reduction for Checking Correctness Against Transaction Isolation(…)Ahmed Bouajjani, Constantin Enea, Enrique Román-Calvo16m
First DPOR-based stateless model checking algorithm for transactional apps that is sound, complete and optimal and runs in polynomial memory. It is parametric…
Talk on
Efficient Parallel Functional Programming with EffectsJatin Arora, Sam Westrick, Umut A. Acar21m
Extends the MPL/Maple compiler for Parallel ML to track and pin entangled objects and install read barriers on mutable objects, proving entanglement management…
Talk on
Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise(…)Wenjie Ma, Shengyuan Yang, Tian Tan, Xiaoxing Ma, Chang Xu, Yue Li21m
Proposes Cut-Shortcut that cuts PFG edges causing merged flows and adds direct shortcut edges to simulate context sensitivity without cloning; implements two…
Talk on
Fuzzing Loop Optimizations in Compilers for C++ and Data-Parallel LanguagesVsevolod Livinskii, Dmitry Babokin, John Regehr17m
An open-source reimplementation of YARPGen reimplementation generates C/C++ and data-parallel tests that statically avoid undefined behavior using a…
Talk on
Better Together: Unifying Datalog and Equality SaturationYihong Zhang, Yisu Remy Wang, Oliver Flatt, David Cao, Philip Zucker, Eli Rosenthal, Zachary Tatlock, Max Willsey17m
egglog claims a single system that combines Datalog-style declarative analyses with equality-saturation rewriting by introducing functional dependency repair…
Talk on
A Lineage-Based Referencing DSL for Computer-Aided DesignDan Cascaval, Rastislav Bodík, Adriana Schulz18m
Proposes a semantics that records fine‑grained element lineage and exposes it as first‑class queries so references remain stable across parameterized…
Talk on
Parallelism in a Region Inference ContextMartin Elsman, Troels Henriksen18m
Implements a fork‑join parallel construct for a region‑inference compiler, embeds an effect-based region-protection inference that flags regions needing…
Talk on
Prompting Is Programming: A Query Language for Large Language ModelsLuca Beurer-Kellner, Marc Fischer, Martin Vechev30m
Introduces LMQL, a small query language that combines templated prompts, Python control flow and constraint decoding to steer off‑the‑shelf LLMs by masking…
Talk on
Architecture-Preserving Provable Repair of Deep Neural NetworksZhe Tao, Stephanie Nawas, Jacqueline Mitchell, Aditya V. Thakur21m
Presents an algorithm that modifies only network parameters to yield architecture-preserving fixes that are provably correct on entire V-polytopes, encoding…
Talk on
Better Defunctionalization through Lambda Set SpecializationWilliam Brandon, Benjamin Driscoll, Frank Dai, Wilson Berkow, Mae Milano23m
Claims a compiler pass called Lambda set specialization that turns defunctionalization into type monomorphization, implemented as a polymorphic internal type…
Talk on
Incremental Verification of Neural NetworksShubham Ugare, Debangshu Banerjee, Sasa Misailovic, Gagandeep Singh20m
Complete, verifier-agnostic method IVAN reuses branch-and-bound work by saving a specification tree of partitioned subproblems and then avoids costly analyzer…
Talk on
Responsive Parallelism with SynchronizationStefan K. Muller, Kyle Singer, Devyn Terra Keeney, Andrew Neth, Kunal Agrawal, I-Ting Angelina Lee, Umut A. Acar25m
Claims a static type system plus runtime priority-ceiling prevents priority inversions across mutexes and condition variables, with a formal soundness proof…
Talk on
Cutting the Cake: A Language for Fair DivisionNoah Bertram, Alex Levinson, Justin Hsu18m
A domain-specific language called Slice DSL encodes cake-cutting protocols and compiles them to logical constraints that are sound and complete with respect to…
Talk on
Loop Rerolling for Hardware DecompilationZachary D. Sisco, Jonathan Balkind, Timothy Sherwood, Ben Hardekopf19m
Defines hardware loop rerolling to recover syntactic loops from netlists by combining clone detection with sketch-based program synthesis using Rosette, and…
Talk on
HEaaN.MLIR: An Optimizing Compiler for Fast Ring-Based Homomorphic EncryptionSunjae Park, Woosung Song, Seunghyeon Nam, Hyeongyu Kim, Junbum Shin, Juneyoung Lee20m
A compiler that lowers ring HE programs into CPU machine code and two custom IRs Poly and ModArith IRs perform cross‑polynomial optimizations: optimized…
Talk on
Sound Dynamic Deadlock Prediction in Linear TimeHünkar Can Tunç, Umang Mathur, Andreas Pavlogiannis, Mahesh Viswanathan15m
Introduces a new class called sync-preserving deadlocks and two algorithms SPDOffline and SPDOnline that detect only those deadlocks but do so with overall…
Talk on
Performal: Formal Verification of Latency Properties for Distributed SystemsTony Nuda Zhang, Upamanyu Sharma, Manos Kapritsos20m
PerforMal gives a concrete method to prove worst case latency for real distributed code by modeling programs as state machines in Daphne, attaching ghost…
Talk on
Reliable Actors with Retry OrchestrationOlivier Tardieu, David Grove, Gheorghe-Teodor Bercea, Paul Castro, Jaroslaw Cwiklik, Edward Epstein18m
Proposes retry orchestration that guarantees failed actor invocations are retried, completed invocations never repeat, and strict happen‑before ordering across…
Talk on
Modular Hardware Design with Timeline TypesRachit Nigam, Adrian Sampson20m
Filament implements timeline types to encode when signals are produced and consumed, enforcing timing and structural constraints for statically scheduled…
Talk on
Memento: A Framework for Detectable Recoverability in Persistent MemoryKyeongmin Cho, Seungmin Jeon, Azalea Raad, Jeehoon Kang19m
Memento is a programming framework that proves and enforces detectable recoverability for persistent memory by using a timestamp-based recovery strategy plus…
Talk on
Beyond Backtracking: Connections in Fine-Grained Concurrent Separation LogicIke Mulder, Łukasz Czajka, Robbert Krebbers19m
Proposes a connection-based multi-succedent calculus that reduces blind backtracking for disjunctive invariants in fine-grained concurrent separation logic…
Talk on
Abstract Interpretation of Fixpoint Iterators with Applications to Neural NetworksMark Niklas Müller, Marc Fischer, Robin Staab, Martin Vechev15m
A new abstract-interpretation framework abstracts the concrete fixpoints of numerical fixpoint iterators and implements it in CRAFT, introducing the…
Talk on
Collecting Cyclic Garbage across Foreign Function Interfaces: Who Takes the Last Piece(…)Tetsuro Yamazaki, Tomoki Nakamaru, Ryota Shioya, Tomoharu Ugawa, Shigeru Chiba17m
Refgraph GC coordinates two independent tracing collectors by copying a compressed reference graph from Ruby into an unmodified JavaScript runtime so the JS…
Talk on
Scallop: A Language for Neurosymbolic ProgrammingZiyang Li, Jiani Huang, Mayur Naik17m
Scallop is a differentiable neurosymbolic language that compiles Datalog-style programs to a relational algebra machine and plugs into PyTorch, using a…
Talk on
Register Tiling for Unstructured Sparsity in Neural Network InferenceLucas Wilkinson, Kazem Cheshmi, Maryam Mehri Dehnavi16m
Introduces Sparse Register Tiling that uses an unroll-and-sparse-jam compile-time transformation plus compression to shrink SpMM code size and improve register…
Talk on
Don't Look UB: Exposing Sanitizer-Eliding Compiler OptimizationsRaphael Isemann, Cristiano Giuffrida, Herbert Bos, Erik van der Kouwe, Klaus von Gleissenthall18m
Differential-testing framework LookUB compiles programs with sanitizers on with and without optimization to expose optimizer transformations that remove…
Talk on
cuCatch: A Debugging Tool for Efficiently Catching Memory Safety Violations in CUDA(…)Mohamed Tarek Ibn Ziad, Sana Damani, Aamer Jaleel, Stephen W. Keckler, Mark Stephenson23m
cuCatch implements compiler-added read-metadata and safety-check instructions plus a runtime PST and two-level shadow map to retrieve per-allocation base, size…
Talk on
Indexed Streams: A Formal Intermediate Representation for Fused Contraction ProgramsScott Kovach, Praneeth Kolichala, Tiancheng Gu, Fredrik Kjolstad16m
A formal operational IR called index streams models sparse tensors and relations as transition systems with index, value, ready and skip functions…
Talk on
Type-Checking CRDT ConvergenceGeorge Zakhour, Pascal Weisenburger, Guido Salvaneschi16m
Propel is a Scala-embedded language and type system that encodes CRDT merge laws as types and automatically proves them by case analysis, induction, and…
Talk on
A Type System for Safe Intermittent ComputingMilijana Surbatovich, Naomi Spargo, Limin Jia, Brandon Lucia20m
Curricle is a Rust-based information-flow type system that classifies variables as item-potent or non-item-potent, adds access-mode inference to decide when…
Talk on
ImageEye: Batch Image Processing using Program SynthesisCeleste Barnaby, Qiaochu Chen, Roopsha Samanta, Işıl Dillig20m
A synthesis pipeline that learns programs in a neuro-symbolic DSL uses Amazon recognition detectors and an enumerative synthesizer with equivalence-reduction…
Talk on
Derivative Based Nonbacktracking Real-World Regex Matching with Backtracking SemanticsDan Moseley, Mario Nishio, Jose Perez Rodriguez, Olli Saarikivi, Stephen Toub, Margus Veanes, Tiki Wan, Eric Xu19m
A derivative-based algorithm produces input-linear matching without actual backtracking while preserving PC (backtracking) semantics and supporting anchors and…
Talk on
Mosaic: An Interoperable Compiler for Tensor AlgebraManya Bansal, Olivia Hsu, Kunle Olukotun, Fredrik Kjolstad19m
Mosaic is a Taco-based compiler that binds tensor expressions to external library or compiler functions via a scheduling API, substitutes bound subexpressions…
Talk on
Flux: Liquid Types for RustNico Lehmann, Adam T. Geller, Niki Vazou, Ranjit Jhala20m
Flux implements a novel refined type system for Rust as a plug-in to the Rust compiler that indexes mutable locations, introduces strong references for precise…
Talk on
Automated Expected Value Analysis of Recursive ProgramsMartin Avanzini, Georg Moser, Michael Schaper17m
Defines infer[.], a term representation that translates weakest pre-expectation semantics for recursive, imperative probabilistic programs into first-order…
Talk on
PureCake: A Verified Compiler for a Lazy Functional LanguageHrutvik Kanabar, Samuel Vivien, Oskar Abrahamsson, Magnus O. Myreen, Michael Norrish, Johannes Åman Pohjola, Riccardo Zanetti17m
PureCake is a mechanically verified compiler built in HOL4 that translates a Haskell-like lazy language, PureLang, down to machine code by targeting and…
Talk on
VMSL: A Separation Logic for Mechanised Robust Safety of Virtual Machines Communicating(…)Zongyuan Liu, Sergei Stepanenko, Jean Pichon-Pharabod, Amin Timany, Aslan Askarov, Lars Birkedal18m
Formalises a substantial fragment of Arm FF‑A as a toy ISA with hypercalls and develops VMSL separation logic to reason about VM-to-VM shared pages and handoff…
Talk on
CryptOpt: Verified Compilation with Randomized Program Search for Cryptographic PrimitivesJoel Kuepper, Andres Erbsen, Jason Gross, Owen Conoly, Chuyue Sun, Samuel Tian, David Wu, Adam Chlipala, Chitchanok Chuengsatiansup, Daniel Genkin, Markus Wagner, Yuval Yarom19m
CryptOpt turns Fiat Cryptography IR into x86-64 assembly by running a random local search over instruction selection and scheduling, auto-benchmarking…
Talk on
Merging Inductive RelationsJacob Prinz, Leonidas Lampropoulos19m
Algorithm takes two inductive relations over the same data type and produces a single relation provably equivalent to their conjunction by constructor-pair…
Talk on
Synthesizing MILP Constraints for Efficient and Robust OptimizationJingbo Wang, Aarti Gupta, Chao Wang17m
Proposes a syntax-guided synthesis pipeline that generates MILP encodings from arbitrary Boolean-linear specs, implementing an extensible DSL, iterative…
Talk on
Fair Operational SemanticsDongjae Lee, Minki Cho, Jinwoo Kim, Soonwon Moon, Youngju Song, Chung-Kil Hur20m
Proposes FOS, an operational semantics that can encode arbitrary fairness notions and gives a concrete proof technique: a fairness counter that drops on bad…
Talk
Formally Verified Samplers from Probabilistic Programs with Loops and ConditioningAlexander Bagnall, Gordon Stewart, Anindya Banerjee20m
Zar compiles cpGCL programs with unbounded loops and conditioning into proved-correct samplers in the random bit model, implemented and fully verified in Coq…
Talk
Verified Density Compilation for a Probabilistic Programming LanguageJoseph Tassarotti, Jean-Baptiste Tristan20m
Provides a mechanized semantics for a Stan subset and verifies three density-compilation passes in Coq, producing ProbCompCert that connects to CompCert down…
Talk on
Generalized Policy-Based Noninterference for Efficient Confidentiality-PreservationShamiek Mangipudi, Pavel Chuprikov, Patrick Eugster, Malte Viering, Savvas Savvides20m
Hydra implements a mechanism‑independent language and a type system that enforces a generalized noninterference property called S non-interference and…
Talk on
Trace-Guided Inductive Synthesis of Recursive Functional ProgramsYongwei Yuan, Arjun Radhakrishna, Roopsha Samanta20m
A method augments program search with explicit recursion traces and a new version space algebra that represents pairs of traces and programs under angelic…
Talk on
Taype: A Policy-Agnostic Language for Oblivious ComputationQianchuan Ye, Benjamin Delaware20m
Taype provides a policy-agnostic language and a compiler that implements oblivious algebraic data types and tape semantics, translating λOADT+ concepts into a…
Talk on
Recursive State Machine Guided Graph Folding for Context-Free Language ReachabilityYuxiang Lei, Yulei Sui, Shin Hwei Tan, Qirun Zhang15m
An algorithm called graph folding GF identifies adjacent node pairs that are provably removable for CFL‑reachability by examining only their incoming and…
Talk on
Covering All the Bases: Type-Based Verification of Test Input GeneratorsZhe Zhou, Ashish Mishra, Benjamin Delaware, Suresh Jagannathan19m
Claims a new coverage types system that interprets refinements as underapproximate reasoning and verifies whether generators actually produce every value in a…
Talk on
Modular Control Plane Verification via Temporal InvariantsTimothy Alberdingk Thijm, Ryan Beckett, Aarti Gupta, David Walker21m
Timepiece implements a temporal model and an SMT-backed verifier (C library plus harness) that replaces unsafe stable-state modular checks with temporal…
Talk on
Obtaining Information Leakage Bounds via Approximate Model CountingSeemanta Saha, Surendra Ghentiyala, Shihua Lu, Lucas Bang, Tevfik Bultan14m
Provides a method that produces sound upper and lower bounds on Shannon entropy when symbolic execution fails to explore all paths or model counters return…
Talk on
Automated Detection of Under-Constrained Circuits in Zero-Knowledge ProofsShankara Pailoor, Yanju Chen, Franklyn Wang, Clara Rodríguez, Jacob Van Geffen, Jason Morton, Michael Chu, Brian Gu, Yu Feng, Işıl Dillig19m
Tool QED2 performs semantic reasoning over Circom-generated polynomial equations by combining SMT solving with lightweight uniqueness inference in an…
Talk on
Psym: Efficient Symbolic Exploration of Distributed SystemsLauren Pick, Ankush Desai, Aarti Gupta18m
Psym implements a symbolic explorer for P programs that merges frontier states using composite value summaries and canonical BDD-backed SECI guards so…
Talk on
Inductive Program Synthesis via Iterative Forward-Backward Abstract InterpretationYongho Yoon, Woosuk Lee, Kwangkeun Yi17m
Implements a synthesis tool, Shimba, that uses iterative forward-backward abstract interpretation plus a reduced product domain and selective finite…
Talk
WasmRef-Isabelle: A Verified Monadic Interpreter and Industrial Fuzzing Oracle for(…)Conrad Watt, Maja Trela, Peter Lammich, Florian Märkl17m
A verified monadic interpreter for WebAssembly implemented in Isabelle/HOL and proven via a two-step refinement proof against WasmCert-Isabelle, extracted to…
Talk on
Extensible Metatheory Mechanization via Family PolymorphismEnde Jin, Nada Amin, Yizhou Zhang19m
Claims a language-layer for family polymorphism inside Coq that reuses code and proofs via late binding and generates a Coq plugin plus a core dependent type…
Talk on
Leveraging Rust Types for Program SynthesisJonáš Fiala, Shachar Itzhaky, Peter Müller, Nadia Polikarpova, Ilya Sergey21m
First deductive synthesizer for safe Rust that uses Rust types to both shrink specifications and prune search, extracting programs from proofs and guaranteeing…
Talk on
Cakes That Bake Cakes: Dynamic Computation in CakeMLThomas Sewell, Magnus O. Myreen, Yong Kiam Tan, Ramana Kumar, Alexander Mihajlovic, Oskar Abrahamsson, Scott Owens24m
Extends the verified CakeML compiler with an Eval primitive that compiles and executes new CakeML code at runtime, letting original and dynamic code share…
Talk on
Parameterized Algebraic ProtocolsAndreia Mordido, Janek Spaderna, Peter Thiemann, Vasco T. Vasconcelos20m
The work defines algebraic session types that name recursion like algebraic datatypes and claim type equivalence becomes linear-time nominal check instead of…
Talk on
Optimal Reads-From Consistency Checking for C11-Style Memory ModelsHünkar Can Tunç, Parosh Aziz Abdulla, Soham Chakraborty, Krishna Shankaranarayanan, Umang Mathur, Andreas Pavlogiannis15m
Characterizes reads-from consistency for C11 variants and gives concrete algorithms and hardness results: introduces a minimal coherence witness to avoid…
Talk on
Putting Weak Memory in Order via a Promising Intermediate RepresentationSung-Hwan Lee, Minki Cho, Roy Margalit, Chung-Kil Hur, Ori Lahav17m
Claims an in-order source semantics for C/C++ that preserves all common compiler optimizations for non-atomics by compiling to an out-of-order IR with…
Talk on
Search-Based Regular Expression Inference on a GPUMojtaba Valizadeh, Martin Berger20m
Enumerative RE inference runs as a cost-ordered search over languages encoded as contiguous matrix of bitvectors built from the infix-closure of the example…
Talk
An Automata-Based Framework for Verification and Bug Hunting in Quantum CircuitsYu-Fang Chen, Kai-Min Chung, Ondřej Lengál, Jyun-Ao Lin, Wei-Lun Tsai, Di-De Yen18m
Introduces an automata-based verification engine that encodes sets of quantum states as tree automata and implements gate semantics as automata transformers…
Talk on
Feature-Sensitive Coverage for Conformance Testing of Programming Language ImplementationsJihyeok Park, Dongjun Youn, Kanguk Lee, Sukyoung Ryu19m
Presents a new coverage refinement that distinguishes identical CFG nodes by their innermost language features and by feature-call paths (with k-limiting)…
Talk on
Probabilistic Programming with Stochastic ProbabilitiesAlexander K. Lew, Matin Ghavamizadeh, Martin C. Rinard, Vikash K. Mansinghka20m
Claims a compiler and runtime that let expressive probabilistic programs use noisy density estimates while preserving sound inference by design. It introduces…
Talk on
CommCSL: Proving Information Flow Security for Concurrent Programs using Abstract(…)Marco Eilers, Thibault Dardinier, Peter Müller21m
Claims a verification method that proves non‑interference for concurrent programs without any timing assumptions by requiring commutativity of updates only on…
Talk on
Synthesizing Quantum-Circuit OptimizersAmanda Xu, Abtin Molavi, Lauren Pick, Swamit Tannu, Aws Albarghouthi24m
Synthesizes a device-specific quantum-circuit optimizer from a gate-set spec in 1.2 minutes and outputs 7,001 symbolic rewrite rules for IBM’s gate set, giving…
Talk on
Mostly Automated Proof Repair for Verified LibrariesKiran Gopinathan, Mayank Keoliya, Ilya Sergey19m
Tool Sisyphus takes an old Coq-verified OCaml function, a changed OCaml implementation, and emits a mostly-automated Coq proof by combining dynamic program…
Talk
Garbage-Collection Safety for Region-Based Type-Polymorphic ProgramsMartin Elsman18m
Region-inference plus polymorphism produces a real soundness hole that yields dangling pointers during reference-tracing (and generational) collection; the…
Talk
One Pixel Adversarial Attacks via Sketched ProgramsTom Yuviler, Dana Drachsler Cohen19m
Claims a method called OPPSLA that synthesizes a sketch-based prioritization program to find one-pixel (or few-pixel) adversarial examples for CIFAR-10 and…
Talk on
Repairing Regular Expressions for ExtractionNariyoshi Chida, Tachio Terauchi17m
A tool called R3 implements the first PBE-based synthesis and repair for extraction, supporting real-world extensions like backreferences and lookarounds. It…
Talk
Embedding Hindsight Reasoning in Separation LogicRoland Meyer, Thomas Wies, Sebastian Wolff21m
The work embeds hindsight reasoning into separation logic via a new proof rule called temporal interpolation, implemented in an automated tool that proves…
Talk on
Proving and Disproving Equivalence of Functional Programming AssignmentsDragana Milovančević, Viktor Kuncak20m
A tool implemented on top of the Stainless verifier automatically proves or disproves student Scala submissions by generating inductive equivalence proofs or…
Talk
Compound Memory ModelsAndrés Goens, Soham Chakraborty, Susmit Sarkar, Sukarn Agarwal, Nicolai Oswald, Vijay Nagarajan16m
Defines a compositional operational specification that composes distinct device models into a x86TSO/PTX compound model and proves C-to-architecture compiler…
Talk on
Absynthe: Abstract Interpretation-Guided SynthesisSankha Narayan Guria, Jeffrey S. Foster, David Van Horn20m
Framework uses user-defined abstract domains to prune families of candidate programs during enumerative search, infers abstract values for intermediate holes…
Talk
Lilac: A Modal Separation Logic for Conditional ProbabilityJohn M. Li, Amal Ahmed, Steven Holtzen19m
Lilac presents a separation logic that models probability spaces as heap-like resources and defines an independent combination operator that interprets…
Talk
Conflict-Driven Synthesis for Layout EnginesJunrui Liu, Yanju Chen, Eric Atkinson, Yu Feng, Rastislav Bodík22m
Medea synthesizes incremental layout engines from an attribute grammar specification plus a traversal sketch, using symbolic execution to produce concrete…
Talk on
Iris-Wasm: Robust and Modular Verification of WebAssembly ProgramsXiaojia Rao, Aina Linn Georges, Maxime Legoupil, Conrad Watt, Jean Pichon-Pharabod, Philippa Gardner, Lars Birkedal16m
Iris-Wasm mechanizes Wasm 1.0 in Coq on top of the Iris framework and claims modular, higher-order verification that composes across host boundaries. It builds…
Talk on
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.