Awards
Programming Languages Achievement Award
Recognizes an individual or individuals who has made a significant and lasting contribution to the field of programming languages. [2] [3]
Robin Milner Young Researcher Award
Recognizes outstanding contributions by young researchers in the area of programming languages. [5] The award is named after the computer scientist Robin Milner.
Programming Languages Software Award
Given to an institution or individual(s) to recognize the development of a software system that has had a significant impact on programming language research, implementations, and tools. [6]
- 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 (GCC)
- 2013: Coq proof assistant
- 2012: Jikes Research Virtual Machine (RVM) 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." [7]
- 2025: Harrison Goldstein and Rachit Nigam
- 2024: Benjamin Bichsel
- 2023: Sam Westrick
- 2022: Jay P. Lim, Rutgers and Uri Alon
- 2021: Gagandeep Singh and Ralf Jung
- 2020: Filip Niksic
- 2019: Ryan Beckett
- 2018: Justin Hsu and David Menendez
- 2017: Ramana Kumar
- 2016: Shachar Itzhaky and Vilhelm Sjöberg
- 2015: Mark Batty
- 2014: Aaron Turon
- 2013: Patrick Rondon
- 2012: Dan Marino
- 2010: Robert L. Bocchino
- 2009: Akash Lai and William Thies
- 2008: Michael Bond and Viktor Vafeiadis
- 2007: Swarat Chaudhuri
- 2006: Xiangyu Zhang
- 2005: Sumit Gulwani
- 2003: Godmar Back
- 2002: Michael Hicks
- 2001: Rastislav Bodik
SIGPLAN Distinguished Service Award
Most Influential PLDI Paper Award
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. [8]
- 2025 (for 2015): A Simpler, Safer Programming and Execution Model for Intermittent Systemsby Brandon Lucia and Benjamin Ransford
- 2024 (for 2014): FlowDroid: Precise Context, Flow, Field, Object-sensitive and Lifecycle-aware Taint Analysis for Android Appsby Steven Arzt, Siegfried Rasthofer, Christian Fritz, Eric Bodden, Alexandre Bartel, Jacques Klein, Yves Le Traon, Damien Octeau, Patrick McDaniel
- 2023 (for 2013): Halide: A Language and Compiler for Optimizing Parallelism, Locality, and Representation in Image Processing Pipelinesby Jonathan Ragan-Kelley, Connelly Barnes, Andrew Adams, Sylvain Paris, Frédo Durand, and Saman Amarasinghe
- 2022 (for 2012): Test-Case Reduction for C Compiler Bugsby John Regehr, Yang Chen, Pascal Cuoq, Eric Eide, Chucky Ellison, Xuejun Yang
- 2021 (for 2011): Finding and Understanding Bugs in C Compilersby Xuejun Yang, Yang Chen, Eric Eide, and John Regehr
- 2020 (for 2010): Green: A Framework for Supporting Energy-Conscious Programming using Controlled Approximationby Woongki Baek and Trishul M. Chilimbi
- 2019 (for 2009): FastTrack: Efficient and Precise Dynamic Race Detectionby Cormac Flanagan and Stephen N. Freund
- 2018 (for 2008): A Practical Automatic Polyhedral Parallelizer and Locality Optimizerby Uday Bondhugula, Albert Hartono, J. Ramanujam, and P. Sadayappan
- 2017 (for 2007): Valgrind: A Framework for Heavyweight Dynamic Binary Instrumentationby Nicholas Nethercote, Julian Seward
- 2016 (for 2006): DieHard: Probabilistic Memory Safety for Unsafe Languagesby Emery Berger, Benjamin Zorn
- 2015 (for 2005): Pin: Building Customized Program Analysis Tools with Dynamic Instrumentationby Chi-Keung Luk, Robert Cohn, Robert Muth, Harish Patil, Artur Klauser, Geoff Lowney, Steven Wallace, Vijay Janapa Reddi, and Kim Hazelwood
- 2014 (for 2004): Scalable Lock-Free Dynamic Memory Allocationby Maged M. Michael
- 2013 (for 2003): The nesC Language: A Holistic Approach to Networked Embedded Systemsby David Gay, Philip Levis, J. Robert von Behren, Matt Welsh, Eric Brewer, and David E. Culler
- 2012 (for 2002): Extended Static Checking for Javaby Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, and Raymie Stata
- 2011 (for 2001): Automatic Predicate Abstraction of C Programsby Thomas Ball, Rupak Majumdar, Todd Millstein, and Sriram K. Rajamani
- 2010 (for 2000): Dynamo: A Transparent Dynamic Optimization Systemby Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerji
- 2009 (for 1999): A Fast Fourier Transform Compilerby Matteo Frigo
- 2008 (for 1998): The Implementation of the Cilk-5 Multithreaded Languageby Matteo Frigo, Charles E. Leiserson, Keith H. Randall
- 2007 (for 1997): Exploiting Hardware Performance Counters with Flow and Context Sensitive Profilingby Glenn Ammons, Thomas Ball, and James R. Larus
- 2006 (for 1996): TIL: A Type-Directed Optimizing Compiler for MLby David Tarditi, Greg Morrisett, Perry Cheng, Christopher Stone, Robert Harper, and Peter Lee
- 2005 (for 1995): Selective Specialization for Object-Oriented Languagesby Jeffrey Dean, Craig Chambers, and David Grove
- 2004 (for 1994): ATOM: A System for Building Customized Program Analysis Toolsby Amitabh Srivastava and Alan Eustace
- 2003 (for 1993): Space Efficient Conservative Garbage Collectionby Hans Boehm
- 2002 (for 1992): Lazy Code Motionby Jens Knoop, Oliver Rüthing, Bernhard Steffen
- 2001 (for 1991): A Data Locality Optimizing Algorithmby Michael E. Wolf and Monica S. Lam
- 2000 (for 1990): Profile Guided Code Positioningby 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. [9]
- 2025 (for 2015): Iris: Monoids and Invariants as an Orthogonal Basis for Concurrent Reasoningby Ralf Jung, David Swasey, Filip Sieczkowski, Kasper Paabøl Svendsen, Aaron Joseph Turon, Lars Birkedal, Derek Dreyer
- 2024 (for 2014): CakeML: A Verified Implementation of MLby Ramana Kumar, Magnus Myreen, Michael Norrish, Scott Owens
- 2023 (for 2013): Views: Compositional reasoning for concurrent programsby Thomas Dinsdale-Young, Lars Birkedal, Philippa Gardner, Matthew Parkinson, Hongseok Yang
- 2022 (for 2012): Multiple facets for dynamic information flowby Thomas H. Austin and Cormac Flanagan
- 2021 (for 2011): Automating string processing in spreadsheets using input-output examplesby Sumit Gulwani
- 2020 (for 2010): From program verification to program synthesisby Saurabh Srivastava, Sumit Gulwani, Jeffrey Foster* 2019 (for 2009): Compositional shape analysis by means of bi-abductionby Cristiano Calcagno, Dino Distefano, Peter W. O'Hearn, Hongseok Yang
- 2018 (for 2008): Multiparty asynchronous session typesby Kohei Honda, Nobuko Yoshida, Marco Carbone
- 2017 (for 2007): JavaScript Instrumentation for Browser Securityby Dachuan Yu, Ajay Chander, Nayeem Islam, Igor Serikov
- 2016 (for 2006): Formal certification of a compiler back-end or: programming a compiler with a proof assistantby Xavier Leroy
- 2015 (for 2005): Combinators for Bidirectional Tree Transformations: A Linguistic Approach to the View Update Problemby Nate Foster, Michael B. Greenwald, Jonathan T. Moore, Benjamin C. Pierce, and Alan Schmitt
- 2014 (for 2004): Abstractions from proofsby Thomas Henzinger, Ranjit Jhala, Rupak Majumdar, and Kenneth McMillan
- 2013 (for 2003): A real-time garbage collector with low overhead and consistent utilizationby David F. Bacon, Perry Cheng, and VT Rajan
- 2012 (for 2002): CCured: Type-Safe Retrofitting of Legacy Codeby George C. Necula, Scott McPeak, and Westley Weimer
- 2011 (for 2001): BI as an Assertion Language for Mutable Data Structuresby Samin Ishtiaq and Peter W. O'Hearn
- 2010 (for 2000): Anytime, Anywhere: Modal Logics for Mobile Ambientsby Luca Cardelli and Andrew D. Gordon
- 2009 (for 1999): JFlow: Practical Mostly-Static Information Flow Controlby Andrew C. Myers
- 2008 (for 1998): From System F to Typed Assembly Languageby Greg Morrisett, David Walker, Karl Crary, and Neal Glew
- 2007 (for 1997): Proof-carrying Codeby George Necula
- 2006 (for 1996): Points-to Analysis in Almost Linear Timeby Bjarne Steensgaard
- 2005 (for 1995): A Language with Distributed Scopeby Luca Cardelli
- 2004 (for 1994): Implementation of the Typed Call-by-Value lambda-calculus using a Stack of Regionsby Mads Tofte and Jean-Pierre Talpin
- 2003 (for 1993): Imperative functional programmingby Simon Peyton Jones and Philip Wadler
Most Influential OOPSLA Paper Award
- 2024 (for 2014): Adaptive LL(*) parsing: the power of dynamic analysisby Terence Parr, Sam Harwell, and Kathleen Fisher
- 2023 (for 2013): Empirical analysis of programming language adoptionby Leo Meyerovich and Ariel Rabkin
- 2022 (for 2012): GPUVerify: a verifier for GPU kernelsby Adam Betts, Nathan Chong, Alastair Donaldson, Shaz Qadeer, and Paul Thomson
- 2021 (for 2011): SugarJ: library-based syntactic language extensibilityby Sebastian Erdweg, Tillmann Rendel, Christian Kästner, and Klaus Ostermann
- 2020 (for 2010): The spoofax language workbench: rules for declarative specification of languages and IDEsby Lennart C.L. Kats and Eelco Visser
- 2019 (for 2009): Flapjax: a programming language for Ajax applicationsby Leo A. Meyerovich, Arjun Guha, Jacob Baskin, Gregory H. Cooper, Michael Greenberg, Aleks Bromfield, Shriram Krishnamurthi
- 2018 (for 2008): jStar: towards practical verification for Javaby Dino Distefano and Matthew Parkinson
- 2017 (for 2007): Statistically Rigorous Java Performance Evaluationby Andy Georges, Dries Buytaert, Lieven Eeckhout
- 2016 (for 2006): The DaCapo benchmarks: Java benchmarking development and analysisby 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 (for 2005): X10: An Object-Oriented Approach to Non-Uniform Cluster Computingby Philippe Charles, Christian Grothoff, Vijay Saraswat, Christopher Donawa, Allan Kielstra, Kemal Ebcioglu, Christoph von Praun, and Vivek Sarkar
- 2014 (for 2004): Mirrors: Design Principles for Meta-level Facilities of Object-Oriented Programming Languagesby Gilad Bracha and David Ungar
- 2013 (for 2003): Language Support for Lightweight Transactionsby Tim Harris and Keir Fraser
- 2012 (for 2002): Reconsidering Custom Memory Allocationby Emery D. Berger, Benjamin G. Zorn, and Kathryn S. McKinley
- 2010 (for 2000): Adaptive Optimization in the Jalapeño JVMby Matthew Arnold, Stephen Fink, David Grove, Michael Hind, and Peter F. Sweeney
- 2009 (for 1999): Implementing Jalapeño in Javaby 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 (for 1998): Ownership Types for Flexible Alias Protectionby David G. Clarke, John M. Potter, and James Noble
- 2007 (for 1997): Call Graph Construction in Object-Oriented Languagesby David Grove, Greg DeFouw, Jeffrey Dean, and Craig Chambers
- 2006 (for 1986–1996):
- Subject Oriented Programming: A Critique of Pure Objectsby William Harrison and Harold Ossher
- Concepts and Experiments in Computational Reflectionby Pattie Maes
- Self: The Power of Simplicityby David Ungar and Randall B. Smith
Most Influential ICFP Paper Award
- 2024 (for 2014): Refinement Types for Haskellby Niki Vazou, Eric L. Seidel, Ranjit Jhala, Dimitrios Vytiniotis, Simon Peyton-Jones
- 2023 (for 2013): Handlers in Actionby Ohad Kammar, Sam Lindley and Nicolas Oury
- 2022 (for 2012): Addressing Covert Termination and Timing Channels in Concurrent Information Flow Systemsby Deian Stefan, Alejandro Russo, Pablo Buiras, Amit Levy, John C. Mitchell and David Mazières
- 2021 (for 2011): Frenetic: A Network Programming Languageby Nate Foster, Rob Harrison, Michael Freedman, Christopher Monsanto, Jennifer Rexford, Alex Story, and David Walker
- 2020 (for 2010): Abstracting Abstract Machinesby David Van Horn and Matthew Might
- 2019 (for 2009): Runtime Support for Multicore Haskellby Simon Marlow, Simon Peyton Jones, and Satnam Singh
- 2018 (for 2008): Parametric Higher-order Abstract Syntax for Mechanized Semanticsby Adam Chlipala
- 2017 (for 2007): Ott: Effective Tool Support for the Working Semanticistby Peter Sewell, Francesco Zappa Nardelli, Scott Owens, Gilles Peskine, Thomas Ridge, Susmit Sarkar, and Rok Strniša
- 2016 (for 2006): Simple Unification-based Type Inference for GADTsby Simon Peyton Jones, Dimitrios Vytiniotis, Stephanie Weirich, and Geoffrey Washburn
- 2015 (for 2005): Associated Type Synonymsby Manuel M. T. Chakravarty, Gabriele Keller, and Simon Peyton Jones
- 2014 (for 2004): Scrap More Boilerplate: Reflection, Zips, and Generalised Castsby Ralf Lämmel and Simon Peyton Jones
- 2013 (for 2003): MLF: Raising ML to the Power of System Fby Didier Le Botlan and Didier Rémy
- 2012 (for 2002): Contracts for Higher-order Functionsby Robert Findler and Matthias Felleisen
- 2011 (for 2001): Recursive Structures for Standard MLby Claudio Russo
- 2010 (for 2000): Quickcheck: A Lightweight Tool for Random Testing of Haskell Programsby Koen Claessen and John Hughes
- 2009 (for 1999): Haskell and XML: Generic combinators or type-based translation?by Malcolm Wallace and Colin Runciman
- 2008 (for 1998): Cayenne — A Language with Dependent Typesby Lennart Augustsson
- 2007 (for 1997): Functional Reactive Animationby Conal Elliott and Paul Hudak
- 2006 (for 1996): Optimality and Inefficiency: What isn't a Cost Model of the Lambda Calculus?by Julia L. Lawall and Harry G. Mairson
This page is based on this
Wikipedia article Text is available under the
CC BY-SA 4.0 license; additional terms may apply.
Images, videos and audio are available under their respective licenses.