Visible to the public RRF: A Race Reproduction Framework for Use in Debugging Process-Level RacesConflict Detection Enabled

TitleRRF: A Race Reproduction Framework for Use in Debugging Process-Level Races
Publication TypeConference Proceedings
Year of Publication2016
AuthorsSupat Rattanasuksun, Tingting Yu, Witawas Srisa-an, Gregg Rothermel
Conference Name27th International Symposium on Software Reliability Engineering (ISSRE)
Date Published10/2016
Conference LocationOttawa, Canada
KeywordsCMU, Jan'17

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.

Citation Keynode-30361

Other available formats:

Rattanasuksun_RRF_JA.pdfPDF document563.3 KBDownloadPreview