PLDI 2017
38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017)
Powered by
Conference Publishing Consulting

38th ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI 2017), June 18–23, 2017, Barcelona, Spain

PLDI 2017 – Proceedings

Contents - Abstracts - Authors

Compiler Optimizations

Cache Locality Optimization for Recursive Programs
Jonathan Lifflander and Sriram Krishnamoorthy
(Sandia National Laboratories, USA; Pacific Northwest National Laboratory, USA)
Fusing Effectful Comprehensions
Olli Saarikivi, Margus VeanesORCID logo, Todd Mytkowicz, and Madan Musuvathi ORCID logo
(Aalto University, Finland; Helsinki Institute for Information Technology, Finland; Microsoft Research, USA)
Info Artifacts Functional
Generalizations of the Theory and Deployment of Triangular Inequality for Compiler-Based Strength Reduction
Yufei Ding, Lin Ning, Hui Guan ORCID logo, and Xipeng ShenORCID logo
(North Carolina State University, USA)
Alive-Infer: Data-Driven Precondition Inference for Peephole Optimizations in LLVM
David Menendez and Santosh Nagarakatte ORCID logo
(Rutgers University, USA)
Artifacts Functional

Learning and Probabilistic

DemoMatch: API Discovery from Demonstrations
Kuat Yessenov, Ivan Kuraj, and Armando Solar-Lezama ORCID logo
(Massachusetts Institute of Technology, USA)
Video Artifacts Functional
Similarity of Binaries through re-Optimization
Yaniv David, Nimrod Partush, and Eran Yahav
(Technion, Israel)
Synthesizing Program Input Grammars
Osbert Bastani, Rahul Sharma ORCID logo, Alex AikenORCID logo, and Percy Liang
(Stanford University, USA; Microsoft Research, India)
Compiling Markov Chain Monte Carlo Algorithms for Probabilistic Modeling
Daniel Huang, Jean-Baptiste Tristan, and Greg Morrisett ORCID logo
(Harvard University, USA; Oracle Labs, USA; Cornell University, USA)
Info Artifacts Functional

Concurrency Analysis

BARRACUDA: Binary-level Analysis of Runtime RAces in CUDA programs
Ariel Eizenberg, Yuanfeng Peng, Toma Pigli, William Mansky, and Joseph Devietti
(University of Pennsylvania, USA; Princeton University, USA)
BigFoot: Static Check Placement for Dynamic Race Detection
Dustin Rhodes, Cormac Flanagan, and Stephen N. Freund
(University of California at Santa Cruz, USA; Williams College, USA)
Artifacts Functional
Dynamic Race Prediction in Linear Time
Dileep Kini, Umang MathurORCID logo, and Mahesh Viswanathan ORCID logo
(University of Illinois at Urbana-Champaign, USA)
Info Artifacts Functional
Systematic Black-Box Analysis of Collaborative Web Applications
Marina Billes, Anders MøllerORCID logo, and Michael Pradel ORCID logo
(TU Darmstadt, Germany; Aarhus University, Denmark)
Info Artifacts Functional

Language Implementation

Bringing the Web up to Speed with WebAssembly
Andreas Haas, Andreas RossbergORCID logo, Derek L. Schuff, Ben L. Titzer, Michael Holman, Dan Gohman, Luke Wagner, Alon Zakai, and JF Bastien
(Google, Germany; Google, USA; Microsoft, USA; Mozilla, USA; Apple, USA)
Miniphases: Compilation using Modular and Efficient Tree Transformations
Dmitry Petrashko, Ondřej Lhoták ORCID logo, and Martin Odersky ORCID logo
(EPFL, Switzerland; University of Waterloo, Canada)
Proactive and Adaptive Energy-Aware Programming with Mixed Typechecking
Anthony Canino and Yu David Liu
(SUNY Binghamton, USA)
Artifacts Functional
Simple, Fast, and Safe Manual Memory Management
Piyus Kedia, Manuel Costa, Matthew Parkinson ORCID logo, Kapil Vaswani, Dimitrios Vytiniotis, and Aaron Blankstein
(Microsoft Research, India; Microsoft Research, UK; Princeton University, USA)

Static Analysis

Compositional Recurrence Analysis Revisited
Zachary Kincaid ORCID logo, Jason Breck, Ashkan Forouhi Boroujeni, and Thomas RepsORCID logo
(Princeton University, USA; University of Wisconsin-Madison, USA; GrammaTech, USA)
Artifacts Functional
Context Transformations for Pointer Analysis
Rei Thiessen and Ondřej Lhoták ORCID logo
(University of Waterloo, Canada)
Efficient and Precise Points-to Analysis: Modeling the Heap by Merging Equivalent Automata
Tian Tan, Yue Li, and Jingling Xue ORCID logo
(UNSW, Australia)
Artifacts Functional
Static Deadlock Detection for Asynchronous C# Programs
Anirudh Santhiar and Aditya Kanade
(Indian Institute of Science, India)
Info

Dynamic Analysis and Testing

Achieving High Coverage for Floating-Point Code via Unconstrained Programming
Zhoulai Fu ORCID logo and Zhendong Su
(University of California at Davis, USA)
Instruction Punning: Lightweight Instrumentation for x86-64
Buddhika Chamith, Bo Joel Svensson, Luke Dalessandro, and Ryan R. Newton
(Indiana University, USA; Chalmers University of Technology, Sweden)
Low Overhead Dynamic Binary Translation on ARM
Amanieu d'Antras, Cosmin Gorgovan, Jim Garside, and Mikel Luján
(University of Manchester, UK)
Artifacts Functional
Skeletal Program Enumeration for Rigorous Compiler Testing
Qirun Zhang ORCID logo, Chengnian Sun, and Zhendong Su
(University of California at Davis, USA)

Static Analysis and Security

Decomposition Instead of Self-Composition for Proving the Absence of Timing Channels
Timos Antonopoulos ORCID logo, Paul Gazzillo, Michael HicksORCID logo, Eric Koskinen, Tachio Terauchi, and Shiyi Wei
(Yale University, USA; University of Maryland, USA; JAIST, Japan)
Artifacts Functional
Automatic Program Inversion using Symbolic Transducers
Qinheping Hu and Loris D'AntoniORCID logo
(University of Wisconsin-Madison, USA)
Control-Flow Recovery from Partial Failure Reports
Peter Ohmann, Alexander Brooks, Loris D'AntoniORCID logo, and Ben Liblit
(University of Wisconsin-Madison, USA)
Info Artifacts Functional
Rigorous Analysis of Software Countermeasures against Cache Attacks
Goran Doychev and Boris Köpf
(IMDEA Software Institute, Spain)
Artifacts Functional

Synthesis

Component-Based Synthesis of Table Consolidation and Transformation Tasks from Examples
Yu Feng, Ruben Martins, Jacob Van Geffen, Isil Dillig ORCID logo, and Swarat Chaudhuri
(University of Texas at Austin, USA; Rice University, USA)
Artifacts Functional
Network Configuration Synthesis with Abstract Topologies
Ryan Beckett, Ratul Mahajan, Todd Millstein ORCID logo, Jitendra Padhye, and David Walker
(Princeton University, USA; Intentionet, USA; Microsoft, USA; University of California at Los Angeles, USA)
Artifacts Functional
Synthesizing Highly Expressive SQL Queries from Input-Output Examples
Chenglong Wang, Alvin Cheung, and Rastislav Bodik
(University of Washington, USA)
Info Artifacts Functional
Synthesizing Memory Models from Framework Sketches and Litmus Tests
James Bornholt and Emina Torlak ORCID logo
(University of Washington, USA)
Info Artifacts Functional

Functional Programming and Correctness

Compiling without Continuations
Luke Maurer, Paul DownenORCID logo, Zena M. Ariola, and Simon Peyton Jones
(University of Oregon, USA; Microsoft Research, UK)
FunTAL: Reasonably Mixing a Functional Language with Assembly
Daniel Patterson, Jamie Perconti, Christos Dimoulas, and Amal AhmedORCID logo
(Northeastern University, USA; Harvard University, USA)
Artifacts Functional
HoTTSQL: Proving Query Rewrites with Univalent SQL Semantics
Shumo Chu, Konstantin Weitz, Alvin Cheung, and Dan Suciu
(University of Washington, USA)
Info Artifacts Functional
Levity Polymorphism
Richard A. Eisenberg and Simon Peyton Jones
(Bryn Mawr College, USA; Microsoft Research, UK)

Parallelization and Concurrency

Synthesis of Divide and Conquer Parallelism for Loops
Azadeh FarzanORCID logo and Victor Nicolet
(University of Toronto, Canada)
Info
Futhark: Purely Functional GPU-Programming with Nested Parallelism and In-Place Array Updates
Troels Henriksen ORCID logo, Niels G. W. Serup, Martin Elsman ORCID logo, Fritz Henglein ORCID logo, and Cosmin E. Oancea ORCID logo
(University of Copenhagen, Denmark)
Artifacts Functional
Gradual Synthesis for Static Parallelization of Single-Pass Array-Processing Programs
Grigory Fedyukovich, Maaz Bin Safeer Ahmad, and Rastislav Bodik
(University of Washington, USA)

Verified Computation

A Formally Verified Compiler for Lustre
Timothy Bourke, Lélio Brun, Pierre-Évariste Dagand, Xavier Leroy, Marc Pouzet ORCID logo, and Lionel Rieg
(Inria, France; ENS, France; UPMC, France; CNRS, France; Collège de France, France; Yale University, USA)
Artifacts Functional
Flatten and Conquer: A Framework for Efficient Analysis of String Constraints
Parosh Aziz Abdulla, Mohamed Faouzi Atig, Yu-Fang Chen ORCID logo, Bui Phi Diep, Lukáš HolíkORCID logo, Ahmed Rezine, and Philipp Rümmer
(Uppsala University, Sweden; Academia Sinica, Taiwan; Brno University of Technology, Czech Republic; Linköping University, Sweden)
Artifacts Functional

Correctness

Repairing Sequential Consistency in C/C++11
Ori Lahav, Viktor VafeiadisORCID logo, Jeehoon Kang, Chung-Kil Hur ORCID logo, and Derek DreyerORCID logo
(MPI-SWS, Germany; Seoul National University, South Korea)
Info
Taming Undefined Behavior in LLVM
Juneyoung Lee, Yoonseung Kim, Youngju Song, Chung-Kil Hur ORCID logo, Sanjoy Das, David Majnemer, John Regehr ORCID logo, and Nuno P. Lopes
(Seoul National University, South Korea; Azul Systems, USA; Google, USA; University of Utah, USA; Microsoft Research, UK)
Artifacts Functional

Systems and Performance

Low-Synchronization, Mostly Lock-Free, Elastic Scheduling for Streaming Runtimes
Scott Schneider and Kun-Lung Wu
(IBM Research, USA)
Practical Partial Evaluation for High-Performance Dynamic Language Runtimes
Thomas Würthinger, Christian Wimmer ORCID logo, Christian Humer, Andreas Wöß, Lukas Stadler ORCID logo, Chris Seaton, Gilles Duboscq, Doug Simon, and Matthias Grimmer
(Oracle Labs, Switzerland; Oracle Labs, USA; Oracle Labs, Austria; Oracle Labs, UK; JKU Linz, Austria)
Responsive Parallel Computation: Bridging Competitive and Cooperative Threading
Stefan K. Muller, Umut A. Acar ORCID logo, and Robert HarperORCID logo
(Carnegie Mellon University, USA; Inria, France)
Artifacts Functional
StreamQRE: Modular Specification and Efficient Evaluation of Quantitative Queries over Streaming Data
Konstantinos Mamouras, Mukund Raghothaman, Rajeev AlurORCID logo, Zachary G. Ives, and Sanjeev Khanna ORCID logo
(University of Pennsylvania, USA)
Artifacts Functional

proc time: 0.87