Automatic Generation of Unit Tests for Correlated Variables in Parallel Programs

被引:0
作者
Ali Jannesari
Felix Wolf
机构
[1] German Research School for Simulation Sciences,
[2] RWTH Aachen University,undefined
来源
International Journal of Parallel Programming | 2016年 / 44卷
关键词
Unit tests; Automatic testing; Parallel programming; Debugging; Race detection; Program analysis ; Correlated variables;
D O I
暂无
中图分类号
学科分类号
摘要
A notorious class of concurrency bugs are race condition related to correlated variables, which make up about 30 % of all non-deadlock concurrency bugs. A solution to prevent this problem is the automatic generation of parallel unit tests. This paper presents an approach to generate parallel unit tests for variable correlations in multithreaded code. We introduce a hybrid approach for identifying correlated variables. Furthermore, we estimate the number of potentially violated correlations for methods executed in parallel. In this way, we are capable of creating unit tests that are suited for race detectors considering correlated variables. We were able to identify more than 85 % of all race conditions on correlated variables in eight applications after applying our parallel unit tests. At the same time, we reduced the number of unnecessary generated unit tests. In comparison to a test generator unaware of variable correlations, redundant unit tests are reduced by up to 50 %, while maintaining the same precision and accuracy in terms of the number of detected races.
引用
收藏
页码:644 / 662
页数:18
相关论文
共 5 条
[1]  
Nethercote N(2007)Valgrind: a framework for heavyweight dynamic binary instrumentation Sigplan Not. 42 89-100
[2]  
Seward J(2005)A serializability violation detector for shared-memory server programs Sigplan Not. 40 1-14
[3]  
Xu M(undefined)undefined undefined undefined undefined-undefined
[4]  
Bodík R(undefined)undefined undefined undefined undefined-undefined
[5]  
Hill MD(undefined)undefined undefined undefined undefined-undefined