Analyzing concurrency bugs using dual slicing

13 years 1 months ago
Analyzing concurrency bugs using dual slicing
Recently, there has been much interest in developing analyzes to detect concurrency bugs that arise because of data races, atomicity violations, execution omission, etc. However, determining whether reported bugs are in fact real, and understanding how these bugs lead to incorrect behavior, remains a labor-intensive process. This paper proposes a novel dynamic analysis that automatically produces the causal path of a concurrent failure leading from the root cause to the failure. Given two schedules, one inducing the failure and the other not, our technique collects traces of the two executions, and compares them to identify salient differences. The causal relation between the differences is disclosed by leveraging a novel slicing algorithm called dual slicing that slices both executions alternatively and iteratively, producing a slice containing trace differences from both runs. Our experiments show that dual slices tend to be very small, often an order of magnitude or more smaller...
Dasarath Weeratunge, Xiangyu Zhang, William N. Sum
Added 23 Aug 2010
Updated 23 Aug 2010
Type Conference
Year 2010
Authors Dasarath Weeratunge, Xiangyu Zhang, William N. Sumner, Suresh Jagannathan
Comments (0)