Abstract: Analysis and verification have shared a symbiotic relationship in the history of compilers and programming tools. This relationship is entering a new era with languages that support dynamic fine-grained parallelism, managed runtimes that rely on bytecode verification and runtime checking, and target platforms that have now all become parallel by default. This talk will review the state of the art in static and dynamic analysis of parallel programs with a focus on techniques that are applicable to large-scale software, and outline research challenges that must be addressed to build the foundations for analysis and verification of future parallel software. One of these challenges is defining semantically sound parallel execution models and memory models, along with accompanying intermediate representations, that are amenable to abstract interpretations suitable for data flow analysis and verification. Another challenge is to revisit the longstanding open problem of automatic parallelization of sequential programs, by focusing on analysis and verification techniques for new languages (shiny decks) rather than legacy code (dusty decks). Examples will be given from past work on the X10, Jikes RVM, and PTRAN projects to illustrate these points, as well as from the new Habanero Multicore Software Research project at Rice University.

Bio: Vivek Sarkar conducts research in programming languages, program analysis, compiler optimizations and virtual machines for parallel and high performance computer systems, and currently leads the Habanero Multicore Software Research project at Rice University (www.habanero.rice.edu). Prior to joining Rice, he was Senior Manager of Programming Technologies at IBM Research. His responsibilities at IBM included leading IBM's research efforts in programming model, tools, and productivity in the PERCS project during 2002- 2007 as part of the DARPA High Productivity Computing System program. His past projects include the X10 programming language, the Jikes Research Virtual Machine for the Java language, the ASTI optimizer used in IBM's XL Fortran product compilers, the PTRAN automatic parallelization system, and profile-directed partitioning and scheduling of Sisal programs. Vivek became a member of the IBM Academy of Technology in 1995, an ACM Distinguished Scientist in 2006, and the E.D. Butcher Professor of Computer Science at Rice University in 2007. He holds a B.Tech. degree from the Indian Institute of Technology, Kanpur, an M.S. degree from University of Wisconsin-Madison, and a Ph.D. from Stanford University. In 1997, he was on sabbatical as a visiting associate professor at MIT, where he was a founding member of the MIT RAW multicore project.

This document was translated from LATEX by HEVEA.