Presented annually to the author(s) of a paper presented at the
PLDI held 10 years prior to the award year.
The award includes a prize of $1,000 to be split among the authors of the winning paper.
The papers are judged by their influence over the past decade.
2011 (for 2001): Automatic predicate abstraction of C programs, Thomas Ball, Rupak Majumdar, Todd Millstein, Sriram K. Rajamani
Citation
"The paper "Automatic Predicate Abstraction of C Programs" by Thomas
Ball, Rupak Majumdar, Todd D. Millstein, and Sriram K. Rajamani
presented the underlying predicate abstraction technology of the SLAM
project for checking that software satisfies critical behavioral
properties of the interfaces it uses and to aid software engineers in
designing interfaces and software that ensure reliable and correct
execution. The technology is now part of Microsoft's Static Driver
Verifier in the Windows Driver Development Kit. This is one of the
earliest examples of automation of software verification on a large
scale and the basis for numerous efforts to expand the domains that
can be verified."
2010 (for 2000): Dynamo: A Transparent Dynamic Optimization System, Vasanth Bala, Evelyn Duesterwald, Sanjeev Banerji
Citation
"Dynamo pioneered the technique of monitoring, analyzing, and optimizing binary code on-the-fly while the program executes, without relying on any program modifications, compiler hints, profile data from prior runs, or special purpose hardware. Contrary to intuition, one could use Dynamo to substantially improve the performance of a binary's execution, even when it was generated by a state-of-the-art optimizing compiler. By continuously monitoring its own overhead, Dynamo could suspend itself (and resume later) when the optimization gains were not sufficient to offset the cost of its own operation. The ability for a software-only system to speed up a program binary without any kind of modification or externally provided hints challenged much entrenched thinking at the time, and catalyzed a rethinking of the compiler-architecture interface. Hardware designs were shifting more of the performance optimization burden from the hardware to the compiler. At the same time software was moving towards greater use of dynamic binding, resulting in a shrinking optimization scope for the compiler. These two trends were in tension with one another. By operating at binary execution time, Dynamo helped bridge this growing gap by complementing the compiler's traditional strength in static control flow based optimization with instruction-level runtime trace-based optimization. This paper was the first in a series of publications that continue to this day on similar trace-based systems for dynamic binary optimization, dynamic binary instrumentation, and dynamic binary translation."
2009 (for 1999): A Fast Fourier Transform Compiler, Matteo Frigo
Citation
"The 1999 PLDI paper “A Fast Fourier Transform Compiler” by Matteo Frigo describes the implementation of genfft, a special-purpose compiler that produces the performance critical code for a library, called FFTW (the “Fastest Fourier Transform in the West”), that computes the discrete Fourier transform. FFTW is the predominant open fast Fourier transform package available today, as it has been since its introduction a decade ago. genfft demonstrated the power of domain-specific compilation—FFTW achieves the best or close to best performance on most machines, which is remarkable for a single package. By encapsulating expert knowledge from the FFT algorithm domain and the compiler domain, genfft and FFTW provide a tremendous service to the scientific and technical community by making highly efficient FFTs available to everyone on any machine. As well as being the fastest FFT in the West, FFTW may be the last FFT in the West as the quality of this package and the maturity of the field may mean that it will never be superseded, at least for computer architectures similar to past and current ones."
2008 (for 1998):
The Implementation of the
Cilk-5 Multithreaded Language, Matteo Frigo, Charles E. Leiserson, and
Keith H. Randall
Citation
"The 1998 PLDI
paper "Implementation of the Cilk-5 Multithreaded Language" by Matteo Frigo,
Charles E. Leiserson, and Keith H. Randall introduced an efficient form of
thread-local deques to control scheduling of multithreaded programs. This
innovation not only opened the way to faster and simpler runtimes for
fine-grained parallelism, but also provided a basis for simpler parallel
recursive programming techniques that elegantly extend those of sequential
programming. The stack-like side of a deque acts just like a standard
procedure stack, while the queue side enables breadth-first work-stealing by
other threads. The work-stealing techniques introduced in this paper are
beginning to influence common practice, such as the Intel Threading Building
Blocks project, an upcoming standardized fork-join framework for Java, and a
variety of projects at Microsoft."
2007 (for 1997):
Exploiting Hardware
Performance Counters with Flow and Context Sensitive Profiling, Glenn
Ammons, Thomas Ball, and James R. Larus
2006 (for 1996):
TIL: A Type-Directed
Optimizing Compiler for ML, David Tarditi, Greg Morrisett, Perry Cheng,
Christopher Stone, Robert Harper, and Peter Lee
2005 (for 1995):
Selective
Specialization for Object-Oriented Languages, Jeffrey Dean, Craig Chambers,
and David Grove
2004 (for 1994):
ATOM: a system for
building customized program analysis tools,
Amitabh Srivastava
and Alan Eustace
2003 (for 1993):
Space
Efficient Conservative Garbage Collection,
Hans Boehm
2002 (for 1992):
Lazy Code Motion,
Jens Knoop,
Oliver
Rüthing, Bernhard Steffen.
2001 (for 1991):
A
data locality optimizing algorithm, Michael E. Wolf and
Monica S. Lam.
2000 (for 1990):
Profile
guided code positioning, Karl Pettis and Robert C. Hansen.