Michael Hicks U of Maryland College Park

Scalable, Precise, and Effective Analyses for Detecting Race Conditions Michael W. Hicks Jeffrey S. Foster

Multi-threaded programming is an essential part of critical software such as operating systems and network servers. Multi-threaded programming is likely to become far more prevalent as hardware manufacturers are now building and shipping multi-CPU core machines. One common source of errors in multi-threaded programs is data races, which occur when two threads each concurrently access the same data. Race conditions are notoriously hard-to-find errors that can lead to incorrect behavior, data corruption, program failure, denial-of-service attacks, and/or security breaches. Because race conditions can be so pernicious, there has been widespread interest in developing tools for detecting and preventing them. However, these tools are still impractical. The research will develop tools that use static (whole-program) analysis to prove the absence of race conditions in C programs. The tools will be based on a common annotation and specification language that can describe commonly-used idioms for preventing data races. The goal is ultimately to develop techniques that scale to large software systems, and that are based on a sound foundation.

Agency
National Science Foundation (NSF)
Institute
Division of Computer and Communication Foundations (CCF)
Application #
0541036
Program Officer
Sol J. Greenspan
Project Start
Project End
Budget Start
2006-09-01
Budget End
2011-08-31
Support Year
Fiscal Year
2005
Total Cost
$360,000
Indirect Cost
Name
University of Maryland College Park
Department
Type
DUNS #
City
College Park
State
MD
Country
United States
Zip Code
20742