TY - GEN
T1 - Localization of concurrency bugs using shared memory access pairs
AU - Wang, Wenwen
AU - Wang, Zhenjiang
AU - Wu, Chenggang
AU - Yew, Pen Chung
AU - Shen, Xipeng
AU - Yuan, Xiang
AU - Li, Jianjun
AU - Feng, Xiaobing
AU - Guan, Yong
N1 - Publisher Copyright:
© 2014 ACM.
Copyright:
Copyright 2015 Elsevier B.V., All rights reserved.
PY - 2014
Y1 - 2014
N2 - We propose an effective approach to automatically localize buggy shared memory accesses that trigger concurrency bugs. Compared to existing approaches, our approach has two advantages. First, as long as enough successful runs of a concurrent program are collected, our approach can localize buggy shared memory accesses even with only one single failed run captured, as opposed to the requirement of capturing multiple failed runs in existing approaches. This is a significant advantage because it is more difficult to capture the elusive failed runs than the successful runs in practice. Second, our approach exhibits more precise bug localization results because it also captures buggy shared memory accesses in those failed runs that terminate prematurely, which are often neglected in existing approaches. Based on this proposed approach, we also implement a prototype, named Locon. Evaluation results on 16 common concurrency bugs show that all buggy shared memory accesses that trigger these bugs can be precisely localized by Locon with only one failed run captured.
AB - We propose an effective approach to automatically localize buggy shared memory accesses that trigger concurrency bugs. Compared to existing approaches, our approach has two advantages. First, as long as enough successful runs of a concurrent program are collected, our approach can localize buggy shared memory accesses even with only one single failed run captured, as opposed to the requirement of capturing multiple failed runs in existing approaches. This is a significant advantage because it is more difficult to capture the elusive failed runs than the successful runs in practice. Second, our approach exhibits more precise bug localization results because it also captures buggy shared memory accesses in those failed runs that terminate prematurely, which are often neglected in existing approaches. Based on this proposed approach, we also implement a prototype, named Locon. Evaluation results on 16 common concurrency bugs show that all buggy shared memory accesses that trigger these bugs can be precisely localized by Locon with only one failed run captured.
KW - Concurrency bug
KW - Localization
KW - Shared memory access pair
UR - http://www.scopus.com/inward/record.url?scp=84908655624&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84908655624&partnerID=8YFLogxK
U2 - 10.1145/2642937.2642972
DO - 10.1145/2642937.2642972
M3 - Conference contribution
AN - SCOPUS:84908655624
T3 - ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
SP - 611
EP - 621
BT - ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering
PB - Association for Computing Machinery, Inc
T2 - 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014
Y2 - 15 September 2014 through 19 September 2014
ER -