PLDI '14- Proceedings of the 35th ACM SIGPLAN Conference on Programming Language Design and Implementation

Full Citation in the ACM Digital Library

SESSION: Keynote address

What exactly is inexact computation good for?

SESSION: Parallelism 1

Taming the parallel effect zoo: extensible deterministic parallelism with LVish

Test-driven repair of data races in structured parallel programs

Æminium: a permission based concurrent-by-default programming language approach

SESSION: Atomicity and memory models

Atomicity refinement for verified compilation

DoubleChecker: efficient sound and precise atomicity checking

Herding cats: modelling, simulation, testing, and data-mining for weak memory

SESSION: Compiler optimizations

Surgical precision JIT compilers

Stochastic optimization of floating-point programs with tunable precision

A framework for enhancing data reuse via associative reordering


First-class runtime generation of high-performance types using exotypes

Getting F-bounded polymorphism into shape

Optimal inference of fields in row-polymorphic records

SESSION: Probabilistic programming

Expressing and verifying probabilistic assertions

Compositional solution space quantification for probabilistic software analysis

Slicing probabilistic programs

SESSION: Incremental computation and slicing

A theory of changes for higher-order languages: incrementalizing λ-calculi by static differentiation

Adapton: composable, demand-driven incremental computation

Specialization slicing

SESSION: Keynote address

Laws of concurrent programming

SESSION: Parallelism 2

Adaptive, efficient, parallel execution of parallel programs

Globally precise-restartable execution of parallel programs

Accurate application progress analysis for large-scale parallel debugging


Compiler-assisted detection of transient memory errors

Compiler validation via equivalence modulo inputs

Automatic runtime error repair and containment via recovery shepherding

SESSION: Static analysis 1

On abstraction refinement for program analyses in Datalog

Hybrid top-down and bottom-up interprocedural analysis

FlowDroid: precise context, flow, field, object-sensitive and lifecycle-aware taint analysis for Android apps

SESSION: Verification 1

End-to-end verification of stack-space bounds for C programs

VeriCon: towards verifying controller programs in software-defined networks

Verification modulo versions: towards usable verification


Commutativity race detection

Race detection for Android applications

Race detection for event-driven mobile applications

Maximal sound predictive race detection with control flow abstraction


Tracelet-based code search in executables

Resugaring: lifting evaluation sequences through syntactic sugar

SCCharts: sequentially constructive statecharts for safety-critical applications: HW/SW-synthesis for a conservative extension of synchronous statecharts

Fast: a transducer-based language for tree manipulation

SESSION: Keynote address

A personal perspective on concurrency

SESSION: Synthesis

Chlorophyll: synthesis-aided compiler for low-power spatial architectures

Test-driven synthesis

Code completion with statistical language models

SESSION: Verification 2

Don't sweat the small stuff: formal verification of C code without the pain

Natural proofs for data structure manipulation in C using separation logic

Automating formal proofs for reactive systems

SESSION: Static analysis 2

Persistent pointer information

Selective context-sensitivity guided by impact pre-analysis

Introspective analysis: context-sensitivity, across the board

SESSION: Scripting languages

Improving JavaScript performance by deconstructing the type system

Doppio: breaking the browser language barrier

Dynamic enforcement of determinism in a parallel scripting language

SESSION: Program generation

A lightweight symbolic virtual machine for solver-aided host languages

FlashExtract: a framework for data extraction by examples

Consolidation of queries with user-defined functions

SESSION: Security-correctness

A model counter for constraints over unbounded strings

Modular control-flow integrity

Dynamic space limits for Haskell