Generating data race witnesses by an SMT-based analysis

  • Mahmoud Said
  • , Chao Wang
  • , Zijiang Yang
  • , Karem Sakallah

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

85 Scopus citations

Abstract

Data race is one of the most dangerous errors in multithreaded programming, and despite intensive studies, it remains a notorious cause of failures in concurrent systems. Detecting data races is already a hard problem, and yet it is even harder for a programmer to decide whether or how a reported data race can appear in the actual program execution. In this paper we propose an algorithm for generating debugging aid information called witnesses, which are concrete thread schedules that can deterministically trigger the data races. More specifically, given a concrete execution trace, e.g. non-erroneous one which may have triggered a warning in Eraser-style data race detectors, we use a symbolic analysis based on SMT solvers to search for a data race witness among alternative interleavings of events of that trace. Our symbolic analysis precisely encodes the sequential consistency semantics using a scalable predictive model to ensure that the reported witness is always feasible.

Original languageEnglish
Title of host publicationNASA Formal Methods - Third International Symposium, NFM 2011, Proceedings
Pages313-327
Number of pages15
DOIs
StatePublished - 2011
Event3rd NASA Formal Methods Symposium, NFM 2011 - Pasadena, CA, United States
Duration: 18 Apr 201120 Apr 2011

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume6617 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference3rd NASA Formal Methods Symposium, NFM 2011
Country/TerritoryUnited States
CityPasadena, CA
Period18/04/1120/04/11

Keywords

  • Concurrent Programs
  • Data Race
  • Debug
  • SMT

Fingerprint

Dive into the research topics of 'Generating data race witnesses by an SMT-based analysis'. Together they form a unique fingerprint.

Cite this