Saved in:
Bibliographic Details
Main Authors: Margalit, Roy, Kokologiannakis, Michalis, Itzhaky, Shachar, Lahav, Ori
Format: Preprint
Published: 2025
Subjects:
Online Access:https://arxiv.org/abs/2504.15036
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866912344732336128
author Margalit, Roy
Kokologiannakis, Michalis
Itzhaky, Shachar
Lahav, Ori
author_facet Margalit, Roy
Kokologiannakis, Michalis
Itzhaky, Shachar
Lahav, Ori
contents Dynamic race detection is a highly effective runtime verification technique for identifying data races by instrumenting and monitoring concurrent program runs. However, standard dynamic race detection is incompatible with practical weak memory models; the added instrumentation introduces extra synchronization, which masks weakly consistent behaviors and inherently misses certain data races. In response, we propose to dynamically verify program robustness-a property ensuring that a program exhibits only strongly consistent behaviors. Building on an existing static decision procedures, we develop an algorithm for dynamic robustness verification under a C11-style memory model. The algorithm is based on "location clocks", a variant of vector clocks used in standard race detection. It allows effective and easy-to-apply defense against weak memory on a per-program basis, which can be combined with race detection that assumes strong consistency. We implement our algorithm in a tool, called RSAN, and evaluate it across various settings. To our knowledge, this work is the first to propose and develop dynamic verification of robustness against weak memory models.
format Preprint
id arxiv_https___arxiv_org_abs_2504_15036
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Dynamic Robustness Verification Against Weak Memory (Extended Version)
Margalit, Roy
Kokologiannakis, Michalis
Itzhaky, Shachar
Lahav, Ori
Programming Languages
Dynamic race detection is a highly effective runtime verification technique for identifying data races by instrumenting and monitoring concurrent program runs. However, standard dynamic race detection is incompatible with practical weak memory models; the added instrumentation introduces extra synchronization, which masks weakly consistent behaviors and inherently misses certain data races. In response, we propose to dynamically verify program robustness-a property ensuring that a program exhibits only strongly consistent behaviors. Building on an existing static decision procedures, we develop an algorithm for dynamic robustness verification under a C11-style memory model. The algorithm is based on "location clocks", a variant of vector clocks used in standard race detection. It allows effective and easy-to-apply defense against weak memory on a per-program basis, which can be combined with race detection that assumes strong consistency. We implement our algorithm in a tool, called RSAN, and evaluate it across various settings. To our knowledge, this work is the first to propose and develop dynamic verification of robustness against weak memory models.
title Dynamic Robustness Verification Against Weak Memory (Extended Version)
topic Programming Languages
url https://arxiv.org/abs/2504.15036