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

Full Citation in the ACM Digital Library

SESSION: Down to the Metal I

Into the depths of C: elaborating the de facto standards

Living on the edge: rapid-toggling probes with cross-modification on x86

Polymorphic type inference for machine code

SESSION: Verification I

Data-driven precondition inference with learned features

Cartesian hoare logic for verifying k-safety properties

Verifying bit-manipulations of floating-point

SESSION: Testing and Debugging

Coverage-directed differential testing of JVM implementations

Exposing errors related to weak memory in GPU applications

Lightweight computation tree tracing for lazy functional languages

SESSION: Energy and Performance

Effective padding of multidimensional arrays to avoid cache conflict misses

GreenWeb: language extensions for energy-efficient mobile web computing

Input responsiveness: using canary inputs to dynamically steer approximation

SESSION: New Languages

Configuration synthesis for programmable analog devices with Arco

From Datalog to flix: a declarative language for fixed points on lattices

Latte: a language, compiler, and runtime for elegant and efficient deep neural networks

SESSION: Parsing and Compilation

On the complexity and performance of parsing with derivatives

SESSION: Down to the Metal II

Stratified synthesis: automatically learning the x86-64 instruction set

Remix: online detection and repair of cache contention for the JVM

Statistical similarity of binaries


Accepting blame for safe tunneled exceptions

Occurrence typing modulo theories

Refinement types for TypeScript

SESSION: Synthesis I

MapReduce program synthesis

Programmatic and direct manipulation, together at last

Fast synthesis of fast collections

SESSION: Software-Defined Networking

Event-driven network programming

Temporal NetKAT

SDNRacer: concurrency analysis for software-defined networks

SESSION: Verifying Systems

Rehearsal: a configuration verification tool for puppet

Toward compositional verification of interruptible OS kernels and device drivers

Verified peephole optimizations for CompCert


Just-in-time static type checking for dynamic languages

Types from data: making structured data first-class citizens in F#

Automatically learning shape specifications

SESSION: Synthesis II

Synthesizing transformations on hierarchically structured data

Program synthesis from polymorphic refinement types

SESSION: Parallelism I

Higher-order and tuple-based massively-parallel prefix sums

A distributed OpenCL framework using redundant computation and data replication

SESSION: Memory Management

Idle time garbage collection scheduling

Assessing the limits of program-specific garbage collection performance

SESSION: Verification II

Cardinalities and universal quantifiers for verifying parameterized systems

Ivy: safety verification by interactive generalization

SESSION: Security

Precise, dynamic information flow for database-backed applications

End-to-end verification of information-flow security for C and assembly programs

A design and verification methodology for secure isolated regions

SESSION: Parallelism II

Transactional data structure libraries

FlexVec: auto-vectorization for irregular loops

Verified lifting of stencil computations