Skip to content

Latest commit

 

History

History
35 lines (24 loc) · 1.82 KB

README.md

File metadata and controls

35 lines (24 loc) · 1.82 KB

RaceInjector-counterexamples

This repository contains counterexamples described in RaceInjector: Injecting Races To Evaluate And Learn Dynamic Race Detection Algorithms by Michael Wang, Shashank Srikant, Malavika Samak, Una-May O'Reilly, 2023.

Link to paper - [link]

Citation

@inproceedings{
	[citation]
}

The counterexamples, which are generated by our method RaceInjector, are program execution traces with a guaranteed race condition in them which recent race detection algorithms fail to detect.

For clarifications, please contact Michael ([email protected]) or Shashank ([email protected]).

Folder structure

treeset_orig, arraylist_orig, and jigsaw_orig are the original base traces collected by Calfuzzer [link].

These traces correspond to the following program benchmarks:

The race detection algorithms evaluated are:

  • Happens-Before (HB; Lamport, 1976) [link]
  • Schedulable Happens-Before (SHB; Mathur et al., 2018) [link]
  • Weak Causally Precedes (WCP; Kini et al., 2017) [link]
  • SyncP (Mathur et al., 2021) [link]

The folder ./{algorithm}_missed contains counterexamples generated for each program benchmark corresponding to the algorithm.
For example, syncp_missed/treeset contains all the traces generated from the TreeSet base trace that each contain a RaceInjector-injected race condition which SyncP fails to detect.