Data Race Detection by Digest-Driven Abstract Interpretation (Extended Version)

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Schwarz, Michael, Erhard, Julian
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912727304241152
author Schwarz, Michael
Erhard, Julian
author_facet Schwarz, Michael
Erhard, Julian
contents Sound static analysis can prove the absence of data races by establishing that no two conflicting memory accesses can occur at the same time. We repurpose the concept of digests -- summaries of computational histories originally introduced to bring tunable concurrency-sensitivity to thread-modular value analysis by abstract interpretation, extending this idea to race detection: We use digests to capture the conditions under which conflicting accesses may not happen in parallel. To formalize this, we give a definition of data races in the thread-modular local trace semantics and show how exclusion criteria for potential conflicts can be expressed as digests. We report on our implementation of digest-driven data race detection in the static analyzer Goblint, and evaluate it on the SV-COMP benchmark suite. Combining the lockset digest with digests reasoning on thread ids and thread joins increases the number of correctly solved tasks by more than a factor of five compared to lockset reasoning alone.
format Preprint
id arxiv_https___arxiv_org_abs_2511_11055
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Data Race Detection by Digest-Driven Abstract Interpretation (Extended Version)
Schwarz, Michael
Erhard, Julian
Programming Languages
Software Engineering
Sound static analysis can prove the absence of data races by establishing that no two conflicting memory accesses can occur at the same time. We repurpose the concept of digests -- summaries of computational histories originally introduced to bring tunable concurrency-sensitivity to thread-modular value analysis by abstract interpretation, extending this idea to race detection: We use digests to capture the conditions under which conflicting accesses may not happen in parallel. To formalize this, we give a definition of data races in the thread-modular local trace semantics and show how exclusion criteria for potential conflicts can be expressed as digests. We report on our implementation of digest-driven data race detection in the static analyzer Goblint, and evaluate it on the SV-COMP benchmark suite. Combining the lockset digest with digests reasoning on thread ids and thread joins increases the number of correctly solved tasks by more than a factor of five compared to lockset reasoning alone.
title Data Race Detection by Digest-Driven Abstract Interpretation (Extended Version)
topic Programming Languages
Software Engineering
url https://arxiv.org/abs/2511.11055