PLDI will take place June 20-22 (workshops and tutorials will take place June 18-19).

Wed 20 Jun

10:00 - 10:30: PLDI Research Papers - Lightning Overview - Day 1 at Grand Ballroom

Thu 21 Jun

10:00 - 10:30: PLDI Research Papers - Lightning Overview - Day 2 at Grand Ballroom
16:10 - 17:00: PLDI Research Papers - Analyzing Probabilistic Programs at Grand Ballroom CD
pldi-2018-papers152959020000016:10 - 16:35
pldi-2018-papers152959170000016:35 - 17:00

Fri 22 Jun

10:00 - 10:30: PLDI Research Papers - Lightning Overview - Day 3 at Grand Ballroom
11:00 - 12:15: PLDI Research Papers - Optimization and Locality at Grand Ballroom AB
pldi-2018-papers152965800000011:00 - 11:25
pldi-2018-papers152965950000011:25 - 11:50
pldi-2018-papers152966100000011:50 - 12:15

Call for Papers

PLDI is a premier forum for programming language research, broadly construed, including design, implementation, theory, applications, and performance. PLDI seeks outstanding research that extends and/or applies programming-language concepts to advance the field of computing. Novel system designs, thorough empirical work, well-motivated theoretical results, and new application areas are all welcome emphases in strong PLDI submissions.

Evaluation Criteria and Process

Reviewers will evaluate each contribution for its accuracy, significance, originality, and clarity. Submissions should be organized to communicate clearly to a broad programming-language audience as well as to experts on the paper’s topics. Papers should identify what has been accomplished and how it relates to previous work.

Deadlines and formatting requirements, detailed below, will be strictly enforced, with rare extenuating circumstances considered at the discretion of the Program Chair.

In almost all cases, reviews will be performed by a subset of the Program Committee (PC), the External Program Committee (EPC), and the External Review Committee (ERC). Authors will have the opportunity to respond to initial reviews to correct and clarify technical concerns. The PC will make final accept/reject decisions except for papers with PC authors—such papers will have no PC reviewers and the EPC will make final decisions.

Double-Blind Reviewing

PLDI uses double-blind reviewing. This means that author names and affiliations must be omitted from the submission. Additionally, if the submission refers to prior work done by the authors, that reference should be made in third person. These are firm submission requirements. Any supplementary material must also be anonymized. If you have questions about making your paper double blind, please contact the Program Chair.

Submission Site Information

The submission site is

Authors can submit multiple times prior to the (firm!) deadline. Only the last submission will be reviewed. There is no abstract deadline. The submission site requires entering author names and affiliations, relevant topics, and potential conflicts. Addition or removal of authors after the submission deadline will need to be approved by the Program Chair (as this potentially undermines the goal of eliminating conflicts during paper assignment).

The submission deadline is 11:59PM November 16, 2017 anywhere on earth:

Declaring Conflicts

When submitting the paper, you will need to declare potential conflicts. Conflicts should be declared between an adviser and an advisee (e.g., Ph.D., post-doc). Other conflicts include institutional conflicts, financial conflicts of interest, friends or relatives, or any recent co-authors on papers and proposals (last 2 years).

Please do not declare spurious conflicts: such incorrect conflicts are especially harmful if the aim is to exclude potential reviewers, so spurious conflicts can be grounds for rejection. If you are unsure about a conflict, please consult the Program Chair.

Formatting Requirements – Note New Template / Class Files!

Papers should be formatted according to the two-column ACM proceedings format. Each paper should have no more than 12 pages, excluding bibliography, in 10pt font. There is no limit on the page count for references. Each reference must list all authors of the paper (do not use et al). The citations should be in numeric style, e.g., [52]. Submissions should be in PDF format and printable on US Letter and A4 sized paper. These requirements are all the same as in the previous year.

Papers that exceed the length requirement or deviate from the expected format will be rejected.

Make sure that figures and tables are legible, even after the paper is printed in gray-scale.

Appendices should not be part of the paper, but should be submitted as supplementary material. Supplementary material should also be anonymized, as described below. These requirements are also the same as last year.

As explained in more detail at, LaTeX users should use the (new) sigplan subformat of the (new) acmart format by downloading Word users should use the acmart template for Word. These are new files compared to last year. If we identify questions that are asked frequently about these new files, then we will create an FAQ. For now, note the following:

  • acmart-sigplanproc-template.tex has the correct defaults for PLDI 2018 submissions. In particular, the first line \documentclass[sigplan,10pt,review,anonymous]{acmart}\settopmatter{printfolios=true,printccs=false,printacmref=false} is correct and the default citation style is numeric.
  • Do not mess with the class file or settings to try to sneak in additional space. (Conversely, you may toggle the printccs and printacmref flags if you wish, but this will consume space.)
  • Do not use the PACMPL files or format; PLDI is not using them. However, the template files were designed to make migrating a paper from one format to the other as simple as possible.

Supplementary Material

Authors are free to provide supplementary material if that material supports the claims in the paper. Such material may include proofs, experimental results, and/or data sets. This material should be uploaded at the same time as the submission. Reviewers are not required to examine the supplementary material but may refer to it if they would like to find further evidence supporting the claims in the paper.

Plagiarism and Concurrent Work

Papers must describe unpublished work that is not currently submitted for publication elsewhere as described by the SIGPLAN Republication Policy: Authors should also be aware of the ACM Policy on Plagiarism: Concurrent submissions to other conferences, workshops, journals, or similar venues of publication are disallowed. Prior work must, as always, be cited and referred to in the third person even if it is the authors’ work, so as to preserve author anonymity. If you have further questions, contact the Program Chair.

Artifact Evaluation for Accepted Papers

The authors of accepted PLDI papers will be invited to submit supporting materials to the Artifact Evaluation process. Artifact Evaluation is run by a separate committee whose task is to assess how well the artifacts support the work described in the papers. This submission is voluntary but encouraged and will not influence the final decision regarding the papers. Papers that go through the Artifact Evaluation process successfully will receive a badge printed on the papers themselves. Authors of accepted papers are encouraged to make these materials publicly available upon publication of the proceedings, by including them as “source materials” in the ACM Digital Library.

Accepted Papers

Accepted papers will be made available (once the conference starts and for one month following) via 1-click download from the ACM Digital Library.

Publication Date Note

AUTHORS TAKE NOTE: The official publication date is the date the proceedings are made available in the ACM Digital Library. This date may be up to two weeks prior to the first day of your conference. The official publication date affects the deadline for any patent filings related to published work. (For those rare conferences whose proceedings are published in the ACM Digital Library after the conference is over, the official publication date remains the first day of the conference.)


This call-for-papers is an adaptation and evolution of content from previous instances of PLDI. We are grateful to prior organizers for their work, which is reused here.

Accepted Papers



Q: Why are you using double-blind reviewing?

A: Studies have shown that a reviewer’s attitude toward a submission may be affected, even unconsciously, by the identity of the authors. We want reviewers to be able to approach each submission without any such, possibly involuntary, pre-judgment. Many computer-science conferences have embraced double-blind reviewing. PLDI has used it for several years now and doing so is stipulated in the Practices of PLDI.

Q: Do you really think blinding actually works? I suspect reviewers can often guess who the authors are anyway.

A: Authorship can be guessed correctly sometimes, but that does not eliminate the benefits of double-blind reviewing.

Q: Couldn’t blind submission create an injustice where a paper is inappropriately rejected based upon supposedly-prior work which was actually by the same authors and not previously published?

A: Reviewers are held accountable for their positions and are required to identify any supposed prior work that they believe undermines the novelty of the paper. Any assertion that ‘this has been done before’ by reviewers should be supported with concrete information. The author response mechanism exists in part to hold reviewers accountable for claims that may be incorrect.

For authors

Q: What exactly do I have to do to anonymize my paper?

A: Use common sense. Your job is not to make your identity undiscoverable but simply to make it possible for reviewers to evaluate your submission without having to know who you are. The specific guidelines stated in the call for papers are simple: omit authors’ names from your title page, and when you cite your own work, refer to it in the third person. For example, if your name is Smith and you have worked on amphibious type systems, instead of saying “We extend our earlier work on statically typed toads [Smith 2004],” you might say “We extend Smith’s [2004] earlier work on statically typed toads.” Also, be sure not to include any acknowledgements that would give away your identity. In general, you should aim to reduce the risk of accidental unblinding. For example, if your paper is the first to describe a system with a well-known name or codename, or you use a personally-identifiable naming convention for your work, then use a different name for your submission (which you may indicate has been changed for the purposes of double-blind reviewing). You should also avoid revealing the institutional affiliation of authors or at which the work was performed.

Q: I would like to provide supplementary material for consideration, e.g., the code of my implementation or proofs of theorems. How do I do this?

A: (see the next question also) On the submission site there will be an option to submit supplementary material along with your main paper. This supplementary material should also be anonymized – it may be viewed by reviewers during the review period, so it should adhere to the same double-blind guidelines.

Q: My submission is based on code available in a public repository. How do I deal with this?

A: Making your code publicly available is not incompatible with double-blind reviewing. You should do the following. First, cite the code in your paper, but remove the actual URL and, instead say “link to repository removed for double blind review” or similar. Second, if, when writing your author response, you believe reviewer access to your code would help, say so in your author response (without providing the URL), and send the URL to the Program Chair.

Q: I am building on my own past work on the WizWoz system. Do I need to rename this system in my paper for purposes of anonymity, so as to remove the implied connection between my authorship of past work on this system and my present submission?

A: Maybe. The core question is really whether the system is one that, once identified, automatically identifies the author(s) and/or the institution. If the system is widely available, and especially if it has a substantial body of contributors and has been out for a while, then these conditions may not hold (e.g., LLVM or HotSpot), because there would be considerable doubt about authorship. By contrast, a paper on a modification to a proprietary system (e.g., Visual C++, or a research project that has not open-sourced its code) implicitly reveals the identity of the authors or their institution. If naming your system essentially reveals your identity (or institution), then anonymize it. In your submission, point out that the system name has been anonymized. If you have any doubts, please contact the Program Chair.

Q: I am submitting a paper that extends my own work that previously appeared at a workshop. Should I anonymize any reference to that prior work?

A: No. But we recommend you do not use the same title for your PLDI submission, so that it is clearly distinguished from the prior paper. In general, there is rarely a good reason to anonymize a citation. One possibility is for work that is tightly related to the present submission and is also under review. When in doubt, contact the Program Chair.

Q: Am I allowed to post my (non-blinded) paper on my web page? Can I advertise the unblinded version of my paper on mailing lists or send it to colleagues? Can I give a talk about my work while it is under review? How do I handle social media? What about ArXiV?

A: We have developed guidelines, described here, to help everyone navigate in the same way the tension between the normal communication of scientific results, which double-blind reviewing should not impede, and actions that essentially force potential reviewers to learn the identity of the authors for a submission. Roughly speaking, you may [of course!] discuss work under submission, but you should not broadly advertise your work through media that is likely to reach your reviewers. We acknowledge there are gray areas and trade-offs – we cannot describe every possible scenario.

Things you may do:

  • Put your submission on your home page.
  • Discuss your work with anyone who is not on the review committees, or with people on the committees with whom you already have a conflict.
  • Present your work at professional meetings, job interviews, etc.
  • Submit work previously discussed at an informal workshop, previously posted on ArXiV or a similar site, previously submitted to a conference not using double-blind reviewing, etc.

Things you should not do:

  • Contact members of the review committees about your work, or deliberately present your work where you expect them to be.
  • Publicize your work on major mailing lists used by the community (because potential reviewers likely read these lists).
  • Publicize your work on social media if wide public [re-]propagation is common (e.g., Twitter) and therefore likely to reach potential reviewers. For example, on Facebook, a post with a broad privacy setting (public or all friends) saying, “Whew, PLDI paper in, time to sleep” is okay, but one describing the work or giving its title is not appropriate. Alternately, a post to a group including only the colleagues at your institution is fine.
  • Put your work on ArXiV after (or shortly before) the submission deadline (because potential reviewers may be subscribed to receive updates on recently posted papers, so this devolves to the mailing-list scenario).

Reviewers will not be asked to recuse themselves from reviewing your paper unless they feel you have gone out of your way to advertise your authorship information to them. If you are unsure about what constitutes “going out of your way”, please contact the Program Chair.

Q: Will the fact that PLDI is double-blind have an impact on handling conflicts-of interest?

A: Double-blind reviewing does not change the principle that reviewers should not review papers with which they have a conflict of interest, even if they do not immediately know who the authors are. Authors declare conflicts-of-interest when submitting their papers using the guidelines in the call-for-papers. Papers will not be assigned to reviewers who have a conflict.

For reviewers

Q: What should I do if I if I learn the authors’ identity? What should I do if a prospective PLDI author contacts me and asks to visit my institution?

A: If you feel that the authors’ actions are largely aimed at ensuring that potential reviewers know their identity, contact the Program Chair. Otherwise you should not treat double-blind reviewing differently from other reviewing. In particular, refrain from seeking out information on the authors’ identity, but if you discover it accidentally this will not automatically disqualify you as a reviewer. Use your best judgment.

Q: The authors have provided a URL to supplemental material. I would like to see the material but I worry they will snoop my IP address and learn my identity. What should I do?

A: Contact the Program Chair, who will download the material on your behalf and make it available to you.

Q: If I am assigned a paper for which I feel I am not an expert, how do I seek an outside review?

A: PC and ERC members should do their own reviews, not delegate them to someone else. If doing so is problematic for some papers, e.g., you don’t feel completely qualified, then consider the following options. First, submit a review for your paper that is as careful as possible, outlining areas where you think your knowledge is lacking. Assuming we have sufficient expert reviews, that could be the end of it: non-expert reviews are valuable too, since conference attendees are by-and-large not experts for any given paper. Second, the review form provides a mechanism for suggesting additional expert reviewers to the PC Chair, who may contact them if additional expertise is needed. Please do not contact outside reviewers yourself. As a last resort, if you feel like your review would be extremely uninformed and you’d rather not even submit a first cut, contact the Program Chair.

Q: How do we handle potential conflicts of interest since I cannot see the author names?

A: The conference review system will ask that you identify conflicts of interest when you get an account on the submission system. Feel free to also identify additional authors whose papers you feel you could not review fairly for reasons other than those given (e.g., strong personal friendship).

Q: How should I avoid learning the authors’ identity if I am using web-search in the process of performing my review?

A: You should make a good-faith effort not to find the authors’ identity during the review period, but if you inadvertently do so, this does not disqualify you from reviewing the paper. As part of the good-faith effort, do not use search engines with terms like the paper’s title or the name of a new system being discussed. If you need to search for related work you believe exists, do so after completing a preliminary review of the paper.

These guidelines are an evolution of guidelines originally created by Michael Hicks for POPL 2012, slightly modified for PLDI 2012 by Frank Tip, shortened by Keshav Pingali for PLDI 2014, modified slightly by Steve Blackburn for PLDI 2015, and then edited by Emery Berger for PLDI 2016 and finally by Dan Grossman for PLDI 2018.

The following papers have been conditionally accepted to PLDI 2018, subject to shepherding.

A Data-Driven CHC Solver
He Zhu, Stephen Magill, Suresh Jagannathan

A General Path-Based Representation for Predicting Program Properties
Uri Alon, Meital Zilberstein, Omer Levy, Eran Yahav

Accelerating Search-Based Program Synthesis Using Learned Probabilistic Models
Woosuk Lee, Kihong Heo, Rajeev Alur, Mayur Naik

Active Learning of Points-To Specifications
Osbert Bastani, Rahul Sharma, Alex Aiken, Percy Liang

Advanced Automata-based Algorithms for Program Termination Checking
Yu-Fang Chen, Matthias Heizmann, Ondřej Lengál, Yong Li, Ming-Hsien Tsai, Andrea Turrini, Lijun Zhang

Automated Clustering and Program Repair for Introductory Programming Assignments
Sumit Gulwani, Ivan Radiček, Florian Zuleger

Bayonet: Probabilistic Inference for Networks
Timon Gehr, Sasa Misailovic, Petar Tsankov, Laurent Vanbever, Pascal Wiesman, Martin Vechev

BLeak: Automatically Debugging Memory Leaks in Web Applications
John Vilk, Emery D. Berger

Bounded Expectations: Resource Analysis for Probabilistic Programs
Van Chan Ngo, Quentin Carbonneaux, Jan Hoffmann

Bounding Data Races in Space and Time
Stephen Dolan, KC Sivaramakrishnan, Anil Madhavapeddy

Calling-to-Reference Context Translation via Constraint-Guided CFL-Reachability
Cheng Cai, Qirun Zhang, Zhiqiang Zuo, Khanh Nguyen, Harry Xu, Zhendong Su

Certified Concurrent Abstraction Layers
Ronghui Gu, Zhong Shao, Jieung Kim, Xiongnan (Newman) Wu, Jeremie Koenig, Vilhelm Sjöberg, Hao Chen, David Costanzo, Tahina Ramananandro

Crellvm: Verified Credible Compilation for LLVM
Jeehoon Kang, Yoonseung Kim, Youngju Song, Juneyoung Lee, Sanghoon Park, Mark Dongyeon Shin, Yonghyun Kim, Sungkeun Cho, Joonwon Choi, Chung-Kil Hur, Kwangkeun Yi

CUBA: Interprocedural Context-UnBounded Analysis of Concurrent Programs
Peizun Liu, Thomas Wahl

CURD: A Dynamic CUDA Race Detector
Yuanfeng Peng, Vinod Grover, Joseph Devietti

Custom Inference Strategies for Probabilistic Programming Languages
Vikash Mansinghka, Ulrich Schaechtle, Shivam Handa, Alexey Radul, Yutian Chen, Martin Rinard

D4: Fast Concurrency Debugging with Parallel Differential Analysis
Bozhen Liu, Jeff Huang

EffectiveSan: Type and Memory Error Detection using Dynamically Typed C/C++
Gregory J. Duck, Roland H. C. Yap

Enhancing Computation-to-Core Assignment with Physical Location Information
Orhan Kislal, Jagadish Kotra, Xulong Tang, Mahmut Taylan Kandemir, Myoungsoo Jung

Ryū: Fast Float to String Conversion
Ulf Adams

Finding Root Causes of Floating Point Error
Alex Sanchez-Stern, Pavel Panchekha, Sorin Lerner, Zachary Tatlock

On-Stack Replacement, Distilled
Daniele Cono D’Elia, Camil Demetrescu

Gluon: A Communication-Optimizing Substrate for Distributed Heterogeneous Graph Analytics
Roshan Dathathri, Gurbinder Gill, Loc Hoang, Hoang-Vu Dang, Alex Brooks, Nikoli Dryden, Marc Snir, Keshav Pingali

GPU Code Optimization Using Abstract Kernel Emulation and Sensitivity Analysis
Changwan Hong, Aravind Sukumaran-Rajam, Jinsung Kim, Prashant Singh Rawat, Sriram Krishnamoorthy, Louis-Noel Pouchet, Fabrice Rastello, P. Sadayappan

Guarded impredicative polymorphism
Alejandro Serrano, Jurriaan Hage, Dimitrios Vytiniotis, Simon Peyton Jones

Heartbeat Scheduling: Provable Efficiency for Nested Parallelism
Umut Acar, Arthur Charguéraud, Adrien Guatto, Mike Rainey, Filip Sieczkowski

HHVM JIT: a Profile-Guided Region-Based Compiler for PHP & Hack
Guilherme Ottoni

High-Coverage Unbounded Sound Predictive Race Detection
Jake Roemer, Kaan Genç, Michael D. Bond

Incremental Inference for Probabilistic Programs
Marco Cusumano-Towner, Benjamin Bichsel, Timon Gehr, Vikash K. Mansinghka, Martin Vechev

Inferring API Security Rules from Code Changes
Rumen Paletov, Petar Tsankov, Veselin Raychev, Martin Vechev

Inferring Type Rules for Syntactic Sugar
Justin Pombrio, Shriram Krishnamurthi

User-Guided Program Reasoning using Bayesian Inference
Mukund Raghothaman, Sulekha Kulkarni, Kihong Heo, Mayur Naik

iReplayer: In-situ and Identical Record-and-Replay for Multithreaded Applications
Hongyu Liu, Sam Silvestro, Wei Wang, Chen Tian, Tongping Liu

Locality Analysis Through Static Parallel Sampling
Dong Chen, Fangzhou Liu, Chen Ding, Sreepathi Pai

Mapping Spiking Neural Networks onto a Manycore Neuromorphic Architecture
Chit-Kwan Lin, Andreas Wild, Tsung-Han Lin, Gautham N. Chinya, Mike Davies, Hong Wang

MixT: A Language for Mixing Consistency in Geodistributed Transactions
Matthew Milano, Andrew Myers

Modularity for Decidability: Implementing and Semi-Automatically Verifying Distributed Systems
Marcelo Taube, Giuliano Losa, Kenneth McMillan, Oded Padon, Mooly Sagiv, Sharon Shoham, James R. Wilcox, Doug Woos

Partial Control-Flow Linearization
Simon Moll, Sebastian Hack

Persistency for Synchronization-free Regions
Vaibhav Gogte, Stephan Diestelhorst, William Wang, Satish Narayanasamy, Peter M. Chen, Thomas F. Wenisch

Pinpoint: Fast and Precise Sparse Value Flow Analysis for Million Lines of Code
Qingkai Shi, Xiao Xiao, Rongxin Wu, Jinguo Zhou, Gang Fan, Charles Zhang

PMAF: An Algebraic Framework for Static Analysis of Probabilistic Programs
Di Wang, Jan Hoffmann, Thomas W. Reps

Polyhedral Auto-Transformation with No Integer Linear Programming
Aravind Acharya, Uday Bondhugula, Albert Cohen

Program Synthesis using Conflict-Driven Learning
Yu Feng, Ruben Martins, Osbert Bastani, Isil Dillig

Putting in All the Stops: Execution Control for JavaScript
Samuel Baxter, Rachit Nigam, Arjun Guha, Joe Gibbs Politz, Shriram Krishnamurthi

Search, Align, and Repair: Data-Driven Feedback Generation for Introductory Programming Exercises
Ke Wang, Rishabh Singh, Zhendong Su

Spatial: A Language and Compiler for Application Accelerators
David Koeplinger, Matthew Feldman, Raghu Prabhakar, Yaqi Zhang, Stefan Hadjis, Ruben Fiszel, Tian Zhao, Luigi Nardi, Ardavan Pedram, Christos Kozyrakis, Kunle Olukotun

Static Serializability Analysis for Causal Consistency
Lucas Brutschy, Dimitar Dimitrov, Peter Müller, Martin Vechev

SWOOP: Software-Hardware Co-Design for Non-Speculative Execute-Ahead, In-Order Cores
Kim-Anh Tran, Alexandra Jimborean, Trevor E. Carlson, Konstantinos Koukos, Magnus Sjalander, Stefanos Kaxiras

Symbolic Reasoning for Automatic Signal Placement
Kostas Ferles, Jacob Van Geffen, Isil Dillig, Yannis Smaragdakis

The Semantics of Transactions and Weak Memory in x86 Power, ARMv8, and C++
Nathan Chong, Tyler Sorensen, John Wickerson

To-many or To-one? All-in-one! — Efficient Purely Functional Multi-Maps with Type-Heterogeneous Hash-Tries
Michael J. Steindorfer, Jurgen J. Vinju

Typed Closure Conversion for the Calculus of Constructions
William J. Bowman, Amal Ahmed

Verifying that Web Pages have Accessible Layout
Pavel Panchekha, Adam Geller, Michael Ernst, Zachary Tatlock, Shoaib Kamil

VeriPhy: Verified Controller Executables from Verified Cyber-Physical System Models
Brandon Bohrer, Yong Kiam Tan, Stefan Mitsch, Magnus O. Myreen, André Platzer

Write-Rationing Garbage Collection for Hybrid Memories
Shoaib Akram, Jennifer B. Sartor, Kathryn S. McKinley, Lieven Eeckhout