The quest for precision: a layered approach for data race detection in static analysis

Jakob Mund, Ralf Huuck, Ansgar Fehnker, Cyrille Artho

Research output: Chapter in Book/Report/Conference proceedingConference proceeding contributionpeer-review

1 Citation (Scopus)

Abstract

Low level data-races in multi-threaded software are hard to detect, especially when requiring exhaustiveness, speed and precision. In this work, we combine ideas from run-time verification, static analysis and model checking to balance the above requirements. In particular, we adopt a well-known dynamic race detection algorithm based on calculating lock sets to static program analysis for achieving exhaustiveness. The resulting data race candidates are in a further step investigated by model checking with respect to a formal threading model to achieve precision. Moreover, we demonstrate the effectiveness of the combined approach by a case study on the open-source TFTP server OpenTFTP, which shows the trade-off between speed and precision in our two-stage analysis.
Original languageEnglish
Title of host publicationAutomated Technology for Verification and Analysis
Subtitle of host publication11th International Symposium, ATVA 2013 Hanoi, Vietnam, October 15-18, 2013, Proceedings
EditorsDang Van Hung, Mizuhito Ogawa
Place of PublicationCham, Switzerland
PublisherSpringer, Springer Nature
Pages516-525
Number of pages10
ISBN (Electronic)9783319024448
ISBN (Print)9783319024431
DOIs
Publication statusPublished - 2013
Externally publishedYes
Event11th International Symposium on Automated Technology for Verification and Analysis, ATVA 2013 - Hanoi, Viet Nam
Duration: 15 Oct 201318 Oct 2013

Publication series

NameLecture Notes in Computer Science
PublisherSpringer
Volume8172
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference11th International Symposium on Automated Technology for Verification and Analysis, ATVA 2013
Abbreviated titleATVA 2013
Country/TerritoryViet Nam
CityHanoi
Period15/10/1318/10/13

Keywords

  • Software verification
  • static analysis
  • concurrency
  • lock sets

Fingerprint

Dive into the research topics of 'The quest for precision: a layered approach for data race detection in static analysis'. Together they form a unique fingerprint.

Cite this