Increasing Accuracy of Pointer Analysis to Find Concurrency Bugs

We address the problem of statically finding bugs due to concurrency, and do so without reporting false positives. This problem is important because false reports of concurrent bugs are even less acceptable than those of sequential bugs. (Typically programmers need to examine larger amount of code in diagnosing the report of a concurrent bug than sequential one.) Avoiding false positives for concurrent bugs is more difficult, because techniques like symbolic execution, used for avoiding false reports of sequential bugs, become prohibitively expensive for parallel programs. Our proposed solution is pointer analysis accurate enough to report concurrent bugs without too many false positives. For our implementation the trade-off between accuracy and efficiency is driven by the needs of an algorithm for deadlock detection.

By: Daniel Brand; Marcio Buss; Vugranam C. Sreedhar

Published in: RC24995 in 2010

LIMITED DISTRIBUTION NOTICE:

This Research Report is available. This report has been submitted for publication outside of IBM and will probably be copyrighted if accepted for publication. It has been issued as a Research Report for early dissemination of its contents. In view of the transfer of copyright to the outside publisher, its distribution outside of IBM prior to publication should be limited to peer communications and specific requests. After outside publication, requests should be filled only by reprints or legally obtained copies of the article (e.g., payment of royalties). I have read and understand this notice and am a member of the scientific community outside or inside of IBM seeking a single copy only.

rc24995.pdf

Questions about this service can be mailed to reports@us.ibm.com .