Skip to main navigation Skip to search Skip to main content

Preserving hyperproperties of programs using primitives with consensus number 2

  • Technion - Israel Institute of Technology
  • Universidad Nacional Autónoma de México

Research output: Contribution to journalArticlepeer-review

Abstract

When a concrete concurrent object refines another, more abstract object, the correctness of a program employing the concrete object can be verified by considering its behaviors when using the more abstract object. This approach is sound for trace properties of the program, but not for hyperproperties, including many security properties and probability distributions of events. We define strong observational refinement, a strengthening of refinement that preserves hypersafety properties, and prove that it is equivalent to the existence of forward simulations. We show that strong observational refinement generalizes strong linearizability, a restriction of linearizability, the prevalent consistency condition for implementing concurrent objects. Our results imply that strong linearizability is also equivalent to existence of forward simulations, and show that strongly linearizable implementations can be composed both horizontally and vertically. This paper also investigates whether there are wait-free strongly-linearizable implementations from realistic primitives such as test&set or fetch&add, whose consensus number is 2. We show that many objects with consensus number 1 have wait-free strongly-linearizable implementations from fetch&add. We also show that several objects with consensus number 2 have wait-free or lock-free implementations from other objects with consensus number 2. In contrast, we prove that even when fetch&add, swap and test&set primitives are used, some objects with consensus number 2 do not have lock-free strongly-linearizable implementations. This includes queues and stacks, and relaxed variants thereof.

Original languageEnglish
Article number29
JournalActa Informatica
Volume62
Issue number3
DOIs
Publication statusPublished - 1 Sept 2025

Fingerprint

Dive into the research topics of 'Preserving hyperproperties of programs using primitives with consensus number 2'. Together they form a unique fingerprint.

Cite this