INTEL RESEARCH SEMINAR
DATE: August 25, 2003
TIME: Noon - 1:30 pm
PLACE: Intel Seminar (417 S. Craig Street - 3rd Floor)
INTEL
EVENTS PAGE: http://www.intel-research.net/pittsburgh/events.htm
SPEAKER:
Aaron
Greenhouse
CMU
TITLE:
A Programmer-Oriented Approach to Safe Concurrency
ABSTRACT:
Assuring and evolving concurrent programs requires understanding the concurrency-related
design decisions used in their implementation. In Java-style shared-memory
programs, these decisions include which state is shared, how access to
it is regulated, and the policy that distinguishes desired concurrency
from race conditions. Source code often does not reveal these design decisions
because they rarely have purely local manifestations in the code, or because
they cannot be inferred from code. Many programmers believe it is too
difficult to explicate the models in ordinary practice. As a result, this
design intent is usually not expressed, and it is therefore generally
infeasible to assure that concurrent programs are free of race conditions.
In this talk, I present a practicable approach to capturing and expressing this design intent, and, through the use of annotations and composable static analyses, assuring consistency of code and intent as both evolve. Annotations express "mechanical" properties that programmers must already be considering, such as lock-state associations, pointer uniqueness, and conceptual aggregations of state. Our analyses reveal race conditions in a variety of case study samples that were drawn from library code and production open source projects. Novel features of this approach include (1) named aggregations of state that can cross object boundaries, (2) analyses to track the association of locks with regions, (3) policy descriptions for allowable method interleavings, and (4) an incremental process for inserting, validating, and exploiting annotations.
BIO:
Aaron Greenhouse received his Ph.D. in Computer Science from Carnegie
Mellon University in May 2003, and his B.A. in Computer Science from Brandeis
University. He is currently a Post-Doctoral Fellow in the Fluid Group
at CMU where he is continuing to develop software tools and techniques
for assured program evolution.
For Further
Seminar Info:
Contact Kim Kaan, 412-605-1203,
or visit http://www.intel-research.net.
SDI / LCS Seminar Questions?
Karen Lindenfelser, 86716, or visit www.pdl.cmu.edu/SDI/