GGrantIndex
← Search

CSR:Small: Towards Reliable Concurrent Computing Using Hybrid Program Analysis

$354,591FY2011CSENSF

University Of Wyoming, Laramie WY

Investigators

Abstract

Inexpensive multi-core processors and many-core GPUs present tremendous opportunities as well as serious challenges for software developers. Developing concurrent programs is intrinsically difficult because multi-threading introduces a whole new class of errors that do not exist in sequential programs. This problem is exacerbated when developing and debugging large-scale, data-intensive, and computation-intensive programs. Traditional testing and debugging techniques are not appropriate for multi-threaded programs which may behave differently from one run to another because threads are scheduled non-deterministically. This project develops a toolkit to detect correctness and performance problems on shared memory systems with the following techniques. (1) Exploit the benefits of static and dynamic analyses while avoiding their shortcomings. Specifically, extend dynamic analysis by augmenting it with static analysis to systematically explore program code for error detection and prevention. (2) Investigate different optimization approaches to lower runtime overhead and improve the toolkit's scalability. (3) Design a unified framework that can predict potential errors and enforce the scheduler to avoid the errors by manipulating accessing orders. The success of this project may enhance the dependability of parallel computing systems and help design more reliable multi-threaded programs. Research results will be integrated into the teaching of undergraduate and graduate courses such as operating systems, parallel programming, and compiler design.

View original record on NSF Award Search →