OOPSLA 2024
148 papers
- A Case for First-Class Environments
- A Constraint Solving Approach to Parikh Images of Regular Languages
- A Dependent Nominal Physical Type System for Static Analysis of Memory in Low Level Code
- A Learning-Based Approach to Static Program Slicing
- A Low-Level Look at A-Normal Form
- A Modal Type Theory of Expected Cost in Higher-Order Probabilistic Programs
- A Pure Demand Operational Semantics with Applications to Program Analysis
- A Runtime System for Interruptible Query Processing: When Incremental Computing Meets Fine-Grained Parallelism
- A Typed Multi-level Datalog IR and Its Compiler Framework
- AUTOMAP: Inferring Rank-Polymorphic Function Applications with Integer Linear Programming
- Accurate Data Race Prediction in the Linux Kernel through Sparse Fourier Learning
- AdoB: Bridging Benign and Byzantine Consensus with Atomic Distributed Objects
- Automated Robustness Verification of Concurrent Data Structure Libraries against Relaxed Memory Models
- Automated Verification of Parametric Channel-Based Process Communication
- Automatically Reducing Privilege for Access Control Policies
- Automating Pruning in Top-Down Enumeration for Program Synthesis Problems with Monotonic Semantics
- Automating Unrealizability Logic: Hoare-Style Proof Synthesis for Infinite Sets of Programs
- Boosting the Performance of Alias-Aware IFDS Analysis with CFL-Based Environment Transformers
- CYCLE: Learning to Self-Refine the Code Generation
- Cedar: A New Language for Expressive, Fast, Safe, and Analyzable Authorization
- Cocoon: Static Information Flow Control in Rust
- Compilation of Shape Operators on Sparse Arrays
- Compiler Support for Sparse Tensor Convolutions
- Compiling Recurrences over Dense and Sparse Arrays
- Compositionality and Observational Refinement for Linearizability with Crashes
- Computing Precise Control Interface Specifications
- Concurrent Data Structures Made Easy
- Control-Flow Deobfuscation using Trace-Informed Compositional Program Synthesis
- CoolerSpace: A Language for Physically Correct and Computationally Efficient Color Programming
- Crabtree: Rust API Test Synthesis Guided by Coverage and Type
- Degrees of Separation: A Flexible Type System for Safe Concurrency
- Dependency-Aware Code Naturalness
- Deriving Dependently-Typed OOP from First Principles
- Design and Implementation of an Aspect-Oriented C Programming Language
- Distributions for Compositionally Differentiating Parametric Discontinuities
- Drowzee: Metamorphic Testing for Fact-Conflicting Hallucination Detection in Large Language Models
- Effect Handlers for C via Coroutines
- Effects and Coeffects in Call-by-Push-Value
- Enhancing Static Analysis for Practical Bug Detection: An LLM-Integrated Approach
- Evaluating the Effectiveness of Deep Learning Models for Foundational Program Analysis Tasks
- Exact Bayesian Inference for Loopy Probabilistic Programs using Generating Functions
- Extending the C/C++ Memory Model with Inline Assembly
- FPCC: Detecting Floating-Point Errors via Chain Conditions
- Fast and Optimal Extraction for Sparse Equality Graphs
- Finding Cross-Rule Optimization Bugs in Datalog Engines
- Finding ∀∃ Hyperbugs using Symbolic Execution
- FlowCert: Translation Validation for Asynchronous Dataflow via Dynamic Fractional Permissions
- Forge: A Tool and Language for Teaching Formal Methods
- Fulfilling OCaml Modules with Transparency
- Full Iso-Recursive Types
- Fully Verified Instruction Scheduling
- Functional Ownership through Fractional Uniqueness
- Gradient: Gradual Compartmentalization via Object Capabilities Tracked in Types
- Gradually Typed Languages Should Be Vigilant!
- HOL4P4: Mechanized Small-Step Semantics for P4
- HardTaint: Production-Run Dynamic Taint Analysis via Selective Hardware Tracing
- HiPy: Extracting High-Level Semantics from Python Code for Data Processing
- Higher-Order Model Checking of Effect-Handling Programs with Answer-Type Modification
- Hopping Proofs of Expectation-Based Properties: Applications to Skiplists and Security Proofs
- HybridSA: GPU Acceleration of Multi-pattern Regex Matching using Bit Parallelism
- Hydra: Generalizing Peephole Optimizations with Program Synthesis
- Hypra: A Deductive Program Verifier for Hyper Hoare Logic
- Identifying and Correcting Programming Language Behavior Misconceptions
- Imperative Compositional Programming: Type Sound Distributive Intersection Subtyping with References via Bidirectional Typing
- Inductive Diagrams for Causal Reasoning
- Intensional Functions
- Iris-MSWasm: Elucidating and Mechanising the Security Invariants of Memory-Safe WebAssembly
- Iterative-Epoch Online Cycle Elimination for Context-Free Language Reachability
- Jmvx: Fast Multi-threaded Multi-version Execution and Record-Replay for Managed Languages
- Knowledge Transfer from High-Resource to Low-Resource Programming Languages for Code LLMs
- Law and Order for Typestate with Borrowing
- Learning Abstraction Selection for Bayesian Program Analysis
- Lexical Effect Handlers, Directly
- MEA2: A Lightweight Field-Sensitive Escape Analysis with Points-to Calculation for Golang
- Making Formulog Fast: An Argument for Unconventional Datalog Evaluation
- Making Sense of Multi-threaded Application Performance at Scale with NonSequitur
- Mark-Scavenge: Waiting for Trash to Take Itself Out
- Mechanizing the CMP Abstraction for Parameterized Verification
- Merging Gradual Typing
- Message-Observing Sessions
- Minotaur: A SIMD-Oriented Synthesizing Superoptimizer
- Mix Testing: Specifying and Testing ABI Compatibility of C/C++ Atomics Implementations
- Model Checking Distributed Protocols in Must
- Modeling Dynamic (De)Allocations of Local Memory for Translation Validation
- Modular Synthesis of Efficient Quantum Uncomputation
- Monotone Procedure Summarization via Vector Addition Systems and Inductive Potentials
- Multiverse Notebook: Shifting Data Scientists to Time Travelers
- Multris: Functional Verification of Multiparty Message Passing in Separation Logic
- Newtonian Program Analysis of Probabilistic Programs
- Non-termination Proving at Scale
- Object-Oriented Fixpoint Programming with Datalog
- On the Expressive Power of Languages for Static Variability
- Outcome Separation Logic: Local Reasoning for Correctness and Incorrectness with Computational Effects
- PP-CSA: Practical Privacy-Preserving Software Call Stack Analysis
- PROMPT: A Fast and Extensible Memory Profiling Framework
- ParDiff: Practical Static Differential Analysis of Network Protocol Parsers
- Persimmon: Nested Family Polymorphism with Extensible Variant Types
- Plume: Efficient and Complete Black-Box Checking of Weak Isolation Levels
- PolyJuice: Detecting Mis-compilation Bugs in Tensor Compilers with Equality Saturation Based Rewriting
- Practical Verification of Smart Contracts using Memory Splitting
- Profiling Programming Language Learning
- Programmable MCMC with Soundly Composed Guide Programs
- PyDex: Repairing Bugs in Introductory Python Assignments using LLMs
- QuAC: Quick Attribute-Centric Type Inference for Python
- Qualifying System F<: Some Terms and Conditions May Apply
- Quantitative Bounds on Resource Usage of Probabilistic Programs
- Quantitative Weakest Hyper Pre: Unifying Correctness and Incorrectness Hyperproperties via Predicate Transformers
- Quantum Control Machine: The Limits of Control Flow in Quantum Programming
- Quantum Probabilistic Model Checking for Time-Bounded Properties
- Quarl: A Learning-Based Quantum Circuit Optimizer
- Realistic Realizability: Specifying ABIs You Can Count On
- Refinement Type Refutations
- Reward Augmentation in Reinforcement Learning for Testing Distributed Systems
- Rustlantis: Randomized Differential Testing of the Rust Compiler
- SMT2Test: From SMT Formulas to Effective Test Cases
- Scaling Abstraction Refinement for Program Analyses in Datalog using Graph Neural Networks
- Scenario-Based Proofs for Concurrent Objects
- Semantic-Type-Guided Bug Finding
- Semantics Lifting for Syntactic Sugar
- Semantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA on TSO Architectures
- Seneca: Taint-Based Call Graph Construction for Java Object Deserialization
- Sensitivity by Parametricity
- Sound and Partially-Complete Static Analysis of Data-Races in GPU Programs
- SparseAuto: An Auto-scheduler for Sparse Tensor Computations using Recursive Loop Nest Restructuring
- StarMalloc: Verifying a Modern, Hardened Memory Allocator
- Statically Contextualizing Large Language Models with Typed Holes
- Statistical Testing of Quantum Programs via Fixed-Point Amplitude Amplification
- Synthesizing Formal Semantics from Executable Interpreters
- Synthetiq: Fast and Versatile Quantum Circuit Synthesis
- Tachis: Higher-Order Separation Logic with Credits for Expected Costs
- Taypsi: Static Enforcement of Privacy Policies for Policy-Agnostic Oblivious Computation
- The ART of Sharing Points-to Analysis: Reusing Points-to Analysis Results Safely and Efficiently
- The Ultimate Conditional Syntax
- TorchQL: A Programming Framework for Integrity Constraints in Machine Learning
- Type Inference Logics
- Understanding and Finding Java Decompiler Bugs
- UniSparse: An Intermediate Language for General Sparse Format Customization
- Unifying Static and Dynamic Intermediate Languages for Accelerator Generators
- Validating SMT Solvers for Correctness and Performance via Grammar-Based Enumeration
- VarLifter: Recovering Variables and Types from Bytecode of Solidity Smart Contracts
- VeriEQL: Bounded Equivalence Verification for Complex SQL Queries with Integrity Constraints
- Verification of Neural Networks' Global Robustness
- Verified Lock-Free Session Channels with Linking
- Wasm-R3: Record-Reduce-Replay for Realistic and Standalone WebAssembly Benchmarks
- Weighted Context-Free-Language Ordered Binary Decision Diagrams
- When Your Infrastructure Is a Buggy Program: Understanding Faults in Infrastructure as Code Ecosystems
- WhiteFox: White-Box Compiler Fuzzing Empowered by Large Language Models
- libLISA: Instruction Discovery and Analysis on x86-64