THESIS
2012
x, 71 p. : ill. ; 30 cm
Abstract
Fault localization is usually the most time-consuming step when debugging software bugs in general and concurrency bugs in particular. Automatic fault localization identifies faulty code units as those whose coverage has a high statistical correlation with the occurrence of program failure. This idea has been extended to identify suspicious access patterns in concurrent programs recently, with the initial success being reported on small-scale programs. However, our empirical study found that this technique is less effective at large-scale programs because it reports too many irrelevant access patterns which drown out the real problematic ones that indicate the concurrency bugs. This thesis proposes a technique to addressing this issue. Our key observation is that concurrency bugs in the...[
Read more ]
Fault localization is usually the most time-consuming step when debugging software bugs in general and concurrency bugs in particular. Automatic fault localization identifies faulty code units as those whose coverage has a high statistical correlation with the occurrence of program failure. This idea has been extended to identify suspicious access patterns in concurrent programs recently, with the initial success being reported on small-scale programs. However, our empirical study found that this technique is less effective at large-scale programs because it reports too many irrelevant access patterns which drown out the real problematic ones that indicate the concurrency bugs. This thesis proposes a technique to addressing this issue. Our key observation is that concurrency bugs in the program usually involve only some parts of the program. By using a novel idea to isolate these parts and abstract away the others, we restrict the scope of analysis so as to eliminate irrelevant access patterns that occur outside. In this thesis, we report our technique which has been implemented as a debugging tool for Java. We have also conducted experiments that compare our work with the state-of-the-art technique in term of fault localization accuracy for several bugs on a real world program, Apache Derby. Overall, our technique can save more than 85% of code examination effort on the subject program.
Post a Comment