Rely-Guarantee Reasoning for Causally Consistent Shared Memory

نویسندگان

چکیده

Abstract Rely-guarantee (RG) is a highly influential compositional proof technique for concurrent programs, which was originally developed assuming sequentially consistent shared memory. In this paper, we first generalize RG to make it parametric with respect the underlying memory model by introducing an framework that applicable any axiomatically characterized Hoare triples. Second, instantiate reasoning about programs under causally , formulated using recently proposed potential-based operational semantics, thereby providing such semantics. The program logic, call $${\textsf{Piccolo}}$$ Piccolo employs novel assertion language allowing one specify ordered sequences of states each thread may reach. We employ multiple litmus tests, as well adaptation Peterson’s algorithm mutual exclusion

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Shared Boxes: Rely-Guarantee Reasoning in VeriFast

VeriFast is a verifier for single-threaded and multithreaded C and Java programs. It takes a C or Java program annotated with preconditions and postconditions in a separation logic notation, and verifies statically that these preconditions and postconditions hold, using symbolic execution. In plain separation logic, a thread either has full ownership of a memory location and knows the value at ...

متن کامل

On Rely-Guarantee Reasoning

Many semantic models of rely-guarantee have been proposed in the literature. This paper proposes a new classification of the approaches into two groups based on their treatment of guarantee conditions. To allow a meaningful comparison, it constructs an abstract model for each group in a unified setting. The first model uses a weaker judgement and supports more general rules for atomic commands ...

متن کامل

A Causally Consistent Protocol for Distributed Shared Memory

Distributed shared memory provides a virtual address space that is shared among processors in a distributed system. It allows application programmers to elude message passing and use the familiar shared-memory paradigm. To increase eeciency, DSM implementations replicate memory pages, introducing the problem of consistency. As fewer restrictions are imposed to the replicas, more eecient impleme...

متن کامل

Explicit Stabilisation for Modular Rely-Guarantee Reasoning

We propose a new formalisation of stability for Rely-Guarantee, in which an assertion’s stability is encoded into its syntactic form. This allows two advances in modular reasoning. Firstly, it enables RelyGuarantee, for the first time, to verify concurrent libraries independently of their clients’ environments. Secondly, in a sequential setting, it allows a module’s internal interference to be ...

متن کامل

Rely/Guarantee Reasoning for Asynchronous Programs

Asynchronous programming has become ubiquitous in smartphone and web application development, as well as in the development of server-side and system applications. Many of the uses of asynchrony can be modeled by extending programming languages with asynchronous procedure calls—procedures not executed immediately, but stored and selected for execution at a later point by a non-deterministic sch...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Lecture Notes in Computer Science

سال: 2023

ISSN: ['1611-3349', '0302-9743']

DOI: https://doi.org/10.1007/978-3-031-37706-8_11