An OpenMP Analyzer for Detecting Concurrency Errors

Author(s):  
Hongyi Ma ◽  
Qichang Chen ◽  
Liqiang Wang ◽  
Chunhua Liao ◽  
Daniel Quinlan
Keyword(s):  
2012 ◽  
Vol 47 (6) ◽  
pp. 378 ◽  
Author(s):  
Brandon Lucia ◽  
Benjamin P. Wood ◽  
Luis Ceze
Keyword(s):  

2016 ◽  
pp. 395-423
Author(s):  
Peter A. Buhr
Keyword(s):  

2013 ◽  
Vol 765-767 ◽  
pp. 1576-1580 ◽  
Author(s):  
Qi Chang Chen ◽  
Zhan Fang Chen ◽  
Zhuang Liu ◽  
Xin Feng ◽  
Zhen Gang Jiang ◽  
...  

The reality of multi-core hardware has made concurrent programs pervasive. Unfortunately, writing correct concurrent programs is difficult. Atomicity violation, which is caused by concurrent executions unexpectedly violating the atomicity of a certain code region, is one of the most common concurrency errors. However, atomicity violation bugs are hard to find using traditional testing and debugging techniques. In this paper, we investigate an approach based on machine learning techniques (specifically decision tree and support vector machine (SVM)) for classifying the benign atomicity violations from the harmful ones. A benign atomicity violation is known not to affect the program's correctness even it happens. We formulate our problem as a supervised-learning problem and apply these two machine learning techniques to classify the atomicity violation report. Our experimental evaluation shows that the proposed method is effective in identifying the benign atomicity violation warnings.


Author(s):  
Hongyi Ma ◽  
Steve R. Diersen ◽  
Liqiang Wang ◽  
Chunhua Liao ◽  
Daniel Quinlan ◽  
...  

2011 ◽  
Vol 46 (6) ◽  
pp. 378-388 ◽  
Author(s):  
Brandon Lucia ◽  
Benjamin P. Wood ◽  
Luis Ceze
Keyword(s):  

Author(s):  
Qichang Chen ◽  
Liqiang Wang ◽  
Ping Guo ◽  
He Huang

Today, multi-core/multi-processor hardware has become ubiquitous, leading to a fundamental turning point on software development. However, developing concurrent programs is difficult. Concurrency introduces the possibility of errors that do not exist in sequential programs. This chapter introduces the major concurrent programming models including multithreaded programming on shared memory and message passing programming on distributed memory. Then, the state-of-the-art research achievements on detecting concurrency errors such as deadlock, race condition, and atomicity violation are reviewed. Finally, the chapter surveys the widely used tools for testing and debugging concurrent programs.


Sign in / Sign up

Export Citation Format

Share Document