Abstract
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.
Original language | English (US) |
---|---|
Title of host publication | ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering |
Publisher | Association for Computing Machinery, Inc |
Pages | 611-621 |
Number of pages | 11 |
ISBN (Electronic) | 9781450330138 |
DOIs | |
State | Published - 2014 |
Event | 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014 - Vasteras, Sweden Duration: Sep 15 2014 → Sep 19 2014 |
Publication series
Name | ASE 2014 - Proceedings of the 29th ACM/IEEE International Conference on Automated Software Engineering |
---|
Other
Other | 29th ACM/IEEE International Conference on Automated Software Engineering, ASE 2014 |
---|---|
Country/Territory | Sweden |
City | Vasteras |
Period | 9/15/14 → 9/19/14 |
Bibliographical note
Publisher Copyright:© 2014 ACM.
Keywords
- Concurrency bug
- Localization
- Shared memory access pair