OOPSLA 2018
60 papers
- A derivation framework for dependent security label inference
- An empirical study of the effect of source-level loop transformations on compiler stability
- AnyDSL: a partial evaluation framework for programming high-performance libraries
- Automatic diagnosis and correction of logical errors for functional programming assignments
- Bidirectional evaluation with direct manipulation
- BioScript: programming safe chemistry on laboratories-on-a-chip
- Collapsible contracts: fixing a pathology of gradual typing
- Compositional programming and testing of dynamic distributed systems
- Concurrency-aware object-oriented programming with roles
- Conflict resolution for structured merge via version space algebra
- Cross-component garbage collection
- DeepBugs: a learning approach to name-based bug detection
- Distributed system development with ScalaLoci
- Effect handlers for the masses
- Empowering union and intersection types with integrated subtyping
- Every data structure deserves lock-free memory reclamation
- ExceLint: automatically finding spreadsheet formula errors
- Faster variational execution with transparent bytecode transformation
- Finding broken promises in asynchronous JavaScript programs
- Finding code that explodes under symbolic evaluation
- FlashProfile: a framework for synthesizing data profiles
- Format abstraction for sparse tensor algebra compilers
- Gradual liquid type inference
- GraphIt: a high-performance graph DSL
- Horn-ICE learning for synthesizing invariants and contracts
- Identifying refactoring opportunities for replacing type code with subclass and state
- Incrementalizing lattice-based program analyses in Datalog
- Julia subtyping: a rational reconstruction
- Julia: dynamism and performance reconciled by design
- Leto: verifying application-specific hardware fault tolerance with programmable execution models
- MadMax: surviving out-of-gas conditions in Ethereum smart contracts
- Object-oriented recovery for non-volatile memory
- One tool, many languages: language-parametric transformation with incremental parametric syntax
- Optimal stateless model checking under the release-acquire semantics
- Parallelization of dynamic languages: synchronizing built-in collections
- Persistence semantics for weak memory: integrating epoch persistency with the TSO memory model
- Precise and scalable points-to analysis via data-driven context tunneling
- Precision-guided context sensitivity for pointer analysis
- RacerD: compositional static race detection
- Randomized testing of distributed systems with probabilistic guarantees
- Reactive caching for composed services: polling at the speed of push
- Reconciling high-level optimizations and low-level code in LLVM
- Refinement in object-sensitivity points-to analysis via slicing
- Relational program synthesis
- Robust relational layout synthesis from examples for Android
- Safe replication through bounded concurrency verification
- Scopes as types
- Secure serverless computing using dynamic information flow control
- ShareJIT: JIT code cache sharing across processes and its practical implementation
- Software multiplexing: share your libraries and statically link them too
- Sound deadlock prediction
- Speeding up symbolic reasoning for relational queries
- Test generation for higher-order functions in dynamic languages
- The root cause of blame: contracts for intersection and union types
- Thread-safe reactive programming
- Towards understanding the costs of avoiding out-of-thin-air results
- Verified three-way program merge
- Virtual machine design for parallel dynamic programming languages
- What happens-after the first race? enhancing the predictive power of happens-before based dynamic race detection
- goSLP: globally optimized superword level parallelism framework