VLDB 2026 Research / reviewers in the wild / expert
Ori Lahav 0001
dblp:84/7458
· DBLP profile ↗
65ranked-venue papers
19as first author
28since 2021 · last 2026
0000-0003-4305-6998ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 45 · 8 first-author · 26 since 2021Theory of computation · 18 · 12 first-author · 2 since 2021Artificial intelligence and machine learning · 2 · 1 first-authorSystems, architecture and hardware · 1 · 1 since 2021Computer networks · 1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | A Programming Model for Disaggregated Memory over CXLabstractCXL (Compute Express Link) is an emerging open industry-standard interconnect between processing and memory devices that is expected to revolutionize the way systems are designed. It enables cache-coherent, shared memory pools in a disaggregated fashion at unprecedented scales, allowing algorithms to interact with various storage devices using simple loads and stores. While CXL unleashes unique opportunities, it also introduces challenges of data management and crash consistency. For example, CXL currently lacks an adequate programming model, making it impossible to reason about the correctness and behavior of systems on top. Gal Assa, Moritz Lumme, Lucas Bürgi, Michal Friedman 0001, Ori Lahav 0001 |
ASPLOS (2) | 5 |
| 2026 | Causal-Broadcast MemoryabstractWe investigate the precise consistency guarantees provided by a simple and prominent distributed implementation of shared memory (a.k.a. key-value store) based on the causal broadcast abstraction. We formalize these guarantees within a weak memory model, which we call “causal-broadcast memory” ( $$\text {CBM}$$ , for short), and relate it to several established weak memory models. In particular, our study reveals that $$\text {CBM}$$ is strictly stronger than “causal memory” consistency, previously proposed to encapsulate the same distributed implementation. Additionally, we address two core verification challenges for $$\text {CBM}$$ : (i) deciding whether a single abstract execution graph is consistent, which we show is solvable in polynomial time, and (ii) verifying reachability of control states for client programs operating atop causal-broadcast memory, which we prove to be undecidable. Amir Karniel, Ori Lahav 0001 |
ESOP (1) | 2 |
| 2025 | Sufficient Conditions for Robustness of RDMA ProgramsabstractAbstract Remote Direct Memory Access (RDMA) is a modern technology enabling high-performance inter-node communication. Despite its widespread adoption, theoretical understanding of permissible behaviours remains limited, as RDMA follows a very weak memory model. This paper addresses the challenge of establishing sufficient conditions for RDMA robustness. We introduce a set of straightforward criteria that, when met, guarantee sequential consistency and mitigate potential issues arising from weak memory behaviours in RDMA applications. Notably, when restricted to a tree topology, these conditions become even more relaxed, significantly reducing the need for synchronisation primitives. This work provides developers with practical guidelines to ensure the reliability and correctness of their RDMA-based systems. Guillaume Ambal, Ori Lahav 0001, Azalea Raad |
ESOP (1) | 2 |
| 2025 | Two-sorted algebraic decompositions of Brookes's shared-state denotational semanticsabstractAbstract We define a two sorted equational theory of algebraic effects that models concurrent shared state with preemptive interleaving, recovering Brookes’s seminal 1996 trace-based model precisely. The decomposition allows us to analyse Brookes’s model algebraically in terms of separate but interacting components. The multiple sorts partition terms into layers. We use two sorts: a “hold” sort for layers that disallow interleaving of environment memory accesses, analogous to holding a global lock on the memory; and a “cede” sort for the opposite. The algebraic signature comprises of independent interlocking components: two new operators that switch between these sorts, delimiting the atomic layers, thought of as acquiring and releasing the global lock; non-deterministic choice; and state-accessing operators. The axioms similarly divide cleanly: the delimiters behave as a closure pair; all operators are strict, and distribute over non-empty non-deterministic choice; and non-deterministic global state obeys Plotkin and Power’s presentation of global state. Our representation theorem expresses the free algebras over a two-sorted family of variables as sets of traces with suitable closure conditions. When the held sort has no variables, we recover Brookes’s trace semantics. We define several other single-and two-sorted theories to elucidate the connection to Brookes’s model via translation embeddings and equivalences. Yotam Dvir, Ohad Kammar, Ori Lahav 0001, Gordon D. Plotkin |
FoSSaCS | 3 |
| 2025 | Dynamic Robustness Verification against Weak MemoryabstractDynamic 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 procedure, 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. Roy David Margalit, Michalis Kokologiannakis, Shachar Itzhaky, Ori Lahav 0001 |
Proc. ACM Program. Lang. | 4 |
| 2025 | A Brookes-Style Denotational Semantics for Release/Acquire ConcurrencyabstractWe present a compositional denotational semantics for a functional language with first-class parallel composition and shared-memory operations whose operational semantics follows the Release/Acquire weak memory model (RA). The semantics is formulated in Moggi’s monadic approach and is based on Brookes-style traces. To do so we adapt Brookes’s traces to view-based machine for RA by Kang et al., and supplement Brookes’s mumble and stutter closure operations with additional operations, specific to RA. The latter provides a more nuanced understanding of traces that uncouples them from operational interrupted executions. We show that our denotational semantics is adequate and use it to validate various program transformations of interest. This is the first work to put weak memory models on the same footing as many other programming effects in Moggi’s standard monadic approach. Yotam Dvir, Ohad Kammar, Ori Lahav 0001 |
ACM Trans. Program. Lang. Syst. | 3 |
| 2024 | A Denotational Approach to Release/Acquire ConcurrencyabstractAbstract We present a compositional denotational semantics for a functional language with first-class parallel composition and shared-memory operations whose operational semantics follows the Release/Acquire weak memory model (RA). The semantics is formulated in Moggi’s monadic approach, and is based on Brookes-style traces. To do so we adapt Brookes’s traces to Kang et al.’s view-based machine for RA, and supplement Brookes’s mumble and stutter closure operations with additional operations, specific to RA. The latter provides a more nuanced understanding of traces that uncouples them from operational interrupted executions. We show that our denotational semantics is adequate and use it to validate various program transformations of interest. This is the first work to put weak memory models on the same footing as many other programming effects in Moggi’s standard monadic approach. Yotam Dvir, Ohad Kammar, Ori Lahav 0001 |
ESOP (2) | 3 |
| 2024 | Intel PMDK Transactions: Specification, Validation and ConcurrencyabstractAbstract Software Transactional Memory (STM) is an extensively studied paradigm that provides an easy-to-use mechanism for thread safety and concurrency control. With the recent advent of byte-addressable persistent memory, a natural question to ask is whether STM systems can be adapted to support failure atomicity. In this paper, we answer this question by showing how STM can be easily integrated with Intel’s Persistent Memory Development Kit (PMDK) transactional library (which we refer to as txPMDK) to obtain STM systems that are both concurrent and persistent. We demonstrate this approach using known STM systems, TML and NOrec, which when combined with txPMDK result in persistent STM systems, referred to as PMDK-TML and PMDK-NORec, respectively. However, it turns out that existing correctness criteria are insufficient for specifying the behaviour of txPMDK and our concurrent extensions. We therefore develop a new correctness criterion, dynamic durable opacity, that extends the previously defined notion of durable opacity with dynamic memory allocation. We provide a model of txPMDK, then show that this model satisfies dynamic durable opacity. Moreover, dynamic durable opacity supports concurrent transactions, thus we also use it to show correctness of both PMDK-TML and PMDK-NORec. Azalea Raad, Ori Lahav 0001, John Wickerson, Piotr Balcer, Brijesh Dongol |
ESOP (2) | 2 |
| 2024 | Artifact Report: Intel PMDK Transactions: Specification, Validation and ConcurrencyabstractAbstract This report extends §6 of the main paper by providing further details of the mechanisation effort. Azalea Raad, Ori Lahav 0001, John Wickerson, Piotr Balcer, Brijesh Dongol |
ESOP (2) | 2 |
| 2024 | Decidable Verification under Localized Release-Acquire ConcurrencyabstractAbstract State reachability for finite state concurrent programs running under Release-Acquire (RA) semantics is known to be undecidable, while under a weaker variant, called Weak-Release-Acquire (WRA), the problem is decidable. However, WRA allows many counterintuitive behaviors not allowed under RA, in which threads locally oscillate between observed values. We propose a strengthening of WRA in the form of a new memory model, which we call Localized Release-Acquire (LRA), that prunes these oscillatory behaviors. We provide semantics for LRA and show that verification under LRA is decidable by extending the potential-based technique used to prove decidability under WRA. The LRA model is still weaker than RA, and thus our results can be used to soundly verify programs under RA. Abhishek Kr Singh, Ori Lahav 0001 |
TACAS (3) | 2 |
| 2024 | What Cannot Be Implemented on Weak Memory?abstractWe present a general methodology for establishing the impossibility of implementing certain concurrent objects on different (weak) memory models. The key idea behind our approach lies in characterizing memory models by their mergeability properties, identifying restrictions under which independent memory traces can be merged into a single valid memory trace. In turn, we show that the mergeability properties of the underlying memory model entail similar mergeability requirements on the specifications of objects that can be implemented on that memory model. We demonstrate the applicability of our approach to establish the impossibility of implementing standard distributed objects with different restrictions on memory traces on three memory models: strictly consistent memory, total store order, and release-acquire. These impossibility results allow us to identify tight and almost tight bounds for some objects, as well as new separation results between weak memory models, and between well-studied objects based on their implementability on weak memory models. Armando Castañeda, Gregory V. Chockler, Brijesh Dongol, Ori Lahav 0001 |
DISC | 4 |
| 2024 | Hyperproperty-Preserving Register SpecificationsabstractReasoning about hyperproperties of concurrent implementations, such as the guarantees these implementations provide to randomized client programs, has been a long-standing challenge. Standard linearizability enables the use of atomic specifications for reasoning about standard properties, but not about hyperproperties. A stronger correctness criterion, called strong linearizability, enables such reasoning, but is rarely achievable, leaving various useful implementations with no means for reasoning about their hyperproperties. In this paper, we focus on registers and devise non-atomic specifications that capture a wide-range of well-studied register implementations and enable reasoning about their hyperproperties. First, we consider the class of write strong-linearizable implementations, a recently proposed useful weakening of strong linearizability, which allows more implementations, such as the well-studied single-writer ABD distributed implementation. We introduce a simple shared-memory register specification that can be used for reasoning about hyperproperties of programs that use write strongly-linearizable implementations. Second, we introduce a new linearizability class, which we call decisive linearizability, that is weaker than write strong-linearizability and includes multi-writer ABD, and develop a second shared-memory register specification for reasoning about hyperproperties of programs that use register implementations of this class. These results shed light on the hyperproperties guaranteed when simulating shared memory in a crash-resilient message-passing system. Yoav Ben Shimon, Ori Lahav 0001, Sharon Shoham |
DISC | 2 |
| 2024 | Semantics of Remote Direct Memory Access: Operational and Declarative Models of RDMA on TSO ArchitecturesabstractRemote direct memory access (RDMA) is a modern technology enabling networked machines to exchange information without involving the operating system of either side, and thus significantly speeding up data transfer in computer clusters. While RDMA is extensively used in practice and studied in various research papers, a formal underlying model specifying the allowed behaviours of concurrent RDMA programs running in modern multicore architectures is still missing. This paper aims to close this gap and provide semantic foundations of RDMA on x86-TSO machines. We propose three equivalent formal models, two operational models in different levels of abstraction and one declarative model, and prove that the three characterisations are equivalent. To gain confidence in the proposed semantics, the more concrete operational model has been reviewed by NVIDIA experts, a major vendor of RDMA systems, and we have empirically validated the declarative formalisation on various subtle litmus tests by extensive testing. We believe that this work is a necessary initial step for formally addressing RDMA-based systems by proposing language-level models, verifying their mapping to hardware, and developing reasoning techniques for concurrent RDMA programs. Guillaume Ambal, Brijesh Dongol, Haggai Eran, Vasileios Klimis, Ori Lahav 0001, Azalea Raad |
Proc. ACM Program. Lang. | 5 |
| 2024 | Compositional Semantics for Shared-Variable ConcurrencyabstractWe revisit the fundamental problem of defining a compositional semantics for a concurrent programming language under sequentially consistent memory with the aim of equating the denotations of pieces of code if and only if these pieces induce the same behavior under all program contexts. While the denotational semantics presented by Brookes [Information and Computation 127, 2 (1996)] has been considered a definitive solution, we observe that Brookes’s full abstraction result crucially relies on the availability of an impractical whole-memory atomic read-modify-write instruction. In contrast, we consider a language with standard primitives, which apply to a single variable. For that language, we propose an alternative denotational semantics based on traces that track program write actions together with the writes expected from the environment, and equipped with several closure operators to achieve necessary abstraction. We establish the adequacy of the semantics, and demonstrate full abstraction for the case that the analyzed code segment is loop-free. Furthermore, we show that by including a whole-memory atomic read in the language, one obtains full abstraction for programs with loops. To gain confidence, our results are fully mechanized in Coq. Mikhail Svyatlovskiy, Shai Mermelstein, Ori Lahav 0001 |
Proc. ACM Program. Lang. | 3 |
| 2024 | Extending the C/C++ Memory Model with Inline AssemblyabstractPrograms written in C/C++ often include inline assembly : a snippet of architecture-specific assembly code used to access low-level functionalities that are impossible or expensive to simulate in the source language. Although inline assembly is widely used, its semantics has not yet been formally studied. In this paper, we overcome this deficiency by investigating the effect of inline assembly on the consistency semantics of C/C++ programs. We propose the first memory model of the C++ Programming Language with support for inline assembly for Intel’s x86 including non-temporal stores and store fences . We argue that previous provably correct compiler optimizations and correct compiler mappings should remain correct under such an extended model and we prove that this requirement is met by our proposed model. Paulo Emílio de Vilhena, Ori Lahav 0001, Viktor Vafeiadis, Azalea Raad |
Proc. ACM Program. Lang. | 2 |
| 2023 | Rely-Guarantee Reasoning for Causally Consistent Shared MemoryabstractAbstract Rely-guarantee (RG) is a highly influential compositional proof technique for concurrent programs, which was originally developed assuming a sequentially consistent shared memory. In this paper, we first generalize RG to make it parametric with respect to the underlying memory model by introducing an RG framework that is applicable to any model axiomatically characterized by Hoare triples. Second, we instantiate this framework for reasoning about concurrent programs under causally consistent memory, which is formulated using a recently proposed potential-based operational semantics, thereby providing the first reasoning technique for such semantics. The proposed program logic, which we call $${\textsf{Piccolo}}$$ Piccolo , employs a novel assertion language allowing one to specify ordered sequences of states that each thread may reach. We employ $${\textsf{Piccolo}}$$ Piccolo for multiple litmus tests, as well as for an adaptation of Peterson’s algorithm for mutual exclusion to causally consistent memory. Ori Lahav 0001, Brijesh Dongol, Heike Wehrheim |
CAV (1) | 1 |
| 2023 | Putting Weak Memory in Order via a Promising Intermediate RepresentationabstractWe investigate the problem of developing an "in-order" shared-memory concurrency model for languages like C and C++, which executes instructions following their program order, and is thus more amenable to reasoning and verification compared to recent complex proposals with out-of-order execution. We demonstrate that it is possible to fully support non-atomic accesses in an in-order model in a way that validates all compiler optimizations that are performed in single-threaded code (including irrelevant load introduction). The key to doing so is to utilize the distinction between a source model (with catch-fire semantics) and an intermediate representation (IR) model (with undefined value for racy reads) and formally establish the soundness of mapping from source to IR. As for relaxed atomic accesses, an in-order model must forbid load-store reordering. We discuss the rather limited performance impact of this fact and present a pragmatic approach to this problem, which, in the long term, requires a new kind of hardware store instructions for implementing relaxed stores. The source and IR semantics proposed in this paper are based on recent versions of the promising semantics, and the correctness proofs of the mappings from the source to the IR and from the IR to Armv8 are mechanized in Coq. This work is the first to formally relate an in-order source model and an out-of-order IR model with the goal of having an in-order source semantics without any performance overhead for non-atomics. Sung-Hwan Lee 0001, Minki Cho, Roy David Margalit, Chung-Kil Hur, Ori Lahav 0001 |
Proc. ACM Program. Lang. | 5 |
| 2023 | Kater: Automating Weak Memory Model Metatheory and Consistency CheckingabstractThe metatheory of axiomatic weak memory models covers questions like the correctness of compilation mappings from one model to another and the correctness of local program transformations according to a given model---topics usually requiring lengthy human investigation. We show that these questions can be solved by answering a more basic question: "Given two memory models, is one weaker than the other?" Moreover, for a wide class of axiomatic memory models, we show that this basic question can be reduced to a language inclusion problem between regular languages, which is decidable. Similarly, implementing an efficient check for whether an execution graph is consistent according to a given memory model has required non-trivial manual effort. Again, we show that such efficient checks can be derived automatically for a wide class of axiomatic memory models, and that incremental consistency checks can be incorporated in GenMC, a state-of-the-art model checker for concurrent programs. As a result, we get the first time- and space-efficient bounded verifier taking the axiomatic memory model as an input parameter. Michalis Kokologiannakis, Ori Lahav 0001, Viktor Vafeiadis |
Proc. ACM Program. Lang. | 2 |
| 2023 | An Operational Approach to Library Abstraction under Relaxed Memory ConcurrencyabstractConcurrent data structures and synchronization mechanisms implemented by expert developers are indispensable for modular software development. In this paper, we address the fundamental problem of library abstraction under weak memory concurrency, and identify a general library correctness condition allowing clients of the library to reason about program behaviors using the specification code, which is often much simpler than the concrete implementation. We target (a fragment of) the RC11 memory model, and develop an equivalent operational presentation that exposes knowledge propagation between threads, and is sufficiently expressive to capture library behaviors as totally ordered operational execution traces. We further introduce novel access modes to the language that allow intricate specifications accounting for library internal synchronization that is not exposed to the client, as well as the library's demands on external synchronization by the client. We illustrate applications of our approach in several examples of different natures. Abhishek Kr Singh, Ori Lahav 0001 |
Proc. ACM Program. Lang. | 2 |
| 2022 | An Algebraic Theory for Shared-State Concurrency
Yotam Dvir, Ohad Kammar, Ori Lahav 0001 |
APLAS | 3 |
| 2022 | View-Based Owicki-Gries Reasoning for Persistent x86-TSOabstractAbstract The rise of persistent memory is disrupting computing to its core. Our work aims to help programmers navigate this brave new world by providing a program logic for reasoning about x86 code that uses low-level operations such as memory accesses and fences, as well as persistency primitives such as flushes. Our logic, Pierogi, benefits from a simple underlying operational semantics based on views, is able to handle optimised flush operations, and is mechanised in the Isabelle/HOL proof assistant. We detail the proof rules of Pierogi and prove them sound. We also show how Pierogi can be used to reason about a range of challenging single- and multi-threaded persistent programs. Eleni Bila, Brijesh Dongol, Ori Lahav 0001, Azalea Raad, John Wickerson |
ESOP | 3 |
| 2022 | Abstraction for Crash-Resilient ObjectsabstractAbstract We study abstraction for crash-resilient concurrent objects using non-volatile memory (NVM). We develop a library-correctness criterion that is sound for ensuring contextual refinement in this setting, thus allowing clients to reason about library behaviors in terms of their abstract specifications, and library developers to verify their implementations against the specifications abstracting away from particular client programs. As a semantic foundation we employ a recent NVM model, called Persistent Sequential Consistency, and extend its language and operational semantics with useful specification constructs. The proposed correctness criterion accounts for NVM-related interactions between client and library code due to explicit persist instructions, and for calling policies enforced by libraries. We illustrate our approach on two implementations and specifications of simple persistent objects with different prototypical durability guarantees. Our results provide the first approach to formal compositional reasoning under NVM. Artem Khyzha, Ori Lahav 0001 |
ESOP | 2 |
| 2022 | Sequential reasoning for optimizing compilers under weak memory concurrencyabstractWe formally show that sequential reasoning is adequate and sufficient for establishing soundness of various compiler optimizations under weakly consistent shared-memory concurrency. Concretely, we introduce a sequential model and show that behavioral refinement in that model entails contextual refinement in the Promising Semantics model, extended with non-atomic accesses for non-racy code. This is the first work to achieve such result for a full-fledged model with a variety of C11-style concurrency features. Central to our model is the lifting of the common data-race-freedom assumption, which allows us to validate irrelevant load introduction, a transformation that is commonly performed by compilers. As a proof of concept, we develop an optimizer for a toy concurrent language, and certify it (in Coq) while relying solely on the sequential model. We believe that the proposed approach provides useful means for compiler developers and validators, as well as a solid foundation for the development of certified optimizing compilers for weakly consistent shared-memory concurrency. Minki Cho, Sung-Hwan Lee 0001, Chung-Kil Hur, Ori Lahav 0001 |
PLDI | 5 |
| 2022 | What's Decidable About Causally Consistent Shared Memory?abstractWhile causal consistency is one of the most fundamental consistency models weaker than sequential consistency, the decidability of safety verification for (finite-state) concurrent programs running under causally consistent shared memories is still unclear. In this article, we establish the decidability of this problem for two standard and well-studied variants of causal consistency. To do so, for each variant, we develop an equivalent “lossy” operational semantics, whose states track possible futures, rather than more standard semantics that record the history of the execution. We show that these semantics constitute well-structured transition systems, thus enabling decidable verification. Based on a key observation, which we call the “shared-memory causality principle,” the two novel semantics may also be of independent use in the investigation of weakly consistent models and their verification. Interestingly, our results are in contrast to the undecidability of this problem under the Release/Acquire fragment of the C/C++11 memory model, which forms another variant of causally consistent memory that, in terms of allowed outcomes, lies strictly between the two models studied here. Nevertheless, we show that all these three variants coincide for write/write-race-free programs, which implies the decidability of verification for such programs under Release/Acquire. Ori Lahav 0001, Udi Boker |
ACM Trans. Program. Lang. Syst. | 1 |
| 2021 | Modular data-race-freedom guarantees in the promising semanticsabstractLocal data-race-freedom guarantees, ensuring strong semantics for locations accessed by non-racy instructions, provide a fruitful methodology for modular reasoning in relaxed memory concurrency. We observe that standard compiler optimizations are in inherent conflict with such guarantees in general fully-relaxed memory models. Nevertheless, for a certain strengthening of the promising model by Lee et al. that only excludes relaxed RMW-store reorderings, we establish multiple useful local data-racefreedom guarantees that enhance the programmability aspect of the model.We also demonstrate that the performance price of forbidding these reorderings is insignificant. To the best of our knowledge, these results are the first to identify a model that includes the standard concurrency constructs, supports the efficient mapping of relaxed reads and writes to plain hardware loads and stores, and yet validates several local data-race-freedom guarantees. To gain confidence, our results are fully mechanized in Coq. Minki Cho, Sung-Hwan Lee 0001, Chung-Kil Hur, Ori Lahav 0001 |
PLDI | 4 |
| 2021 | Taming x86-TSO persistencyabstractWe study the formal semantics of non-volatile memory in the x86-TSO architecture. We show that while the explicit persist operations in the recent model of Raad et al. from POPL'20 only enforce order between writes to the non-volatile memory, it is equivalent, in terms of reachable states, to a model whose explicit persist operations mandate that prior writes are actually written to the non-volatile memory. The latter provides a novel model that is much closer to common developers' understanding of persistency semantics. We further introduce a simpler and stronger sequentially consistent persistency model, develop a sound mapping from this model to x86, and establish a data-race-freedom guarantee providing programmers with a safe programming discipline. Our operational models are accompanied with equivalent declarative formulations, which facilitate our formal arguments, and may prove useful for program verification under x86 persistency. Artem Khyzha, Ori Lahav 0001 |
Proc. ACM Program. Lang. | 2 |
| 2021 | Making weak memory models fairabstractLiveness properties, such as termination, of even the simplest shared-memory concurrent programs under sequential consistency typically require some fairness assumptions about the scheduler. Under weak memory models, we observe that the standard notions of thread fairness are insufficient, and an additional fairness property, which we call memory fairness, is needed. In this paper, we propose a uniform definition for memory fairness that can be integrated into any declarative memory model enforcing acyclicity of the union of the program order and the reads-from relation. For the well-known models, SC, x86-TSO, RA, and StrongCOH, that have equivalent operational and declarative presentations, we show that our declarative memory fairness condition is equivalent to an intuitive model-specific operational notion of memory fairness, which requires the memory system to fairly execute its internal propagation steps. Our fairness condition preserves the correctness of local transformations and the compilation scheme from RC11 to x86-TSO, and also enables the first formal proofs of termination of mutual exclusion lock implementations under declarative weak memory models. Ori Lahav 0001, Egor Namakonov, Jonas Oberhauser, Anton Podkopaev, Viktor Vafeiadis |
Proc. ACM Program. Lang. | 1 |
| 2021 | Verifying observational robustness against a c11-style memory modelabstractWe study the problem of verifying the robustness of concurrent programs against a C11-style memory model that includes relaxed accesses and release/acquire accesses and fences, and show that this verification problem can be reduced to a standard reachability problem under sequential consistency. We further observe that existing robustness notions do not allow the verification of programs that use speculative reads as in the sequence lock mechanism, and introduce a novel "observational robustness" property that fills this gap. In turn, we show how to soundly check for observational robustness. We have implemented our method and applied it to several challenging concurrent algorithms, demonstrating the applicability of our approach. To the best of our knowledge, this is the first method for verifying robustness against a programming language concurrency model that includes relaxed accesses and release/acquire fences. Roy David Margalit, Ori Lahav 0001 |
Proc. ACM Program. Lang. | 2 |
| 2020 | Reconciling Event Structures with Modern MultiprocessorsabstractIn this work, we present a family of operational semantics that gradually approximates the realistic program behaviors in the C/C++11 memory model. Each semantics in our framework is built by elaborating and combining two simple ingredients: viewfronts and operation buffers. Viewfronts allow us to express the spatial aspect of thread interaction, i.e., which values a thread can read, while operation buffers enable manipulation with the temporal execution aspect, i.e., determining the order in which the results of certain operations can be observed by concurrently running threads. Starting from a simple abstract state machine, through a series of gradual refinements of the abstract state, we capture such language aspects and synchronization primitives as release/acquire atomics, sequentially-consistent and non-atomic memory accesses, also providing a semantics for relaxed atomics, while avoiding the Out-of-Thin-Air problem. To the best of our knowledge, this is the first formal and executable operational semantics of C11 capable of expressing all essential concurrent aspects of the standard. We illustrate our approach via a number of characteristic examples, relating the observed behaviors to those of standard litmus test programs from the literature. We provide an executable implementation of the semantics in PLT Redex, along with a number of implemented litmus tests and examples, and showcase our prototype on a large case study: randomized testing and debugging of a realistic Read-Copy-Update data structure. Evgenii Moiseenko, Anton Podkopaev, Ori Lahav 0001, Orestis Melkonian, Viktor Vafeiadis |
ECOOP | 3 |
| 2020 | Decidable verification under a causally consistent shared memoryabstractCausal consistency is one of the most fundamental and widely used consistency models weaker than sequential consistency. In this paper, we study the verification of safety properties for finite-state concurrent programs running under a causally consistent shared memory model. We establish the decidability of this problem for a standard model of causal consistency (called also "Causal Convergence" and "Strong-Release-Acquire"). Our proof proceeds by developing an alternative operational semantics, based on the notion of a thread potential, that is equivalent to the existing declarative semantics and constitutes a well-structured transition system. In particular, our result allows for the verification of a large family of programs in the Release/Acquire fragment of C/C++11 (RA). Indeed, while verification under RA was recently shown to be undecidable for general programs, since RA coincides with the model we study here for write/write-race-free programs, the decidability of verification under RA for this widely used class of programs follows from our result. The novel operational semantics may also be of independent use in the investigation of weakly consistent shared memory models and their verification. Ori Lahav 0001, Udi Boker |
PLDI | 1 |
| 2020 | Promising 2.0: global optimizations in relaxed memory concurrencyabstractFor more than fifteen years, researchers have tried to support global optimizations in a usable semantics for a concurrent programming language, yet this task has been proven to be very difficult because of (1) the infamous “out of thin air” problem, and (2) the subtle interaction between global and thread-local optimizations. Sung-Hwan Lee 0001, Minki Cho, Anton Podkopaev, Soham Chakraborty 0001, Chung-Kil Hur, Ori Lahav 0001, Viktor Vafeiadis |
PLDI | 6 |
| 2020 | Persistent Owicki-Gries reasoning: a program logic for reasoning about persistent programs on Intel-x86abstractThe advent of non-volatile memory (NVM) technologies is expected to transform how software systems are structured fundamentally, making the task of correct programming significantly harder. This is because ensuring that memory stores persist in the correct order is challenging, and requires low-level programming to flush the cache at appropriate points. This has in turn resulted in a noticeable verification gap . To address this, we study the verification of NVM programs, and present Persistent Owicki-Gries (POG), the first program logic for reasoning about such programs. We prove the soundness of POG over the recent Intel-x86 model, which formalises the out-of-order persistence of memory stores and the semantics of the Intel cache line flush instructions. We then use POG to verify several programs that interact with NVM. Azalea Raad, Ori Lahav 0001, Viktor Vafeiadis |
Proc. ACM Program. Lang. | 2 |
| 2019 | Robustness against release/acquire semanticsabstractWe present an algorithm for automatically checking robustness of concurrent programs against C/C++11 release/acquire semantics, namely verifying that all program behaviors under release/acquire are allowed by sequential consistency. Our approach reduces robustness verification to a reachability problem under (instrumented) sequential consistency. We have implemented our algorithm in a prototype tool called Rocker and applied it to several challenging concurrent algorithms. To the best of our knowledge, this is the first precise method for verifying robustness against a high-level programming language weak memory semantics. Ori Lahav 0001, Roy David Margalit |
PLDI | 1 |
| 2019 | On the Semantics of Snapshot Isolation
Azalea Raad, Ori Lahav 0001, Viktor Vafeiadis |
VMCAI | 2 |
| 2019 | Bridging the gap between programming languages and hardware weak memory modelsabstractWe develop a new intermediate weak memory model, IMM, as a way of modularizing the proofs of correctness of compilation from concurrent programming languages with weak memory consistency semantics to mainstream multi-core architectures, such as POWER and ARM. We use IMM to prove the correctness of compilation from the promising semantics of Kang et al. to POWER (thereby correcting and improving their result) and ARMv7, as well as to the recently revised ARMv8 model. Our results are mechanized in Coq, and to the best of our knowledge, these are the first machine-verified compilation correctness results for models that are weaker than x86-TSO. Anton Podkopaev, Ori Lahav 0001, Viktor Vafeiadis |
Proc. ACM Program. Lang. | 2 |
| 2019 | On library correctness under weak memory consistency: specifying and verifying concurrent libraries under declarative consistency modelsabstractConcurrent libraries are the building blocks for concurrency. They encompass a range of abstractions (locks, exchangers, stacks, queues, sets) built in a layered fashion: more advanced libraries are built out of simpler ones. While there has been a lot of work on verifying such libraries in a sequentially consistent (SC) environment, little is known about how to specify and verify them under weak memory consistency (WMC). We propose a general declarative framework that allows us to specify concurrent libraries declaratively, and to verify library implementations against their specifications compositionally. Our framework is sufficient to encode standard models such as SC, (R)C11 and TSO. Additionally, we specify several concurrent libraries, including mutual exclusion locks, reader-writer locks, exchangers, queues, stacks and sets. We then use our framework to verify multiple weakly consistent implementations of locks, exchangers, queues and stacks. Azalea Raad, Marko Doko, Lovro Rozic, Ori Lahav 0001, Viktor Vafeiadis |
Proc. ACM Program. Lang. | 4 |
| 2019 | Pure Sequent Calculi: Analyticity and Decision ProcedureabstractAnalyticity, also known as the subformula property, typically guarantees decidability of derivability in propositional sequent calculi. To utilize this fact, two substantial gaps have to be addressed: (i) What makes a sequent calculus analytic? and (ii) How do we obtain an efficient decision procedure for derivability in an analytic calculus? In the first part of this article, we answer these questions for pure calculi —a general family of fully structural propositional sequent calculi whose rules allow arbitrary context formulas. We provide a sufficient syntactic criterion for analyticity in these calculi, as well as a productive method to construct new analytic calculi from given ones. We further introduce a scalable decision procedure for derivability in analytic pure calculi by showing that it can be (uniformly) reduced to classical satisfiability. In the second part of the article, we study the extension of pure sequent calculi with modal operators. We show that such extensions preserve the analyticity of the calculus and identify certain restricted operators (which we call “Next” operators) that are also amenable for a general reduction of derivability to classical satisfiability. Our proofs are all semantic, utilizing several strong general soundness and completeness theorems with respect to non-deterministic semantic frameworks: bivaluations (for pure calculi) and Kripke models (for their extension with modal operators). Ori Lahav 0001, Yoni Zohar |
ACM Trans. Comput. Log. | 1 |
| 2018 | A Simple Cut-Free System for a Paraconsistent Logic Equivalent to S5
Arnon Avron, Ori Lahav 0001 |
Advances in Modal Logic | 2 |
| 2018 | On Parallel Snapshot Isolation and Release/Acquire ConsistencyabstractParallel snapshot isolation (PSI) is a standard transactional consistency model used in databases and distributed systems. We argue that PSI is also a useful formal model for software transactional memory (STM) as it has certain advantages over other consistency models. However, the formal PSI definition is given declaratively by acyclicity axioms, which most programmers find hard to understand and reason about. To address this, we develop a simple lock-based reference implementation for PSI built on top of the release-acquire memory model, a well-behaved subset of the C/C++11 memory model. We prove that our implementation is sound and complete against its higher-level declarative specification. We further consider an extension of PSI allowing transactional and non-transactional code to interact, and provide a sound and complete reference implementation for the more general setting. Supporting this interaction is necessary for adopting a transactional model in programming languages. These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves. Azalea Raad, Ori Lahav 0001, Viktor Vafeiadis |
ESOP | 2 |
| 2018 | A Separation Logic for a Promising SemanticsabstractWe present SLR, the first expressive program logic for reasoning about concurrent programs under a weak memory model addressing the out-of-thin-air problem. Our logic includes the standard features from existing logics, such as RSL and GPS, that were previously known to be sound only under stronger memory models: (1) separation, (2) per-location invariants, and (3) ownership transfer via release-acquire synchronisation—as well as novel features for reasoning about (4) the absence of out-of-thin-air behaviours and (5) coherence. The logic is proved sound over the recent “promising” memory model of Kang et al., using a substantially different argument to soundness proofs of logics for simpler memory models. Kasper Svendsen, Jean Pichon-Pharabod, Marko Doko, Ori Lahav 0001, Viktor Vafeiadis |
ESOP | 4 |
| 2018 | From the subformula property to cut-admissibility in propositional sequent calculiabstractWhile the subformula property is usually a trivial consequence of cut-admissibility in sequent calculi, it is unclear in which cases the subformula property implies cut-admissibility. In this paper, we identify two wide families of propositional sequent calculi for which this is the case: the (generalized) subformula property is equivalent to cut-admissibility. For this purpose, we employ a semantic criterion for cut-admissibility, which allows us to uniformly handle a wide variety of calculi. Our results shed light on the relation between these two fundamental properties of sequent calculi and can be useful to simplify cut-admissibility proofs in various calculi for non-classical logics, where the subformula property (equivalently, the property known as ‘analytic cut-admissibility’) is easier to show than cut-admissibility.1 Ori Lahav 0001, Yoni Zohar |
J. Log. Comput. | 1 |
| 2018 | Effective stateless model checking for C/C++ concurrencyabstractWe present a stateless model checking algorithm for verifying concurrent programs running under RC11, a repaired version of the C/C++11 memory model without dependency cycles. Unlike most previous approaches, which enumerate thread interleavings up to some partial order reduction improvements, our approach works directly on execution graphs and (in the absence of RMW instructions and SC atomics) avoids redundant exploration by construction. We have implemented a model checker, called RCMC, based on this approach and applied it to a number of challenging concurrent programs. Our experiments confirm that RCMC is significantly faster, scales better than other model checking tools, and is also more resilient to small changes in the benchmarks. Michalis Kokologiannakis, Ori Lahav 0001, Konstantinos Sagonas, Viktor Vafeiadis |
Proc. ACM Program. Lang. | 2 |
| 2017 | Strong Logic for Weak Memory: Reasoning About Release-Acquire Consistency in IrisabstractThe field of concurrent separation logics (CSLs) has recently undergone two exciting developments: (1) the Iris framework for encoding and unifying advanced higher-order CSLs and formalizing them in Coq, and (2) the adaptation of CSLs to account for weak memory models, notably C11's release-acquire (RA) consistency. Unfortunately, these developments are seemingly incompatible, since Iris only applies to languages with an operational interleaving semantics, while C11 is defined by a declarative (axiomatic) semantics. In this paper, we show that, on the contrary, it is not only feasible but useful to marry these developments together. Our first step is to provide a novel operational characterization of RA+NA, the fragment of C11 containing RA accesses and "non-atomic" (normal data) accesses. Instantiating Iris with this semantics, we then derive higher-order variants of two prominent RA+NA logics, GPS and RSL. Finally, we deploy these derived logics in order to perform the first mechanical verifications (in Coq) of several interesting case studies of RA+NA programming. In a nutshell, we provide the first foundationally verified framework for proving programs correct under C11's weak-memory semantics. Jan-Oliver Kaiser, Hoang-Hai Dang, Derek Dreyer, Ori Lahav 0001, Viktor Vafeiadis |
ECOOP | 4 |
| 2017 | Promising Compilation to ARMv8 POPabstractThe C and C++ high-level languages provide programmers with atomic operations for writing high-performance concurrent code. At the assembly language level, C and C++ atomics get mapped down to individual instructions or combinations of instructions by compilers, depending on the ordering guarantees and synchronization instructions provided by the underlying architecture. These compiler mappings must uphold the ordering guarantees provided by C/C++ atomics or the compiled program will not behave according to the C/C++ memory model. In this paper we discuss two counterexamples to the well-known trailing-sync compiler mappings for the Power and ARMv7 architectures that were previously thought to be proven correct. In addition to the counterexamples, we discuss the loophole in the proof of the mappings that allowed the incorrect mappings to be proven correct. We also discuss the current state of compilers and architectures in relation to the bug. Anton Podkopaev, Ori Lahav 0001, Viktor Vafeiadis |
ECOOP | 2 |
| 2017 | Verifying Reachability in Networks with Mutable Datapaths
Aurojit Panda, Ori Lahav 0001, Katerina J. Argyraki, Shmuel Sagiv, Scott Shenker |
NSDI | 2 |
| 2017 | Repairing sequential consistency in C/C++11abstractThe C/C++11 memory model defines the semantics of concurrent memory accesses in C/C++, and in particular supports racy "atomic" accesses at a range of different consistency levels, from very weak consistency ("relaxed") to strong, sequential consistency ("SC"). Unfortunately, as we observe in this paper, the semantics of SC atomic accesses in C/C++11, as well as in all proposed strengthenings of the semantics, is flawed, in that (contrary to previously published results) both suggested compilation schemes to the Power architecture are unsound. We propose a model, called RC11 (for Repaired C11), with a better semantics for SC accesses that restores the soundness of the compilation schemes to Power, maintains the DRF-SC guarantee, and provides stronger, more useful, guarantees to SC fences. In addition, we formally prove, for the first time, the correctness of the proposed stronger compilation schemes to Power that preserve load-to-store ordering and avoid "out-of-thin-air" reads. Ori Lahav 0001, Viktor Vafeiadis, Jeehoon Kang, Chung-Kil Hur, Derek Dreyer |
PLDI | 1 |
| 2017 | A promising semantics for relaxed-memory concurrencyabstractDespite many years of research, it has proven very difficult to develop a memory model for concurrent programming languages that adequately balances the conflicting desiderata of programmers, compilers, and hardware. In this paper, we propose the first relaxed memory model that (1) accounts for a broad spectrum of features from the C++11 concurrency model, (2) is implementable, in the sense that it provably validates many standard compiler optimizations and reorderings, as well as standard compilation schemes to x86-TSO and Power, (3) justifies simple invariant-based reasoning, thus demonstrating the absence of bad "out-of-thin-air" behaviors, (4) supports "DRF" guarantees, ensuring that programmers who use sufficient synchronization need not understand the full complexities of relaxed-memory semantics, and (5) defines the semantics of racy programs without relying on undefined behaviors, which is a prerequisite for applicability to type-safe languages like Java. Jeehoon Kang, Chung-Kil Hur, Ori Lahav 0001, Viktor Vafeiadis, Derek Dreyer |
POPL | 3 |
| 2017 | Cut-Admissibility as a Corollary of the Subformula Property
Ori Lahav 0001, Yoni Zohar |
TABLEAUX | 1 |
| 2016 | It ain't necessarily so: Basic sequent systems for negative modalities
Ori Lahav 0001, João Marcos 0001, Yoni Zohar |
Advances in Modal Logic | 1 |
| 2016 | Explaining Relaxed Memory Models with Program Transformations
Ori Lahav 0001, Viktor Vafeiadis |
FM | 1 |
| 2016 | Taming release-acquire consistencyabstractWe introduce a strengthening of the release-acquire fragment of the C11 memory model that (i) forbids dubious behaviors that are not observed in any implementation; (ii) supports fence instructions that restore sequential consistency; and (iii) admits an equivalent intuitive operational semantics based on point-to-point communication. This strengthening has no additional implementation cost: it allows the same local optimizations as C11 release and acquire accesses, and has exactly the same compilation schemes to the x86-TSO and Power architectures. In fact, the compilation to Power is complete with respect to a recent axiomatic model of Power; that is, the compiled program exhibits exactly the same behaviors as the source one. Moreover, we provide criteria for placing enough fence instructions to ensure sequential consistency, and apply them to an efficient RCU implementation. Ori Lahav 0001, Nick Giannarakis, Viktor Vafeiadis |
POPL | 1 |
| 2016 | Semantic investigation of canonical Gödel hypersequent systemsabstractWe define a general family of hypersequent systems with well-behaved logical rules, of which the known hypersequent calculus for (propositional) Gödel logic, is a particular instance. We present a method to obtain (possibly, non-deterministic) many-valued semantics for every system of this family. The detailed semantic analysis provides simple characterizations of cut-admissibility and axiom-expansion for the systems of this family. Ori Lahav 0001 |
J. Log. Comput. | 1 |
| 2015 | Owicki-Gries Reasoning for Weak Memory Models
Ori Lahav 0001, Viktor Vafeiadis |
ICALP (2) | 1 |
| 2015 | Decentralizing SDN PoliciesabstractSoftware-defined networking (SDN) is a new paradigm for operating and managing computer networks. SDN enables logically-centralized control over network devices through a "controller" --- software that operates independently of the network hardware. Network operators can run both in-house and third-party SDN programs on top of the controller, e.g., to specify routing and access control policies. Oded Padon, Neil Immerman, Aleksandr Karbyshev, Ori Lahav 0001, Shmuel Sagiv, Sharon Shoham |
POPL | 4 |
| 2015 | A cut-free calculus for second-order Gödel logic
Ori Lahav 0001, Arnon Avron |
Fuzzy Sets Syst. | 1 |
| 2014 | Modular reasoning about heap paths via effectively propositional formulasabstractFirst order logic with transitive closure, and separation logic enable elegant interactive verification of heap-manipulating programs. However, undecidabilty results and high asymptotic complexity of checking validity preclude complete automatic verification of such programs, even when loop invariants and procedure contracts are specified as formulas in these logics. This paper tackles the problem of procedure-modular verification of reachability properties of heap-manipulating programs using efficient decision procedures that are complete: that is, a SAT solver must generate a counterexample whenever a program does not satisfy its specification. By (a) requiring each procedure modifies a fixed set of heap partitions and creates a bounded amount of heap sharing, and (b) restricting program contracts and loop invariants to use only deterministic paths in the heap, we show that heap reachability updates can be described in a simple manner. The restrictions force program specifications and verification conditions to lie within a fragment of first-order logic with transitive closure that is reducible to effectively propositional logic, and hence facilitate sound, complete and efficient verification. We implemented a tool atop Z3 and report on preliminary experiments that establish the correctness of several programs that manipulate linked data structures. Shachar Itzhaky, Anindya Banerjee 0001, Neil Immerman, Ori Lahav 0001, Aleksandar Nanevski, Shmuel Sagiv |
POPL | 4 |
| 2014 | On the Construction of Analytic Sequent Calculi for Sub-classical Logics
Ori Lahav 0001, Yoni Zohar |
WoLLIC | 1 |
| 2014 | Taming Paraconsistent (and Other) Logics: An Algorithmic ApproachabstractWe develop a fully algorithmic approach to “taming” logics expressed Hilbert style, that is, reformulating them in terms of analytic sequent calculi and useful semantics. Our approach applies to Hilbert calculi extending the positive fragment of propositional classical logic with axioms of a certain general form that contain new unary connectives. Our work encompasses various results already obtained for specific logics. It can be applied to new logics, as well as to known logics for which an analytic calculus or a useful semantics has so far not been available. A Prolog implementation of the method is described. Agata Ciabattoni, Ori Lahav 0001, Lara Spendier, Anna Zamansky |
ACM Trans. Comput. Log. | 2 |
| 2013 | From Frame Properties to Hypersequent Rules in Modal LogicsabstractWe provide a general method for generating cutfree and/or analytic hypersequent Gentzen-type calculi for a variety of normal modal logics. The method applies to all modal logics characterized by Kripke frames, transitive Kripke frames, or symmetric Kripke frames satisfying some properties, given by first-order formulas of a certain simple form. This includes the logics KT, KD, S4, S5, K4D, K4.2, K4.3, KBD, KBT, and other modal logics, for some of which no Gentzen calculi was presented before. Cut-admissibility (or analyticity in the case of symmetric Kripke frames) is proved semantically in a uniform way for all constructed calculi. The decidability of each modal logic in this class immediately follows. Ori Lahav 0001 |
LICS | 1 |
| 2013 | Finite-valued Semantics for Canonical Labelled Calculi
Matthias Baaz, Ori Lahav 0001, Anna Zamansky |
J. Autom. Reason. | 2 |
| 2013 | A semantic proof of strong cut-admissibility for first-order Gödel logicabstractWe provide a constructive direct semantic proof of the completeness of the cut-free part of the hypersequent calculus HIF for the standard first-order Godel logic (thereby proving both completeness of the calculus for its standard semantics, and the admissibility of the cut rule in the full calculus). The results also apply to derivations from assumptions (or ‘non-logical axioms’), showing in particular that when the set of assumptions is closed under substitutions, then cuts can be confined to formulas occurring in the assumptions. The methods and results are then extended to handle the (Baaz) Delta connective as well. Ori Lahav 0001, Arnon Avron |
J. Log. Comput. | 1 |
| 2013 | A unified semantic framework for fully structural propositional sequent systemsabstractWe identify a large family of fully structural propositional sequent systems, which we callbasic systems. We present a general uniform method for providing (potentially, nondeterministic) strongly sound and complete Kripke-style semantics, which is applicable for every system of this family. In addition, this method can also be applied when: (i) some formulas are not allowed to appear in derivations, (ii) some formulas are not allowed to serve as cut formulas, and (iii) some instances of the identity axiom are not allowed to be used. This naturally leads to new semantic characterizations of analyticity (global subformula property), cut admissibility and axiom expansion in basic systems. We provide a large variety of examples showing that many soundness and completeness theorems for different sequent systems, as well as analyticity, cut admissibility, and axiom expansion results, easily follow using the general method of this article. Ori Lahav 0001, Arnon Avron |
ACM Trans. Comput. Log. | 1 |
| 2011 | Kripke Semantics for Basic Sequent Systems
Arnon Avron, Ori Lahav 0001 |
TABLEAUX | 2 |
| 2011 | Basic Constructive Connectives, Determinism and Matrix-Based Semantics
Agata Ciabattoni, Ori Lahav 0001, Anna Zamansky |
TABLEAUX | 2 |
| 2009 | Canonical Constructive Systems
Arnon Avron, Ori Lahav 0001 |
TABLEAUX | 2 |