Files in this item

FilesDescriptionFormat

application/pdf

application/pdf2014-keshmesh.pdf (392kB)
PDF

Description

Title:Keshmesh: Bringing Advanced Static Analysis to Concurrency Bug Pattern Detectors
Author(s):Vakilian, Mohsen; Negara, Stas; Tasharofi, Samira; Johnson, Ralph E.
Subject(s):bug
pattern
detector
fixer
concurrency
parallelism
static analysis
program analysis
Abstract:Bug patterns are coding idioms that may make the code less maintainable or turn into bugs in future. The state-of-the-art tools for detecting concurrency bug patterns (CBPs) perform simple, intraprocedural analyses. While this simplicity makes the analysis fast, it does not provide protection against CBPs that involve aliasing or multiple methods. This paper introduces a practical and extensible framework, Keshmesh, which employs advanced static analysis for detecting CBPs. Keshmesh builds upon the points-to analysis of WALA, a static analysis framework, and the user interface of FindBugs, a popular bug pattern detection tool. Keshmesh detects five CBPs using interprocedural analyses and fixes two of them. The challenges in automatic detection of these CBPs include reducing the rate of false positives, scaling to large projects, and accurate propagation of unsafe accesses along the call graph up to synchronization constructs. Keshmesh found 40 previously unknown CBP instances and only 12 false positives in six open-source projects. Programmers fixed 11 of the 20 issues we reported. These results show that Keshmesh is applicable to large projects, finds CBPs that programmers want to fix, and reports few false positives.
Issue Date:2013-05
Type:Text
Language:English
URI:http://hdl.handle.net/2142/44837
Rights Information:Copyright is held by the author/owner(s).
Date Available in IDEALS:2013-06-01


This item appears in the following Collection(s)

Item Statistics