PLDI 2017
47 papers
- A formally verified compiler for Lustre
- Achieving high coverage for floating-point code via unconstrained programming
- Alive-Infer: data-driven precondition inference for peephole optimizations in LLVM
- Automatic program inversion using symbolic transducers
- BARRACUDA: binary-level analysis of runtime RAces in CUDA programs
- BigFoot: static check placement for dynamic race detection
- Bringing the web up to speed with WebAssembly
- Cache locality optimization for recursive programs
- Compiling Markov chain Monte Carlo algorithms for probabilistic modeling
- Compiling without continuations
- Component-based synthesis of table consolidation and transformation tasks from examples
- Compositional recurrence analysis revisited
- Context transformations for pointer analysis
- Control-flow recovery from partial failure reports
- Decomposition instead of self-composition for proving the absence of timing channels
- DemoMatch: API discovery from demonstrations
- Dynamic race prediction in linear time
- Efficient and precise points-to analysis: modeling the heap by merging equivalent automata
- Flatten and conquer: a framework for efficient analysis of string constraints
- FunTAL: reasonably mixing a functional language with assembly
- Fusing effectful comprehensions
- Futhark: purely functional GPU-programming with nested parallelism and in-place array updates
- Generalizations of the theory and deployment of triangular inequality for compiler-based strength reduction
- Gradual synthesis for static parallelization of single-pass array-processing programs
- HoTTSQL: proving query rewrites with univalent SQL semantics
- Instruction punning: lightweight instrumentation for x86-64
- Levity polymorphism
- Low overhead dynamic binary translation on ARM
- Low-synchronization, mostly lock-free, elastic scheduling for streaming runtimes
- Miniphases: compilation using modular and efficient tree transformations
- Network configuration synthesis with abstract topologies
- Practical partial evaluation for high-performance dynamic language runtimes
- Proactive and adaptive energy-aware programming with mixed typechecking
- Repairing sequential consistency in C/C++11
- Responsive parallel computation: bridging competitive and cooperative threading
- Rigorous analysis of software countermeasures against cache attacks
- Similarity of binaries through re-optimization
- Simple, fast, and safe manual memory management
- Skeletal program enumeration for rigorous compiler testing
- Static deadlock detection for asynchronous C# programs
- StreamQRE: modular specification and efficient evaluation of quantitative queries over streaming data
- Synthesis of divide and conquer parallelism for loops
- Synthesizing highly expressive SQL queries from input-output examples
- Synthesizing memory models from framework sketches and Litmus tests
- Synthesizing program input grammars
- Systematic black-box analysis of collaborative web applications
- Taming undefined behavior in LLVM