~/conference

OOPSLA 2021

date:2021-10-17..2021-10-22
location:-- online --
series:OOPSLA · 7 editions

PACMPL Issue OOPSLA 2021 seeks contributions on all aspects of programming languages and software engineering. Authors of papers published in PACMPL Issue OOPSLA 2021 will be invited to present their work in the OOPSLA track of the SPLASH conference in November. Papers may target any stage of software development, including requirements, modeling, prototyping, design, implementation, generation, analysis, verification, testing, evaluation, maintenance, and reuse of software systems. Contributions may include the development of new tools (such as language front-ends, program analyses, and r ...

titleauthorlength
Type Stability in Julia: Avoiding Performance Pathologies in JIT CompilationArtem Pelenitsyn, Julia Belyakova, Benjamin W Chung, Ross Tate, Jan Vitek13m
Formalizes type stability and introduces a stronger property, type groundedness, proves grounded instances always fully devirtualize under a modeled JIT, and…
Talk on
Permchecker: A Toolchain for Debugging Memory Managers with TypestateKarl Cronburg15m
Permchecker makes heap structure explicit by generating a DSL compiler for typestate specs, an LLVM annotation pass, and a PIN dynamic tool that enforces…
Talk on
The Reads-From Equivalence for the TSO and PSO Memory ModelsTruc Lam Bui, Krishnendu Chatterjee, Tushar Gautam, Andreas Pavlogiannis, Viktor Toman14m
Presents algorithms that decide reads-from (RF) consistency for TSO and PSO with explicit complexity: n^{k+1} bound for TSO and n^{k+1}·min(n^{k^2},2^{k·d})…
Talk on
Specifying and Testing GPU Workgroup Progress ModelsTyler Sorensen, Lucas Fernan Salvador, Harmit Raval, Hugues Evrard, John Wickerson, Margaret Martonosi, Alastair F. Donaldson15m
A toolbox formalizes a tiny concurrent language, implements executable semantics in the CDP model checker, synthesizes 483 litmus tests, compiles them to…
Talk on
Well-Typed Programs Can Go Wrong: A Study of Typing-Related Bugs in JVM CompilersStefanos Chaliasos, Thodoris Sotiropoulos, Georgios-Petros Drosos, Charalambos Ioannis Mitropoulos, Dimitris Mitropoulos, Diomidis Spinellis15m
Manual analysis of 320 typing-related bugs from Java, Scala, Kotlin and Groovy reveals concrete testing targets and failure modes: more than half are…
Talk on
Generative Type-Aware Mutation for Testing SMT SolversJiwon Park, Dominik Winterer, Chengyu Zhang, Zhendong Su12m
Generative Type-Aware Mutation implements expression mutation using SMT-LIB operator signatures to produce grammatically correct but larger mutants, realized…
Talk on
Transitioning from Structural to Nominal Code with Efficient Gradual TypingFabian Muehlboeck, Ross Tate14m
MonNom is an object language that lets untyped structural records and lambdas dynamically acquire nominal interfaces (but not classes) via monotonic casts…
Talk on
A Type System for Extracting Functional Specifications from Memory-Safe Imperative ProgramsPaul He, Edwin Westbrook, Brent Carmer, Chris Phifer, Valentin Robert, Karl Smeltzer, Andrei Stefanescu, Aaron Tomb, Adam Wick, Matthew Yacavone, Steve Zdancewic13m
A memory-safe Rust-like type system called Heapster typechecks LLVM IR and extracts Coq functions that represent imperative behavior without pointer reasoning…
Talk on
Programming and Execution Models for Parallel Bounded Exhaustive TestingNader Al Awar, Kush Jain, Chris Rossbach, Milos Gligoric15m
Tempo presents a concrete system for parallel bounded-exhaustive testing: a small API (explore, choice, ignore), OpenMP CPU and CUDA GPU backends, and three…
Talk on
Interpretable Noninterference Measurement and its Application to Processor DesignsZiqiao Zhou, Michael K. Reiter15m
DINoMe scales quantitative noninterference measurement to a full RISC-V BOOM Verilog core by translating Verilog to SMT2 with Yosys-to-SMT2, composing…
Talk on
Fully Automated Functional Fuzzing of Android Apps for Detecting Non-Crashing Logic BugsTing Su, Zhendong Su, Yichen Yan, Jingling Sun, Yiheng Xiong13m
Proposes independent view fuzzing and a tool called Genie that automatically mines a GUI transitional model, finds independent event traces, injects them into…
Talk on
SimTyper: Sound Type Inference for Ruby using Type Equality PredictionMilod Kazerounian, Jeffrey S. Foster, Bonan Min14m
SimTyper infers usable Ruby types by combining constraint solving, InferDL-style heuristics, and a learned type equality prediction model. It builds DeepSim (a…
Talk on
Safer at Any Speed: Automatic Context-Aware Safety Enhancement for RustNatalie Popescu, Ziyang Xu, Sotiris Apostolakis, David I. August, Amit Levy15m
Rust libraries use unchecked indexing in 10% of the 500 most downloaded packages, and small compiler or workload changes make bounds-check overhead vary…
Talk on
Generalizable Synthesis Through UnificationRuyi Ji, Jingtao Xia, Yingfei Xiong, Zhenjiang Hu14m
Defines an Occam solver with PAC-style guarantees and proves Eusolver fails that criterion, then builds PolyGen, an Occam STUN solver that decomposes CLIA…
Talk on
Gradually Structured DataStefan Malewski, Michael Greenberg, Éric Tanter13m
A formal core language for “gradually structured data” introduces open and closed algebraic datatypes, two new runtime types—unknown datatype and unknown open…
Talk on
Making Pointer Analysis More Precise by Unleashing the Power of Selective Context SensitivityTian Tan, Yue Li, Xiaoxing Ma, Chang Xu, Yannis Smaragdakis15m
Proposes Unity-Relay, a meta-framework that combines multiple selective context sensitivity strategies and, when needed, runs them in successive passes using…
Talk on
Coarsening Optimization for Differentiable ProgrammingXipeng Shen, Guoqiang Zhang, Irene Dea, Samantha Andow, Emilio Arroyo-Fang, Neal Gafter, Johann George, Melissa Grueter, Erik Meijer, Olin Shivers, Steffi Stumpos, Alanna Tempest, Christy Warden, Shannon Yang15m
Paper presents coarsening optimization that raises segments to symbolic level, applies differentiation and lowers optimized code, and reports several-times to…
Talk on
Efficient Compilation of Algebraic Effect HandlersGeorgios Karachalias, Filip Koprivec, Matija Pretnar, Tom Schrijvers15m
An optimizing Eff→OCaml compiler is implemented that uses a two-phase ExEff/NoEff pipeline with type-and-effect directed rewrites, function specialization and…
Talk on
LXM: Better Splittable Pseudorandom Number Generators (and Almost as Fast)Guy L. Steele Jr., Sebastiano Vigna15m
LXM is a concrete PRNG design that sums an LCG and an F2-linear (xoroshiro/xoshiro) generator and then applies a mixer, claiming LCG+XBG+mix yields long…
Talk on
Not So Fast: Understanding and Mitigating Negative Impacts of Compiler Optimizations on Code Reuse GMichael D. Brown, Matthew Pruett, Robert Bigelow, Girish Mururu, Santosh Pande15m
Study compares 1,187 variants of 20 benchmarks compiled with GCC and Clang using the gadget analyzer GSA, and finds compiler optimizations massively change…
Talk on
Reconciling Optimization With Secure CompilationSon Tuan Vu, Albert Cohen, Arnaud de Grandmaison, Christophe Guillon, Karine Heydemann16m
Claims a way to make compiler optimizations preserve security-relevant intermediate state by adding opaque observations and an opacification mechanism that…
Talk on
Scalability and Precision by Combining Expressive Type Systems and Deductive VerificationFlorian Lanzinger, Alexander Weigl, Mattias Ulbrich, Werner Dietl14m
Implementation builds a Property Checker and a JML translator that converts unproven type checks into assertions for KeY/OpenJML and proven ones into…
Talk on
Relational Nullable Types with Boolean UnificationMagnus Madsen, Jaco van de Pol14m
Proposes a concrete type system that records two Boolean formulas per expression to track may-null and may-present, extends Hindley‑Milner with Boolean…
Talk
MonkeyDB: Effectively Testing Correctness under Weak Isolation LevelsRanadeep Biswas, Diptanshu Kakwani, Jyothi Vedurada, Constantin Enea, Akash Lal14m
MonkeyDB is a mock storage that computes, from an axiomatic isolation spec, the full set of values a read could legally return and returns a random value from…
Talk on
QuickSilver: Modeling and Parameterized Verification for Distributed Agreement-Based SystemsNouraldin Jaber, Christopher Wagner, Swen Jacobs, Milind Kulkarni, Roopsha Samanta15m
QuickSilver introduces the Mercury modeling language with two concrete agreement primitives, Partition and Consensus, that abstract verified Paxos/Raft-style…
Talk on
Semantic programming by example with pre-trained modelsGust Verbruggen, Vu Le, Sumit Gulwani15m
A system combines FlashFill-style deductive synthesis with GPT-3 to handle semantic string ops by adding three semantic operators (e.g. SemMap, SemPos) and a…
Talk on
Solver-based Gradual Type MigrationLuna Phipps-Costin, Carolyn Jane Anderson, Michael Greenberg, Arjun Guha12m
TypeWhich automates gradual type migration by emitting GTLC constraints solved with an off‑the‑shelf MaxSMT-based constraints backend instead of custom…
Talk
Static Detection of Silent Misconfigurations with Deep Interaction AnalysisJialu Zhang, Ruzica Piskac, Ennan Zhai, Tianyin Xu15m
Builds a tool called ConfigX that statically links configuration entries to code via LLVM IR, applies customized data- and control-flow tainting to derive…
Talk on
Synthesizing Contracts Correct Modulo a Test GeneratorAngello Astorga, Shambwaditya Saha, Ahmad Dinkins, Felicia Wang, P. Madhusudan, Tao Xie14m
Approach synthesizes tight contracts as decision trees and integrates a SyGuS-based learner (CVC4Sy) with the Pex test generator to get guarantees modulo a…
Talk on
A Multiparty Session Typing Discipline for Fault-tolerant Event-driven Distributed ProgrammingMalte Viering, Raymond Hu, Patrick Eugster, Lukasz Ziarek15m
Presents a new MPST formulation that supports event-driven multiparty sessions with handlers for I/O and partial failures, including dynamic replacement of…
Talk on
Statically Bounded-Memory Delayed Sampling for Probabilistic StreamsEric Atkinson, Guillaume Baudart, Louis Mandel, Charles Yuan, Michael Carbin15m
Defines two dataflow conditions, m-consumed and unseparated path, and proves they are necessary and sufficient for delayed sampling to use bounded memory on…
Talk
Making Weak Memory Models FairOri Lahav, Egor Namakonov, Jonas Oberhauser, Anton Podkopaev, Viktor Vafeiadis14m
Proposes a uniform memory fairness condition for declarative weak memory models (requires porf-acyclicity) and proves it is equivalent to natural operational…
Talk on
Study of the Subtyping Machine of Nominal Subtyping with VarianceOri Roth14m
Class fragments of Kennedy and Pierce’s nominal subtyping map to concrete tree-language classes: the lattice of fragments is characterized as non-expansive =…
Talk on
Label Dependent Lambda Calculus and Gradual TypingWeili Fu, Fabian Krause, Peter Thiemann15m
A small dependently typed core called the label-dependent lambda calculus models records as functions over first-class labels and adds lightweight…
Talk
APIfix: Output-Oriented Program Synthesis for Combating Breaking Changes in LibrariesXiang Gao, Arjun Radhakrishna, Gustavo Soares, Ridwan Salihin Shariffdeen, Sumit Gulwani, Abhik Roychoudhury15m
APIFix uses output-oriented synthesis to infer API-adaptation edits by mining human edits plus existing updated-library usages, then performs provenance…
Talk on
VESPA: Static Profiling for Binary OptimizationAngelica Aparecida Moreira, Guilherme Ottoni, Fernando Magno Quintão Pereira14m
Claims a static profiler that replaces runtime counters in BOLT and produces measurable speedups by predicting branch probabilities via a regression DNN from…
Talk on
FPL: Fast Presburger Arithmetic through TransprecisionArjun Pitchanathan, Christian Ulmann, Michel Weber, Torsten Hoefler, Tobias Grosser14m
A new C++ Presburger library lives inside MLIR and targets real polyhedral workloads: a benchmark of over 1,000,000 extracted Presburger cases shows…
Talk on
Translating C to Safer RustMehmet Emre, Ryan Schroeder, Kyle Dewey, Ben Hardekopf15m
Paper presents an automated C→Rust translation that infers lifetimes and ownership, rewrites function and struct signatures, and iteratively uses Rust compiler…
Talk on
Much ADO about Failures: A Fault-Aware Model for Compositional Verification of Strongly Consistent DWolf Honore, Jieung Kim, Ji-Yong Shin, Zhong Shao15m
Presents a fault-aware ADO model that exposes partial failures (uncommitted but visible updates) while hiding protocol internals, and a verification stack…
Talk on
Compiling with Continuations, CorrectlyZoe Paraskevopoulou, Anvay Grover15m
Presents a novel simulation that combines syntactic simulations with a logical relation: it uses an untyped step-indexed logical relation parameterized by a…
Talk on
Durable Functions: Semantics for Stateful ServerlessSebastian Burckhardt, Chris Gillum, David Justo, Konstantinos Kallas, Connor McMahon, Christopher S. Meiklejohn15m
Durable Functions extends FaaS with actors, workflows and entities and claims to give strong, fault free semantics while running on ephemeral workers and…
Talk on
Program Analysis via Efficient Symbolic AbstractionPeisen Yao, Qingkai Shi, Heqing Huang, Charles Zhang13m
Two algorithms compute most-precise abstractions for quantifier-free bit-vector formulas over the interval and a convex polyhedral-like domain, using…
Talk on
Dynaplex: Analyzing Program Complexity using Dynamically Inferred Recurrence RelationsDidier Ishimwe, KimHao Nguyen, ThanhVu Nguyen15m
Dynaplex instruments recursive programs, infers recurrences from traces (sizes, recursion depth, loop counts), fits cost terms by regression, and solves with…
Talk on
Symbolic Value-Flow Static Analysis: Deep, Precise, Complete Modeling of Ethereum Smart ContractsYannis Smaragdakis, Neville Grech, Sifis Lagouvardos, Konstantinos Triantafyllou, Ilias Tsatiris15m
A static analysis combines a Datalog fixpoint engine with a tightly integrated symbolic solver, invoking the solver tens to hundreds of thousands of times to…
Talk on
Multi-modal Program Inference: a Marriage of Pre-trained Language Models and Component-based SynthesKia Rahmani, Mohammad Raza, Sumit Gulwani, Vu Le, Daniel Morris, Arjun Radhakrishna, Gustavo Soares, Ashish Tiwari16m
NLX combines GPT-3 candidates with a component-based synthesizer to turn ambiguous English plus examples into precise code. It targets regexes and CSS…
Talk on
Promises Are Made to be BrokenAviral Goel, Jan Ječmen, Sebastián Krynski, Olivier Flückiger, Jan Vitek14m
Presents a concrete migration: a dynamic analyzer called LazR that generates strictness signatures for R functions (52K functions, 204K parameters inferred)…
Talk
Synbit: Synthesizing Bidirectional Programs using Unidirectional SketchesMasaomi Yamaguchi, Kazutaka Matsuda, Cristina David, Meng Wang14m
Synbit synthesizes well behaved bidirectional programs in HOBiT from a unidirectional get plus a few I/O examples by converting get into a partial sketch…
Talk
Data-Driven Abductive Inference of Library SpecificationsZhe Zhou, Robert F. Dickerson, Benjamin Delaware, Suresh Jagannathan15m
Tool named Elrond infers specifications for black‑box OCaml libraries by combining random testing, SMT counterexample-guided refinement, and an abduction loop…
Talk on
The Semantics of Shared Memory in Intel CPU/FPGA SystemsDan Iorga, Alastair F. Donaldson, Tyler Sorensen, John Wickerson13m
Defines precise weak‑memory behaviors for Intel Xeon + Arria FPGA systems, encoding them as an operational model in CBMC and an axiomatic model in Alloy and…
Talk on
JavaDL: Automatically Incrementalizing Java Bug Pattern DetectionAlexandru Dura, Christoph Reichenbach, Emma Söderberg12m
JavaDL is a Datalog-based language that merges fact extraction with analysis so AST nodes are first-class facts and rules use syntactic patterns and semantic…
Talk on
Compacting Points-To Sets Through Object ClusteringMohamad Barbar, Yulei Sui15m
Maps memory objects to integers so bit-vector points-to sets shrink; formulates an optimal mapping as an integer linear program but falls back to fast…
Talk on
A Derivative-based Parser Generator for Visibly Pushdown GrammarsXiaodong Jia, Ashish Kumar, Gang Tan14m
A derivative-based parser generator converts visibly pushdown grammars to a deterministic PDA and produces a shared parse forest in linear time, with a…
Talk on
What we Eval in the ShadowsAviral Goel, Pierre Donat-Bouillud, Filip Krikava, Christoph Kirsch, Jan Vitek14m
Study of 240,327 R scripts (15,401 packages) records 49,296,059 eval calls and exercises ~18k eval call-sites, showing eval is pervasive and varied. Only 6% of…
Talk
SpecSafe: Detecting Cache Side Channels in a Speculative WorldRobert Brotzman-Smith, Danfeng Zhang, Mahmut Taylan Kandemir, Gang Tan15m
SpecSafe detects cache side channels by defining Speculative-Aware noninterference (SANI), applying a program transformation that encodes speculative traces so…
Talk on
Automatic Migration from Synchronous to Asynchronous JavaScript APIsSatyajit Gokhale, Alexi Turcotte, Frank Tip15m
A static-analysis refactoring converts synchronous I/O to async/await where safe, implemented as Desynchronizer and applied automatically to 12 projects with…
Talk on
Rewrite Rule Inference Using Equality SaturationChandrakana Nandi, Max Willsey, Amy Zhu, Brett Saiki, Yisu Remy Wang, Adam Anderson, Adriana Schulz, Dan Grossman, Zachary Tatlock14m
Describes a system called Ruler that uses equality saturation over e-graphs to infer rewrite rules automatically, implemented in Rust on the egg library…
Talk on
Efficient Automatic Scheduling of Imaging & Vision Pipelines for the GPULuke Anderson, Andrew Adams, Karima Ma, Tzu-Mao Li, Tian Jin, Jonathan Ragan-Kelley15m
An autoscheduler generates GPU code from Halide algorithm code by combining a two-phase search that freezes low-cost stages, hierarchical sampling that groups…
Talk on
One Down, 699 to Go: or, synthesising compositional desugaringsSándor Bartha, James Cheney, Vaishak Belle14m
Paper claims that decomposing desugaring into an incremental desugaring extension problem plus an extensible hypothesis space makes brute-force synthesis…
Talk on
ECROs: Building Global Scale Systems from Sequential CodeKevin De Porre, Carla Ferreira, Nuno Preguiça, Elisa Gonzalez Boix15m
ECROs derive correct hybrid replicated data types from a sequential Scala implementation plus a distributed specification, with the static analyzer Ordana…
Talk on
LooPy: Interactive Program Synthesis with Control StructuresKasra Ferdowsifard, Shraddha Barke, Hila Peleg, Sorin Lerner, Nadia Polikarpova14m
A Live Programming–integrated synthesizer called LooPy extends Small-Step Live PBE to handle loops by treating holes as runtime pauses and asking the…
Talk on
Copy-and-Patch CompilationHaoran Xu, Fredrik Kjolstad15m
Copy-and-patch compiles by copying prebuilt binary stencils into memory and patching relocations and constants at runtime, shifting heavy work to build time. A…
Talk on
Verifying Concurrent Multicopy Search StructuresNisarg Patel, Siddharth Krishna, Dennis Shasha, Thomas Wies14m
Proves that multicopy search structures satisfy linearizability by isolating a search recency property and a template for upsert/search/maintenance that works…
Talk on
Compilation of Sparse Array Programming ModelsRawn Henry, Olivia Hsu, Rohan Yadav, Stephen Chou, Kunle Olukotun, Saman Amarasinghe, Fredrik Kjolstad15m
A compiler built on TACO generates C-like code from array index notation and a format language that supports arbitrary fill values, lifts operators into an…
Talk on
Modular Specification and Verification of Closures in RustFabian Wolff, Aurel Bílý, Christoph Matheja, Peter Müller, Alexander J. Summers15m
A Prusti extension encodes higher-order Rust closures into first-order Viper logic and discharges verification conditions to Z3, claiming modular verification…
Talk on
UDF to SQL Translation through Compositional Lazy Inductive SynthesisGuoqiang Zhang, Yuanchao Xu, Xipeng Shen, Isil Dillig14m
A tool called CLIS implements compositional lazy inductive synthesis to convert Scala UDFs into pure SQL by building a data‑flow graph, applying DFG…
Talk on
SecRSL: Security Separation Logic for C11 Release-Acquire ConcurrencyPengbo Yan, Toby Murray14m
SecRSL is a separation logic that proves information-flow security for C11’s Release-Acquire fragment under an axiomatic memory model and is mechanized in Coq…
Talk on
Rich Specifications for Ethereum Smart Contract VerificationChristian Braem, Marco Eilers, Peter Müller, Robin Sierra, Alexander J. Summers14m
Defines a specification style that proves concrete guarantees: sound reasoning under arbitrary re-entrancy, modular verification of collaborating contracts…
Talk on
Reachability Types: Tracking Aliasing and Separation in Higher-Order Functional ProgramsYuyan Bao, Guannan Wei, Oliver Bračevac, Yuxuan Jiang, Qiyang He, Tiark Rompf15m
New type system lambda assigns reachability qualifiers to expressions to track exact alias sets, enforces separation for higher-order functions with function…
Talk
Formal Verification of High-Level SynthesisYann Herklotz, James Pollard, Nadesh Ramanathan, John Wickerson15m
Presents a mechanically verified HLS tool called Vericert that extends CompCert and is proved correct in Coq, translating CompCert 3AC into an HTL FSM and then…
Talk
Gauss: Program Synthesis by Reasoning Over GraphsRohan Bavishi, Caroline Lemieux, Koushik Sen, Ion Stoica15m
Gauss synthesizes table-transformation programs (Pandas and R) from partial outputs plus user intent graphs that record cell/row/column relations (example…
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.