UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

A True Positives Theorem for a Static Race Detector - Extended Version

Gorogiannis, N; O'Hearn, PW; Sergey, I; (2019) A True Positives Theorem for a Static Race Detector - Extended Version. Proceedings of the ACM on Programming Languages archive , 3 , Article 57. 10.1145/3290370. Green open access

[thumbnail of popl19main-p253-p.pdf]
Preview
Text
popl19main-p253-p.pdf - Published Version

Download (544kB) | Preview

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.

Type: Article
Title: A True Positives Theorem for a Static Race Detector - Extended Version
Open access status: An open access version is available from UCL Discovery
DOI: 10.1145/3290370
Publisher version: http://dx.doi.org/10.1145/3290370
Language: English
Additional information: Copyright © 2019 Copyright held by the owner/author(s). This work is licensed under a Creative Commons Attribution 4.0 International License.
Keywords: CCS Concepts: • Theory of computation → Program analysis; • Software and its engineering → Concurrent programming structures;
UCL classification: UCL
UCL > Provost and Vice Provost Offices > UCL BEAMS
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science
UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science
URI: https://discovery.ucl.ac.uk/id/eprint/10074329
Downloads since deposit
0Downloads
Download activity - last month
Download activity - last 12 months
Downloads by country - last 12 months

Archive Staff Only

View Item View Item