PLDI 2011
55 papers
- A case for an SC-preserving compiler
- A security policy oracle: detecting security holes using multiple API implementations
- ALTER: exploiting breakable dependences for parallelization
- An SSA-based algorithm for optimal speculative code motion under an execution profile
- Automated atomicity-violation fixing
- Automatic CPU-GPU communication management and optimization
- Automatic compilation of MATLAB programs for synergistic execution on heterogeneous processors
- Automatic parallelization via matrix multiplication
- Brainy: effective selection of data structures
- Caisson: a hardware description language for secure information flow
- Cause clue clauses: error localization using maximum satisfiability
- Commutative set: a language extension for implicit parallel programming
- Composable asynchronous events
- Cruiser: concurrent heap buffer overflow monitoring using lock-free data structures
- Data representation synthesis
- Directed incremental symbolic execution
- EnerJ: approximate data types for safe and general low-power computation
- Evaluating value-graph translation validation for LLVM
- Exploiting the commutativity lattice
- Finding and understanding bugs in C compilers
- Garbage collection for monitoring parametric properties
- Generalized just-in-time trace compilation using a parallel task farm in a dynamic binary translator
- Higher-order test generation
- Isolating and understanding concurrency errors using reconstructed execution fragments
- Kremlin: rethinking and rebooting gprof for the multicore age
- LL(*): the foundation of the ANTLR parser generator
- Language-independent sandboxing of just-in-time compilation and self-modifying code
- Languages as libraries
- LeakChaser: helping programmers narrow down causes of memory leaks
- Mining hot calling contexts in small space
- Mostly-automated verification of low-level programs in computational separation logic
- NDSeq: runtime checking for nondeterministic sequential specifications of parallel correctness
- On inter-procedural analysis of programs with lists and data
- Parallelism orchestration using DoPE: the degree of parallelism executive
- Partial-coherence abstractions for relaxed memory models
- Path-based inductive synthesis for program inversion
- Precise and compact modular procedure summaries for heap manipulating programs
- Predicate abstraction and CEGAR for higher-order model checking
- Probabilistic, modular and scalable inference of typestate specifications
- Safe optimisations for shared-memory concurrent programs
- Scaling abstraction refinement via pruning
- Separation logic + superposition calculus = heap theorem prover
- Spreadsheet table transformations from examples
- Steno: automatic optimization of declarative queries
- Synchronization via scheduling: techniques for efficiently managing shared state
- Synthesis of loop-free programs
- Synthesizing geometry constructions
- Systematic editing: generating program transformations from an example
- Taming the wildcards: combining definition- and use-site variance
- Taming wildcards in Java's type system
- The tao of parallelism in algorithms
- Toward generating reducible replay logs
- Understanding POWER multiprocessors
- Verification of semantic commutativity conditions and inverse operations on linked data structures
- kb-anonymity: a model for anonymized behaviour-preserving test and debugging data