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
Kayvan Memarian
Justus Matthiesen
James Lingard
Kyndylan Nienhuis
David Chisnall
Robert N. M. Watson
Peter Sewell
Living on the edge: rapid-toggling probes with cross-modification on x86
Buddhika Chamith
Bo Joel Svensson
Luke Dalessandro
Ryan R. Newton
Polymorphic type inference for machine code
Matt Noonan
Alexey Loginov
David Cok
SESSION: Verification I
Data-driven precondition inference with learned features
Saswat Padhi
Rahul Sharma
Todd Millstein
Cartesian hoare logic for verifying k-safety properties
Marcelo Sousa
Isil Dillig
Verifying bit-manipulations of floating-point
Wonyeol Lee
Rahul Sharma
Alex Aiken
SESSION: Testing and Debugging
Coverage-directed differential testing of JVM implementations
Yuting Chen
Ting Su
Chengnian Sun
Zhendong Su
Jianjun Zhao
Exposing errors related to weak memory in GPU applications
Tyler Sorensen
Alastair F. Donaldson
Lightweight computation tree tracing for lazy functional languages
Maarten Faddegon
Olaf Chitil
SESSION: Energy and Performance
Effective padding of multidimensional arrays to avoid cache conflict misses
Changwan Hong
Wenlei Bao
Albert Cohen
Sriram Krishnamoorthy
Louis-Noël Pouchet
Fabrice Rastello
J. Ramanujam
P. Sadayappan
GreenWeb: language extensions for energy-efficient mobile web computing
Yuhao Zhu
Vijay Janapa Reddi
Input responsiveness: using canary inputs to dynamically steer approximation
Michael A. Laurenzano
Parker Hill
Mehrzad Samadi
Scott Mahlke
Jason Mars
Lingjia Tang
SESSION: New Languages
Configuration synthesis for programmable analog devices with Arco
Sara Achour
Rahul Sarpeshkar
Martin C. Rinard
From Datalog to flix: a declarative language for fixed points on lattices
Magnus Madsen
Ming-Ho Yee
Ondřej Lhoták
Latte: a language, compiler, and runtime for elegant and efficient deep neural networks
Leonard Truong
Rajkishore Barik
Ehsan Totoni
Hai Liu
Chick Markley
Armando Fox
Tatiana Shpeisman
SESSION: Parsing and Compilation
On the complexity and performance of parsing with derivatives
Michael D. Adams
Celeste Hollenbeck
Matthew Might
SESSION: Down to the Metal II
Stratified synthesis: automatically learning the x86-64 instruction set
Stefan Heule
Eric Schkufza
Rahul Sharma
Alex Aiken
Remix: online detection and repair of cache contention for the JVM
Ariel Eizenberg
Shiliang Hu
Gilles Pokam
Joseph Devietti
Statistical similarity of binaries
Yaniv David
Nimrod Partush
Eran Yahav
SESSION: Types I
Accepting blame for safe tunneled exceptions
Yizhou Zhang
Guido Salvaneschi
Quinn Beightol
Barbara Liskov
Andrew C. Myers
Occurrence typing modulo theories
Andrew M. Kent
David Kempe
Sam Tobin-Hochstadt
Refinement types for TypeScript
Panagiotis Vekris
Benjamin Cosman
Ranjit Jhala
SESSION: Synthesis I
MapReduce program synthesis
Calvin Smith
Aws Albarghouthi
Programmatic and direct manipulation, together at last
Ravi Chugh
Brian Hempel
Mitchell Spradlin
Jacob Albers
Fast synthesis of fast collections
Calvin Loncaric
Emina Torlak
Michael D. Ernst
SESSION: Software-Defined Networking
Event-driven network programming
Jedidiah McClurg
Hossein Hojjat
Nate Foster
Pavol Černý
Temporal NetKAT
Ryan Beckett
Michael Greenberg
David Walker
SDNRacer: concurrency analysis for software-defined networks
Ahmed El-Hassany
Jeremie Miserez
Pavol Bielik
Laurent Vanbever
Martin Vechev
SESSION: Verifying Systems
Rehearsal: a configuration verification tool for puppet
Rian Shambaugh
Aaron Weiss
Arjun Guha
Toward compositional verification of interruptible OS kernels and device drivers
Hao Chen
Xiongnan (Newman) Wu
Zhong Shao
Joshua Lockerman
Ronghui Gu
Verified peephole optimizations for CompCert
Eric Mullen
Daryl Zuniga
Zachary Tatlock
Dan Grossman
SESSION: Types II
Just-in-time static type checking for dynamic languages
Brianna M. Ren
Jeffrey S. Foster
Types from data: making structured data first-class citizens in F#
Tomas Petricek
Gustavo Guerra
Don Syme
Automatically learning shape specifications
He Zhu
Gustavo Petri
Suresh Jagannathan
SESSION: Synthesis II
Synthesizing transformations on hierarchically structured data
Navid Yaghmazadeh
Christian Klinger
Isil Dillig
Swarat Chaudhuri
Program synthesis from polymorphic refinement types
Nadia Polikarpova
Ivan Kuraj
Armando Solar-Lezama
SESSION: Parallelism I
Higher-order and tuple-based massively-parallel prefix sums
Sepideh Maleki
Annie Yang
Martin Burtscher
A distributed OpenCL framework using redundant computation and data replication
Junghyun Kim
Gangwon Jo
Jaehoon Jung
Jungwon Kim
Jaejin Lee
SESSION: Memory Management
Idle time garbage collection scheduling
Ulan Degenbaev
Jochen Eisinger
Manfred Ernst
Ross McIlroy
Hannes Payer
Assessing the limits of program-specific garbage collection performance
Nicholas Jacek
Meng-Chieh Chiu
Benjamin Marlin
Eliot Moss
SESSION: Verification II
Cardinalities and universal quantifiers for verifying parameterized systems
Klaus v. Gleissenthall
Nikolaj Bjørner
Andrey Rybalchenko
Ivy: safety verification by interactive generalization
Oded Padon
Kenneth L. McMillan
Aurojit Panda
Mooly Sagiv
Sharon Shoham
SESSION: Security
Precise, dynamic information flow for database-backed applications
Jean Yang
Travis Hance
Thomas H. Austin
Armando Solar-Lezama
Cormac Flanagan
Stephen Chong
End-to-end verification of information-flow security for C and assembly programs
David Costanzo
Zhong Shao
Ronghui Gu
A design and verification methodology for secure isolated regions
Rohit Sinha
Manuel Costa
Akash Lal
Nuno P. Lopes
Sriram Rajamani
Sanjit A. Seshia
Kapil Vaswani
SESSION: Parallelism II
Transactional data structure libraries
Alexander Spiegelman
Guy Golan-Gueta
Idit Keidar
FlexVec: auto-vectorization for irregular loops
Sara S. Baghsorkhi
Nalini Vasudevan
Youfeng Wu
Verified lifting of stencil computations
Shoaib Kamil
Alvin Cheung
Shachar Itzhaky
Armando Solar-Lezama