Robert Bocchino Wins ACM SIGPLAN Dissertation Award
Postdoctoral Associate Robert Bocchino has been awarded the ACM SIGPLAN Outstanding Doctoral Dissertation Award for 2010. Announced June 6 at the ACM SIGPLAN conference on Programming Language Design and Implementation (PLDI), the award is for Dr. Bocchino's Ph.D. thesis at the University of Illinois at Urbana-Champaign, advised by Vikram Adve.
Dr. Bocchino's thesis, entitled "An Effect System and Language for Deterministic-by-Default Parallel Programming," describes the design and evaluation of a new, Java-based object-oriented parallel language called Deterministic Parallel Java (DPJ). DPJ uses a novel effect system to guarantee determinism by default at compile time. That means that parallel programs are guaranteed to execute deterministically unless nondeterminism is explicitly requested. Further, in DPJ, nondeterminism is carefully controlled and subject to strong compile-time safety guarantees, including freedom from data races. This is in contrast to the shared-memory models in widespread use today, such as threads and locks (including threads in ordinary Java). Those models are inherently nondeterministic, do not provide any way to check or enforce that a computation is deterministic, and can even have unintended data races, which can lead to strange and unexpected behaviors. Finally, DPJ can check that the uses of object-oriented frameworks correspond to their effect specifications, ensuring determinism and other safety guarantees for the framework uses.
According to the ACM SIGPLAN web site, the Outstanding Doctoral Dissertation Award is "presented annually to the author of the outstanding doctoral dissertation in the area of Programming Languages" and includes a prize of $1,000. The award citation reads as follows:
This dissertation makes several significant contributions to the field of parallel and concurrent programming. The main technical contribution is a type and effect system that enables reasoning about non-interference at a fine granularity. A second contribution is support for non-deterministic code sections that are explicitly marked as such. A third contribution is support for object-oriented frameworks, where user extensions are guaranteed to adhere to the framework's effect restrictions. These contributions are backed by formal models, soundness proofs, and the Deterministic Parallel Java implementation. Evaluation shows that highly satisfactory speedups can be achieved on interesting code bases, sometimes beating the performance of hand-crafted implementations. The members of the award committee were impressed by the quality of the work and the clarity of the presentation.
After completing his Ph.D. at Illinois, Dr. Bocchino joined CMU as a Postdoctoral Associate in October 2010. He works with Jonathan Aldrich in the Institute for Software Research and is supported by a Computing Innovation Fellowship. Dr. Bocchino's current research focuses on using and extending the Plaid programming language, together with related verification techniques, to design and verify abstractions that make it easy for for programmers to write correct and efficient parallel code.