Font Size: a A A

Detecting concurrency errors in OpenMP programs using static program analysis

Posted on:2012-12-18Degree:M.SType:Thesis
University:University of WyomingCandidate:Jarrard, Rory NFull Text:PDF
GTID:2458390008495804Subject:Computer Science
Abstract/Summary:
Multithreaded programming is a very powerful tool for the programmer, as it allows work sharing among multiple threads for higher performance capability. However, multithreaded programs also create non-deterministic environments where programs may return different results given the same input. These problems are called concurrency errors, and one of the most prevalent is the the data race, where multiple threads attempt to read and write to the same memory space.;This project seeks to detect concurrency errors such as data races in programs that use the OpenMP library, a shared-memory API for parallel programming in C, C++ and Fortran. The project takes a novel approach of analyzing the abstract syntax tree formed from source code to detect concurrency errors in parallel regions. Analysis is fast, analyzing over 2400 lines of code in less than one second. This project is intended to be used in conjunction with dynamic analysis in a hybrid approach with reduced overhead.
Keywords/Search Tags:Concurrency errors, Programs
Related items