RRF: A Race Reproduction Framework for Use in Debugging Process-Level Races

Supat Rattanasuksun, Tingting Yu, Witawas Srisa-An, Gregg Rothermel

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

2 Scopus citations

Abstract

Process-level races are endemic in modern systems. These races are difficult to debug because they are sensitive to execution events such as interrupts and scheduling. Unless a process interleaving that can result in the race can be found, it cannot be reproduced and cannot be corrected. In practice, however, the number of interleavings that can occur among processes in practice is large, and the patterns of interleavings can be complex. Thus, approaches for reproducing process-level races to date are often ineffective. In this paper, we present RRF, a race reproduction framework that can help software engineers reproduce reported process-level races, enabling them to potentially debug these races. RRF performs a hybrid analysis by leveraging existing static program analysis tools, dynamic kernel event reporting tools, and yield points to provide the observability and controllability needed to reproduce races. We conducted an empirical study to evaluate RRF, our results show that RRF can be effective for reproducing races.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE 27th International Symposium on Software Reliability Engineering, ISSRE 2016
Pages162-172
Number of pages11
ISBN (Electronic)9781467390019
DOIs
StatePublished - Dec 5 2016
Event27th IEEE International Symposium on Software Reliability Engineering, ISSRE 2016 - Ottawa, United States
Duration: Oct 23 2016Oct 27 2016

Publication series

NameProceedings - International Symposium on Software Reliability Engineering, ISSRE
ISSN (Print)1071-9458

Conference

Conference27th IEEE International Symposium on Software Reliability Engineering, ISSRE 2016
Country/TerritoryUnited States
CityOttawa
Period10/23/1610/27/16

Bibliographical note

Publisher Copyright:
© 2016 IEEE.

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Fingerprint

Dive into the research topics of 'RRF: A Race Reproduction Framework for Use in Debugging Process-Level Races'. Together they form a unique fingerprint.

Cite this