Show simple item record

dc.contributor.author
Gao, Feng-Juan
dc.contributor.author
Wang, Yu
dc.contributor.author
Zhou, Jin-Guo
dc.contributor.author
Xu, An-Zi
dc.contributor.author
Wang, Lin-Zhang
dc.contributor.author
Wu, Rong-Xin
dc.contributor.author
Zhang, Charles
dc.contributor.author
Su, Zhen-Dong
dc.date.accessioned
2021-08-06T05:35:23Z
dc.date.available
2021-07-10T05:23:59Z
dc.date.available
2021-08-06T05:35:23Z
dc.date.issued
2021-07
dc.identifier.issn
1000-9825
dc.identifier.other
10.13328/j.cnki.jos.006260
en_US
dc.identifier.uri
http://hdl.handle.net/20.500.11850/493865
dc.description.abstract
With the development of techniques, the uncertainty in software systems is continuously increasing. Data race is a typical bug in current programs, which is a classic type of uncertainty programs. Despite significant progress in recent years, the important problem of practical static race detection remains open. Previous static techniques either suffer from a high false positive rate due to the compromise of precision, or scalability issues caused by a highly precise analysis. This paper presents GUARD, a staged approach to resolve this paradox. First, it performs a lightweight context-sensitive data access analysis, based on the value flow of a program, to identify the candidate data race subpaths instead of the whole program paths. Second, may-happen-in-parallel (MHP) analysis is employedto identify whether two data accesses in a program may execute concurrently. This stage is scalable, due to the design of the thread flow graph (TFG), which encodes thread information to query MHP relationship of the subpaths. Finally, for each subpath whose two data accesses are MHP, the heavyweight path-sensitive analysis is appliedto verify the feasibility of the data races. The evaluation demonstrates that GUARD can finish checking industrial-sized projects, up to 1.3MLoC, in 1 870s with an average false positive rate of 16.0%. Moreover, GUARD is faster than the state-of-the-art techniques with the average speedup 6.08X and significantly fewer false positives. Besides, GUARD has found 12 new race bugs in real-world programs. All of them are reportedtothe developers and 8 of them have been confirmed.
en_US
dc.language.iso
zh
en_US
dc.publisher
Science Press
en_US
dc.subject
Data race
en_US
dc.subject
MHP analysis
en_US
dc.subject
Static analysis
en_US
dc.title
High-precision Data Race Detection Method for Large Scale Programs
en_US
dc.type
Journal Article
dc.date.published
2021-01-22
ethz.journal.title
Journal of Software
ethz.journal.volume
32
en_US
ethz.journal.issue
7
en_US
ethz.pages.start
2039
en_US
ethz.pages.end
2055
en_US
ethz.identifier.scopus
ethz.publication.place
Beijing
en_US
ethz.publication.status
published
en_US
ethz.date.deposited
2021-07-10T05:24:09Z
ethz.source
SCOPUS
ethz.eth
yes
en_US
ethz.availability
Metadata only
en_US
ethz.rosetta.installDate
2021-08-06T05:35:33Z
ethz.rosetta.lastUpdated
2022-03-29T10:57:40Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=High-precision%20Data%20Race%20Detection%20Method%20for%20Large%20Scale%20Programs&rft.jtitle=Journal%20of%20Software&rft.date=2021-07&rft.volume=32&rft.issue=7&rft.spage=2039&rft.epage=2055&rft.issn=1000-9825&rft.au=Gao,%20Feng-Juan&Wang,%20Yu&Zhou,%20Jin-Guo&Xu,%20An-Zi&Wang,%20Lin-Zhang&rft.genre=article&rft_id=info:doi/10.13328/j.cnki.jos.006260&
 Search print copy at ETH Library

Files in this item

FilesSizeFormatOpen in viewer

There are no files associated with this item.

Publication type

Show simple item record