A true positives theorem for a static race detector

Conference paper


Gkorogiannis, N., O'Hearn, P. and Sergey, I. 2019. A true positives theorem for a static race detector. POPL 2019. Cascais, Portugal 12 - 19 Jan 2019 Association for Computing Machinery (ACM). pp. 1-29 https://doi.org/10.1145/3290370
TypeConference paper
TitleA true positives theorem for a static race detector
AuthorsGkorogiannis, N., O'Hearn, P. and Sergey, I.
Abstract

RacerD is a static race detector that has been proven to be effective in engineering practice: it has seen thousands of data races fixed by developers before reaching production, and has supported the migration of Facebook's Android app rendering infrastructure from a single-threaded to a multi-threaded architecture. We prove a True Positives Theorem stating that, under certain assumptions, an idealized theoretical version of the analysis never reports a false positive. We also provide an empirical evaluation of an implementation of this analysis, versus the original RacerD.
The theorem was motivated in the first case by the desire to understand the observation from production that RacerD was providing remarkably accurate signal to developers, and then the theorem guided further analyzer design decisions. Technically, our result can be seen as saying that the analysis computes an under-approximation of an over-approximation, which is the reverse of the more usual (over of under) situation in static analysis. Until now, static analyzers that are effective in practice but unsound have often been regarded as ad hoc; in contrast, we suggest that, in the future, theorems of this variety might be generally useful in understanding, justifying and designing effective static analyses for bug catching.

Research GroupFoundations of Computing group
ConferencePOPL 2019
Page range1-29
Proceedings TitleProceedings of the ACM on Programming Languages
ISSN2475-1421
Electronic2475-1421
PublisherAssociation for Computing Machinery (ACM)
Publication dates
Print02 Jan 2019
Publication process dates
Deposited27 Apr 2020
Accepted01 Jul 2018
Output statusPublished
Publisher's version
License
File Access Level
Open
Copyright Statement

© 2019 Copyright held by the owner/author(s).
This work is licensed under a Creative Commons Attribution 4.0 International Licence.

Digital Object Identifier (DOI)https://doi.org/10.1145/3290370
LanguageEnglish
Book titleProceedings of the ACM on Programming Languages, Volume 3 Issue POPL
Permalink -

https://repository.mdx.ac.uk/item/88y51

Download files


Publisher's version
3290370.pdf
License: CC BY 4.0
File access level: Open

  • 22
    total views
  • 4
    total downloads
  • 1
    views this month
  • 0
    downloads this month

Export as