[LLVMdev] Publication: Data Races vs. Data Race Bugs: Telling the Difference with Portend

Baris Kasikci bariskasikci at gmail.com
Wed Apr 4 06:31:47 PDT 2012


Hello,

We have a publication in ASPLOS 2012 that uses the LLVM
infrastructure. Is it possible to add this to the publications web
page: http://llvm.org/pubs/  ?

Publication: Data Races vs. Data Race Bugs: Telling the Difference with Portend

Link: http://dl.acm.org/citation.cfm?id=2150997

Abstract:

Even though most data races are harmless, the harmful ones are at the
heart of some of the worst concurrency bugs. Alas, spotting just the
harmful data races in programs is like finding a needle in a haystack:
76%-90% of the true data races reported by state-of-the-art race
detectors turn out to be harmless [45]. We present Portend, a tool
that not only detects races but also automatically classifies them
based on their potential consequences: Could they lead to crashes or
hangs? Could their effects be visible outside the program? Are they
harmless? Our proposed technique achieves high accuracy by efficiently
analyzing multiple paths and multiple thread schedules in combination,
and by performing symbolic comparison between program outputs.

We ran Portend on 7 real-world applications: it detected 93 true data
races and correctly classified 92 of them, with no human effort. 6 of
them are harmful races. Portend's classification accuracy is up to 88%
higher than that of existing tools, and it produces easy-to-understand
evidence of the consequences of harmful races, thus both proving their
harmfulness and making debugging easier. We envision Portend being
used for testing and debugging, as well as for automatically triaging
bug reports.

-- 
Baris



More information about the llvm-dev mailing list