SIGPLAN


SIGPLAN is the Association for Computing Machinery's Special Interest Group on programming languages. This SIG explores programming language concepts and tools, focusing on design, implementation, practice, and theory. Its members are programming language developers, educators, implementers, researchers, theoreticians, and users.

Conferences

Programming Languages Achievement Award

Recognizes an individual or individuals who has made a significant and lasting contribution to the field of programming languages.
Recognizes outstanding contributions by young researchers in the area of programming languages. The award is named after the computer scientist Robin Milner.
Given to an institution or individual to recognize the development of a software system that has had a significant impact on programming language research, implementations, and tools.
  • 2025: Lean awarded to Gabriel Ebner, Soonho Kong, Leo de Moura and Sebastian Ullrich.
  • 2024: Rust awarded to Aaron Turon, Alex Crichton, Brian Anderson, Dave Herman, Felix S. Klock II, Graydon Hoare, Marijn Haverbeke, Nicholas D. Matsakis, Patrick Walton, Tim Chevalier, Yehuda Katz, and All Rust Contributors Past and Present
  • 2023: OCaml awarded to David Allsopp, Florian Angeletti, Stephen Dolan, Damien Doligez, Alain Fritsch, Jacques Garrigue, Xavier Leroy, Anil Madhavapeddy, Luc Maranget, Nicolás Ojeda Bär, Gabriel Scherer, KC Sivaramakrishnan, Jérôme Vouillon, and Léo White
  • 2022: CompCert awarded to Xavier Leroy, Sandrine Blazy, Zaynah Dargaye, Jacques-Henri Jourdan, Michael Schmidt, Bernhard Schommer, and Jean-Baptiste Tristan
  • 2021: WebAssembly awarded to Andreas Rossberg, Derek Schuff, Bradley Nelson, JF Bastien, and Ben L. Titzer
  • 2020: Pin awarded to Artur Klauser, Greg Lueck, Mark Charney, Gail Lyons, Geoff Lowney, Aamer Jaleel, Harish Patil, Vijay Janapa Reddi, Kim Hazelwood, S. Bharadwaj Yadavalli, Ramesh Peri, Elena Demikhovsky, Ady Tal, Moshe Bach, Alex Skaletsky, CK Luk, Steven Wallace, Tevi Devor, Robert Muth, and Nadav Chachmon
  • 2019: Scala awarded to Martin Odersky, Adriaan Moors, Aleksandar Prokopec, Heather Miller, Iulian Dragos, Nada Amin, Philipp Haller, Sébastien Doeraene, and Tiark Rompf
  • 2018: Racket awarded to Eli Barzilay, Matthias Felleisen, Robert Bruce Findler, Matthew Flatt, Shriram Krishnamurthi, Jay McCarthy, and Sam Tobin-Hochstadt
  • 2016: V8
  • 2015: Z3 Theorem Prover
  • 2014: GNU Compiler Collection
  • 2013: Rocq proof assistant
  • 2012: Jikes Research Virtual Machine awarded to Bowen Alpern, Matthew Arnold, Clement Attanasio, John Barton, Steve Blackburn, Maria Butrico, Perry Cheng, Tony Cocchi, Julian Dolby, Peter Donald, Steven Fink, Daniel Frampton, Robin Garner, David Grove, Michael Hind, Derek Lieber, Kathryn McKinley, Mark Mergen, Eliot Moss, Ton Ngo, Igor Peshansky, Filip Pizlo, Feng Qian, Ian Rogers, Vivek Sarkar, Mauricio Serrano, Janice Shepherd, Stephen Smith, Peter F. Sweeney, Martin Trapp, Kris Venstermans, and John Whaley
  • 2011: Glasgow Haskell Compiler awarded to Simon Peyton Jones, and Simon Marlow
  • 2010: LLVM awarded to Chris Lattner

    SIGPLAN Doctoral Dissertation Award

The full name of this award is the John C. Reynolds Doctoral Dissertation Award, after the computer scientist John C. Reynolds. It is "presented annually to the author of the outstanding doctoral dissertation in the area of Programming Languages."
Given to the authors of a paper presented at PLDI 10 years prior to the award year, in recognition of its influence over the past decade.
  • 2025 : A Simpler, Safer Programming and Execution Model for Intermittent Systems by Brandon Lucia and Benjamin Ransford
  • 2024 : FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Apps by Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, Patrick McDaniel
  • 2023 : Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Representation in Image Processing Pipelines by Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman Amarasinghe
  • 2022 : Test-Case Reduction for C Compiler Bugs by John Regehr, Yang Chen, Pascal Cuoq, Eric Eide, Chucky Ellison, Xuejun Yang
  • 2021 : Finding and Understanding Bugs in C Compilers by Xuejun Yang, Yang Chen, Eric Eide, and John Regehr
  • 2020 : Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximation by Woongki Baek and Trishul M. Chilimbi
  • 2019 : FastTrack: Efficient and Precise Dynamic Race Detection by Cormac Flanagan and Stephen N. Freund
  • 2018 : A Practical Automatic Polyhedral Parallelizer and Locality Optimizer by Uday Bondhugula, Albert Hartono, J. Ramanujam, and P. Sadayappan
  • 2017 : Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentation by Nicholas Nethercote, Julian Seward
  • 2016 : DieHard: Probabilistic Memory Safety for Unsafe Languages by Emery Berger, Benjamin Zorn
  • 2015 : Pin: Building Customized Program Analysis Tools with Dynamic Instrumentation by Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood
  • 2014 : Scalable Lock-Free Dynamic Memory Allocation by Maged M. Michael
  • 2013 : The nesC Language: A Holistic Approach to Networked Embedded Systems by David Gay, Philip Levis, J. Robert von Behren, Matt Welsh, Eric Brewer, and David E. Culler
  • 2012 : Extended Static Checking for Java by Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata
  • 2011 : Automatic Predicate Abstraction of C Programs by Thomas Ball, Rupak Majumdar, Todd Millstein, and Sriram K. Rajamani
  • 2010 : Dynamo: A Transparent Dynamic Optimization System by Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerji
  • 2009 : A Fast Fourier Transform Compiler by Matteo Frigo
  • 2008 : The Implementation of the Cilk-5 Multithreaded Language by Matteo Frigo, Charles E. Leiserson, Keith H. Randall
  • 2007 : Exploiting Hardware Performance Counters with Flow and Context Sensitive Profiling by Glenn Ammons, Thomas Ball, and James R. Larus
  • 2006 : TIL: A Type-Directed Optimizing Compiler for ML by David Tarditi, Greg Morrisett, Perry Cheng, Christopher Stone, Robert Harper, and Peter Lee
  • 2005 : Selective Specialization for Object-Oriented Languages by Jeffrey Dean, Craig Chambers, and David Grove
  • 2004 : ATOM: A System for Building Customized Program Analysis Tools by Amitabh Srivastava and Alan Eustace
  • 2003 : Space Efficient Conservative Garbage Collection by Hans Boehm
  • 2002 : Lazy Code Motion by Jens Knoop, Oliver Rüthing, Bernhard Steffen
  • 2001 : A Data Locality Optimizing Algorithm by Michael E. Wolf and Monica S. Lam
  • 2000 : Profile Guided Code Positioning by Karl Pettis and Robert C. Hansen

    Most Influential POPL Paper Award

Given to the authors of a paper presented at POPL 10 years prior to the award year, in recognition of its influence over the past decade.
  • 2025 : Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoning by Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Paabøl Svendsen, Aaron Joseph Turon, Lars Birkedal, Derek Dreyer
  • 2024 : CakeML: A Verified Implementation of ML by Ramana Kumar, Magnus Myreen, Michael Norrish, Scott Owens
  • 2023 : Views: Compositional reasoning for concurrent programs by Thomas Dinsdale-Young, Lars Birkedal, Philippa Gardner, Matthew Parkinson, Hongseok Yang
  • 2022 : Multiple facets for dynamic information flow by Thomas H. Austin and Cormac Flanagan
  • 2021 : Automating string processing in spreadsheets using input-output examples by Sumit Gulwani
  • 2020 : From program verification to program synthesis by Saurabh Srivastava, Sumit Gulwani, Jeffrey Foster* 2019 : Compositional shape analysis by means of bi-abduction by Cristiano Calcagno, Dino Distefano, Peter W. O'Hearn, Hongseok Yang
  • 2018 : Multiparty asynchronous session types by Kohei Honda, Nobuko Yoshida, Marco Carbone
  • 2017 : JavaScript Instrumentation for Browser Security by Dachuan Yu, Ajay Chander, Nayeem Islam, Igor Serikov
  • 2016 : Formal certification of a compiler back-end or: programming a compiler with a proof assistant by Xavier Leroy
  • 2015 : Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problem by Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt
  • 2014 : Abstractions from proofs by Thomas Henzinger, Ranjit Jhala, Rupak Majumdar, and Kenneth McMillan
  • 2013 : A real-time garbage collector with low overhead and consistent utilization by David F. Bacon, Perry Cheng, and VT Rajan
  • 2012 : CCured: Type-Safe Retrofitting of Legacy Code by George C. Necula, Scott McPeak, and Westley Weimer
  • 2011 : BI as an Assertion Language for Mutable Data Structures by Samin Ishtiaq and Peter W. O'Hearn
  • 2010 : Anytime, Anywhere: Modal Logics for Mobile Ambients by Luca Cardelli and Andrew D. Gordon
  • 2009 : JFlow: Practical Mostly-Static Information Flow Control by Andrew C. Myers
  • 2008 : From System F to Typed Assembly Language by Greg Morrisett, David Walker, Karl Crary, and Neal Glew
  • 2007 : Proof-carrying Code by George Necula
  • 2006 : Points-to Analysis in Almost Linear Time by Bjarne Steensgaard
  • 2005 : A Language with Distributed Scope by Luca Cardelli
  • 2004 : Implementation of the Typed Call-by-Value lambda-calculus using a Stack of Regions by Mads Tofte and Jean-Pierre Talpin
  • 2003 : Imperative functional programming by Simon Peyton Jones and Philip Wadler

    Most Influential OOPSLA Paper Award

  • 2024 : Adaptive LL parsing: the power of dynamic analysis by Terence Parr, Sam Harwell, and Kathleen Fisher
  • 2023 : Empirical analysis of programming language adoption by Leo Meyerovich and Ariel Rabkin
  • 2022 : GPUVerify: a verifier for GPU kernels by Adam Betts, Nathan Chong, Alastair Donaldson, Shaz Qadeer, and Paul Thomson
  • 2021 : SugarJ: library-based syntactic language extensibility by Sebastian Erdweg, Tillmann Rendel, Christian Kästner, and Klaus Ostermann
  • 2020 : The spoofax language workbench: rules for declarative specification of languages and IDEs by Lennart C.L. Kats and Eelco Visser
  • 2019 : Flapjax: a programming language for Ajax applications by Leo A. Meyerovich, Arjun Guha, Jacob Baskin, Gregory H. Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi
  • 2018 : jStar: towards practical verification for Java by Dino Distefano and Matthew Parkinson
  • 2017 : Statistically Rigorous Java Performance Evaluation by Andy Georges, Dries Buytaert, Lieven Eeckhout
  • 2016 : The DaCapo benchmarks: Java benchmarking development and analysis by Stephen M. Blackburn, Robin Garner, Chris Hoffmann, Asjad M. Khan, Kathryn S. McKinley, Rotem Bentzur, Amer Diwan, Daniel Feinberg, Daniel Frampton, Samuel Z. Guyer, Martin Hirzel, Antony Hosking, Maria Jump, Han Lee, J. Eliot B. Moss, Aashish Phansalkar, Darko Stefanović, Thomas VanDrunen, Daniel von Dincklage, Ben Wiedermann
  • 2015 : X10: An Object-Oriented Approach to Non-Uniform Cluster Computing by Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar
  • 2014 : Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languages by Gilad Bracha and David Ungar
  • 2013 : Language Support for Lightweight Transactions by Tim Harris and Keir Fraser
  • 2012 : Reconsidering Custom Memory Allocation by Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley
  • 2010 : Adaptive Optimization in the Jalapeño JVM by Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter F. Sweeney
  • 2009 : Implementing Jalapeño in Java by Bowen Alpern, C. R. Attanasio, John J. Barton, Anthony Cocchi, Susan Flynn Hummel, Derek Lieber, Ton Ngo, Mark Mergen, Janice C. Shepherd, and Stephen Smith
  • 2008 : Ownership Types for Flexible Alias Protection by David G. Clarke, John M. Potter, and James Noble
  • 2007 : Call Graph Construction in Object-Oriented Languages by David Grove, Greg DeFouw, Jeffrey Dean, and Craig Chambers
  • 2006 :
  • * Subject Oriented Programming: A Critique of Pure Objects by William Harrison and Harold Ossher
  • * Concepts and Experiments in Computational Reflection by Pattie Maes
  • * Self: The Power of Simplicity by David Ungar and Randall B. Smith

    Most Influential ICFP Paper Award

  • 2024 : Refinement Types for Haskell by Niki Vazou, Eric L. Seidel, Ranjit Jhala, Dimitrios Vytiniotis, Simon Peyton-Jones
  • 2023 : Handlers in Action by Ohad Kammar, Sam Lindley and Nicolas Oury
  • 2022 : Addressing Covert Termination and Timing Channels in Concurrent Information Flow Systems by Deian Stefan, Alejandro Russo, Pablo Buiras, Amit Levy, John C. Mitchell and David Mazières
  • 2021 : Frenetic: A Network Programming Language by Nate Foster, Rob Harrison, Michael Freedman, Christopher Monsanto, Jennifer Rexford, Alex Story, and David Walker
  • 2020 : Abstracting Abstract Machines by David Van Horn and Matthew Might
  • 2019 : Runtime Support for Multicore Haskell by Simon Marlow, Simon Peyton Jones, and Satnam Singh
  • 2018 : Parametric Higher-order Abstract Syntax for Mechanized Semantics by Adam Chlipala
  • 2017 : Ott: Effective Tool Support for the Working Semanticist by Peter Sewell, Francesco Zappa Nardelli, Scott Owens, Gilles Peskine, Thomas Ridge, Susmit Sarkar, and Rok Strniša
  • 2016 : Simple Unification-based Type Inference for GADTs by Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich, and Geoffrey Washburn
  • 2015 : Associated Type Synonyms by Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones
  • 2014 : Scrap More Boilerplate: Reflection, Zips, and Generalised Casts by Ralf Lämmel and Simon Peyton Jones
  • 2013 : MLF: Raising ML to the Power of System F by Didier Le Botlan and Didier Rémy
  • 2012 : Contracts for Higher-order Functions by Robert Findler and Matthias Felleisen
  • 2011 : Recursive Structures for Standard ML by Claudio Russo
  • 2010 : Quickcheck: A Lightweight Tool for Random Testing of Haskell Programs by Koen Claessen and John Hughes
  • 2009 : Haskell and XML: Generic combinators or type-based translation? by Malcolm Wallace and Colin Runciman
  • 2008 : Cayenne — A Language with Dependent Types by Lennart Augustsson
  • 2007 : Functional Reactive Animation by Conal Elliott and Paul Hudak
  • 2006 : Optimality and Inefficiency: What isn't a Cost Model of the Lambda Calculus? by Julia L. Lawall and Harry G. Mairson