Concurrency bug localization using shared memory access pairs

Wenwen Wang,Chenggang Wu,Pen-Chung Yew,Xiang Yuan,Zhenjiang Wang,Jianjun Li,Xiaobing Feng
DOI: https://doi.org/10.1145/2555243.2555276
2014-01-01
Abstract:Non-determinism in concurrent programs makes their debugging much more challenging than that in sequential programs. To mitigate such difficulties, we propose a new technique to automatically locate buggy shared memory accesses that triggered concurrency bugs. Compared to existing fault localization techniques that are based on empirical statistical approaches, this technique has two advantages. First, as long as enough successful runs of a concurrent program are collected, the proposed technique can locate buggy memory accesses to the shared data even with only one single failed run captured, as opposed to the need of capturing multiple failed runs in other statistical approaches. Second, the proposed technique is more precise because it considers memory accesses in those failed runs that terminate prematurely.
What problem does this paper attempt to address?