How Hard Is Weak-Memory Testing?

Journal Article (2024)
Author(s)

Soham Chakraborty (TU Delft - Programming Languages)

Shankara Narayanan Krishna (Indian Institute of Technology Bombay)

Umang Mathur (National University of Singapore)

Andreas Pavlogiannis (Aarhus University)

Research Group
Programming Languages
Copyright
© 2024 S.S. Chakraborty, Shankara Narayanan Krishna, Umang Mathur, Andreas Pavlogiannis
DOI related publication
https://doi.org/10.1145/3632908
More Info
expand_more
Publication Year
2024
Language
English
Copyright
© 2024 S.S. Chakraborty, Shankara Narayanan Krishna, Umang Mathur, Andreas Pavlogiannis
Research Group
Programming Languages
Volume number
8
Reuse Rights

Other than for strictly personal use, it is not permitted to download, forward or distribute the text or part of it, without the consent of the author(s) and/or copyright holder(s), unless the work is under an open content license such as Creative Commons.

Abstract

Weak-memory models are standard formal specifications of concurrency across hardware, programming languages, and distributed systems. A fundamental computational problem is consistency testing: is the observed execution of a concurrent program in alignment with the specification of the underlying system? The problem has been studied extensively across Sequential Consistency (SC) and weak memory, and proven to be NP-complete when some aspect of the input (e.g., number of threads/memory locations) is unbounded. This unboundedness has left a natural question open: are there efficient parameterized algorithms for testing? The main contribution of this paper is a deep hardness result for consistency testing under many popular weak-memory models: the problem remains NP-complete even in its bounded setting, where candidate executions contain a bounded number of threads, memory locations, and values. This hardness spreads across several Release-Acquire variants of C11, a popular variant of its Relaxed fragment, popular Causal Consistency models, and the POWER architecture. To our knowledge, this is the first result that fully exposes the hardness of weak-memory testing and proves that the problem admits no parameterization under standard input parameters. It also yields a computational separation of these models from SC, x86-TSO, PSO, and Relaxed, for which bounded consistency testing is either known (for SC), or shown here (for the rest), to be in polynomial time.