Skip to main content

Showing 1–31 of 31 results for author: Dongol, B

.
  1. arXiv:2504.16775  [pdf, ps, other

    cs.PL

    IsaBIL: A Framework for Verifying (In)correctness of Binaries in Isabelle/HOL (Extended Version)

    Authors: Matt Griffin, Brijesh Dongol, Azalea Raad

    Abstract: This paper presents IsaBIL, a binary analysis framework in Isabelle/HOL that is based on the widely used Binary Analysis Platform (BAP). Specifically, in IsaBIL, we formalise BAP's intermediate language, called BIL and integrate it with Hoare logic (to enable proofs of correctness) as well as incorrectness logic (to enable proofs of incorrectness). IsaBIL inherits the full flexibility of BAP, allo… ▽ More

    Submitted 23 April, 2025; originally announced April 2025.

  2. arXiv:2407.09203  [pdf, ps, other

    cs.CR

    On the Design and Security of Collective Remote Attestation Protocols

    Authors: Sharar Ahmadi, Jay Le-Papin, Liqun Chen, Brijesh Dongol, Sasa Radomirovic, Helen Treharne

    Abstract: Collective remote attestation (CRA) is a security service that aims to efficiently identify compromised (often low-powered) devices in a (heterogeneous) network. The last few years have seen an extensive growth in CRA protocol proposals, showing a variety of designs guided by different network topologies, hardware assumptions and other functional requirements. However, they differ in their trust a… ▽ More

    Submitted 12 July, 2024; originally announced July 2024.

  3. arXiv:2405.16611  [pdf, other

    cs.DC

    What Cannot Be Implemented on Weak Memory?

    Authors: Armando Castañeda, Gregory Chockler, Brijesh Dongol, Ori Lahav

    Abstract: We 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… ▽ More

    Submitted 30 August, 2024; v1 submitted 26 May, 2024; originally announced May 2024.

  4. arXiv:2312.13828  [pdf, ps, other

    cs.PL

    Intel PMDK Transactions: Specification, Validation and Concurrency (Extended Version)

    Authors: Azalea Raad, Ori Lahav, John Wickerson, Piotr Balcer, Brijesh Dongol

    Abstract: 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 article, we answer this question by showing how STM can be easily integrated with I… ▽ More

    Submitted 21 December, 2023; originally announced December 2023.

    Comments: Extended version of paper to appear in ESOP 2024

  5. arXiv:2305.08486  [pdf, ps, other

    cs.PL cs.LO

    Rely-Guarantee Reasoning for Causally Consistent Shared Memory (Extended Version)

    Authors: Ori Lahav, Brijesh Dongol, Heike Wehrheim

    Abstract: 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,… ▽ More

    Submitted 27 June, 2024; v1 submitted 15 May, 2023; originally announced May 2023.

    Comments: Extended version of paper to appear in CAV 2023

  6. arXiv:2211.16330  [pdf, ps, other

    cs.LO cs.PL

    Reasoning about Promises in Weak Memory Models with Event Structures (Extended Version)

    Authors: Heike Wehrheim, Lara Bargmann, Brijesh Dongol

    Abstract: Modern processors such as ARMv8 and RISC-V allow executions in which independent instructions within a process may be reordered. To cope with such phenomena, so called promising semantics have been developed, which permit threads to read values that have not yet been written. Each promise is a speculative update that is later validated (fulfilled) by an actual write. Promising semantics are operat… ▽ More

    Submitted 29 November, 2022; originally announced November 2022.

    Comments: Extended version of the paper to appear at FM 2023

  7. arXiv:2208.00315  [pdf, other

    cs.PL

    Implementing and Verifying Release-Acquire Transactional Memory (Extended Version)

    Authors: Sadegh Dalvandi, Brijesh Dongol

    Abstract: Transactional memory (TM) is an intensively studied synchronisation paradigm with many proposed implementations in software and hardware, and combinations thereof. However, TM under relaxed memory, e.g., C11 (the 2011 C/C++ standard) is still poorly understood, lacking rigorous foundations that support verifiable implementations. This paper addresses this gap by developing TMS2-RA, a relaxed opera… ▽ More

    Submitted 30 July, 2022; originally announced August 2022.

  8. arXiv:2201.05860  [pdf, ps, other

    cs.PL cs.LO

    View-Based Owicki-Gries Reasoning for Persistent x86-TSO (Extended Version)

    Authors: Eleni Vafeiadi Bila, Brijesh Dongol, Ori Lahav, Azalea Raad, John Wickerson

    Abstract: 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, i… ▽ More

    Submitted 15 January, 2022; originally announced January 2022.

    Comments: Extended version of the paper published in ESOP 2022

  9. arXiv:2109.01362  [pdf, other

    cs.FL cs.CR

    A Survey of Practical Formal Methods for Security

    Authors: Tomas Kulik, Brijesh Dongol, Peter Gorm Larsen, Hugo Daniel Macedo, Steve Schneider, Peter Würtz Vinther Tran-Jørgensen, Jim Woodcock

    Abstract: In today's world, critical infrastructure is often controlled by computing systems. This introduces new risks for cyber attacks, which can compromise the security and disrupt the functionality of these systems. It is therefore necessary to build such systems with strong guarantees of resiliency against cyber attacks. One way to achieve this level of assurance is using formal verification, which pr… ▽ More

    Submitted 3 September, 2021; originally announced September 2021.

    Comments: Technical Report, Long survey version

  10. arXiv:2108.06944  [pdf, ps, other

    cs.LO cs.PL

    Verifying C11-Style Weak Memory Libraries via Refinement

    Authors: Sadegh Dalvandi, Brijesh Dongol

    Abstract: Deductive verification of concurrent programs under weak memory has thus far been limited to simple programs over a monolithic state space. For scalability, we also require modular techniques with verifiable library abstractions. This paper addresses this challenge in the context of RC11 RAR, a subset of the C11 memory model that admits relaxed and release-acquire accesses, but disallows, so-calle… ▽ More

    Submitted 16 August, 2021; originally announced August 2021.

    Comments: arXiv admin note: substantial text overlap with arXiv:2012.14133

  11. arXiv:2108.01418  [pdf, other

    cs.LO cs.PL

    Owicki-Gries Reasoning for C11 Programs with Relaxed Dependencies (Extended Version)

    Authors: Daniel Wright, Mark Batty, Brijesh Dongol

    Abstract: Deductive verification techniques for C11 programs have advanced significantly in recent years with the development of operational semantics and associated logics for increasingly large fragments of C11. However, these semantics and logics have been developed in a restricted setting to avoid the thin-air-read problem. In this paper, we propose an operational semantics that leverages an intra-threa… ▽ More

    Submitted 3 August, 2021; originally announced August 2021.

    Comments: Extended version of the corresponding paper in FM2021

  12. arXiv:2107.14509  [pdf, other

    cs.DC cs.LO

    On Strong Observational Refinement and Forward Simulation

    Authors: John Derrick, Simon Doherty, Brijesh Dongol, Gerhard Schellhorn, Heike Wehrheim

    Abstract: Hyperproperties are correctness conditions for labelled transition systems that are more expressive than traditional trace properties, with particular relevance to security. Recently, Attiya and Enea studied a notion of strong observational refinement that preserves all hyperproperties. They analyse the correspondence between forward simulation and strong observational refinement in a setting with… ▽ More

    Submitted 30 July, 2021; originally announced July 2021.

    Comments: Full version of the paper to appear in DISC 2021

  13. arXiv:2012.14133  [pdf, ps, other

    cs.PL cs.LO

    Verifying C11-Style Weak Memory Libraries

    Authors: Sadegh Dalvandi, Brijesh Dongol

    Abstract: Deductive verification of concurrent programs under weak memory has thus far been limited to simple programs over a monolithic state space. For scalabiility, we also require modular techniques with verifiable library abstractions. This paper addresses this challenge in the context of RC11 RAR, a subset of the C11 memory model that admits relaxed and release-acquire accesses, but disallows, so call… ▽ More

    Submitted 28 December, 2020; originally announced December 2020.

  14. Modularising Verification Of Durable Opacity

    Authors: Eleni Bila, John Derrick, Simon Doherty, Brijesh Dongol, Gerhard Schellhorn, Heike Wehrheim

    Abstract: Non-volatile memory (NVM), also known as persistent memory, is an emerging paradigm for memory that preserves its contents even after power loss. NVM is widely expected to become ubiquitous, and hardware architectures are already providing support for NVM programming. This has stimulated interest in the design of novel concepts ensuring correctness of concurrent programming abstractions in the fac… ▽ More

    Submitted 27 July, 2022; v1 submitted 30 November, 2020; originally announced November 2020.

    Journal ref: Logical Methods in Computer Science, Volume 18, Issue 3 (July 28, 2022) lmcs:6941

  15. arXiv:2004.08200  [pdf, ps, other

    cs.DC cs.LO cs.PL

    Defining and Verifying Durable Opacity: Correctness for Persistent Software Transactional Memory

    Authors: Eleni Bila, Simon Doherty, Brijesh Dongol, John Derrick, Gerhard Schellhorn, Heike Wehrheim

    Abstract: Non-volatile memory (NVM), aka persistent memory, is a new paradigm for memory that preserves its contents even after power loss. The expected ubiquity of NVM has stimulated interest in the design of novel concepts ensuring correctness of concurrent programming abstractions in the face of persistency. So far, this has lead to the design of a number of persistent concurrent data structures, built t… ▽ More

    Submitted 17 April, 2020; originally announced April 2020.

    Comments: This is the full version of the paper that is to appear in FORTE 2020 (https://www.discotec.org/2020/forte)

  16. arXiv:2004.02983  [pdf, ps, other

    cs.PL cs.LO

    Integrating Owicki-Gries for C11-Style Memory Models into Isabelle/HOL

    Authors: Sadegh Dalvandi, Brijesh Dongol, Simon Doherty

    Abstract: Weak memory presents a new challenge for program verification and has resulted in the development of a variety of specialised logics. For C11-style memory models, our previous work has shown that it is possible to extend Hoare logic and Owicki-Gries reasoning to verify correctness of weak memory programs. The technique introduces a set of high-level assertions over C11 states together with a set o… ▽ More

    Submitted 8 April, 2020; v1 submitted 6 April, 2020; originally announced April 2020.

  17. arXiv:1811.09143  [pdf, ps, other

    cs.PL cs.DC

    Verifying C11 Programs Operationally

    Authors: Simon Doherty, Brijesh Dongol, Heike Wehrheim, John Derrick

    Abstract: This paper develops an operational semantics for a release-acquire fragment of the C11 memory model with relaxed accesses. We show that the semantics is both sound and complete with respect to the axiomatic model. The semantics relies on a per-thread notion of observability, which allows one to reason about a weak memory C11 program in program order. On top of this, we develop a proof calculus for… ▽ More

    Submitted 22 November, 2018; originally announced November 2018.

  18. arXiv:1810.08739   

    cs.LO cs.PL cs.SE

    Proceedings 18th Refinement Workshop

    Authors: John Derrick, Brijesh Dongol, Steve Reeves

    Abstract: Refinement is one of the cornerstones of a formal approach to software engineering. Refinement is the process of developing a more detailed design or implementation from an abstract specification through a sequence of mathematically-based steps that maintain correctness with respect to the original specification. Work on the foundations of languages such as Z, B, VDM and CSP have led to their wide… ▽ More

    Submitted 19 October, 2018; originally announced October 2018.

    Journal ref: EPTCS 282, 2018

  19. arXiv:1802.01866  [pdf, ps, other

    cs.LO cs.PL

    Causal Linearizability: Compositionality for Partially Ordered Executions

    Authors: Simon Doherty, John Derrick, Brijesh Dongol, Heike Wehrheim

    Abstract: In the interleaving model of concurrency, where events are totally ordered, linearizability is compositional: the composition of two linearizable objects is guaranteed to be linearizable. However, linearizability is not compositional when events are only partially ordered, as in many weak-memory models that describe multicore memory systems. In this paper, we present causal linearizability, a corr… ▽ More

    Submitted 6 February, 2018; originally announced February 2018.

  20. Convolution Algebras: Relational Convolution, Generalised Modalities and Incidence Algebras

    Authors: Brijesh Dongol, Ian J. Hayes, Georg Struth

    Abstract: Convolution is a ubiquitous operation in mathematics and computing. The Kripke semantics for substructural and interval logics motivates its study for quantale-valued functions relative to ternary relations. The resulting notion of relational convolution leads to generalised binary and unary modal operators for qualitative and quantitative models, and to more conventional variants, when ternary re… ▽ More

    Submitted 8 February, 2021; v1 submitted 15 February, 2017; originally announced February 2017.

    Journal ref: Logical Methods in Computer Science, Volume 17, Issue 1 (February 9, 2021) lmcs:3769

  21. arXiv:1610.01004  [pdf, ps, other

    cs.LO cs.DC cs.DS cs.PL

    Reducing Opacity to Linearizability: A Sound and Complete Method

    Authors: Alasdair Armstrong, Brijesh Dongol, Simon Doherty

    Abstract: Transactional memory is a mechanism that manages thread synchronisation on behalf of a programmer so that blocks of code execute with an illusion of atomicity. The main safety criterion for transactional memory is opacity, which defines conditions for serialising concurrent transactions. Proving opacity is complicated because it allows concurrent transactions to observe distinct memory states, w… ▽ More

    Submitted 4 October, 2016; originally announced October 2016.

  22. Towards linking correctness conditions for concurrent objects and contextual trace refinement

    Authors: Brijesh Dongol, Lindsay Groves

    Abstract: Correctness conditions for concurrent objects describe how atomicity of an abstract sequential object may be decomposed. Many different concurrent objects and proof methods for them have been developed. However, arguments about correctness are conducted with respect to an object in isolation. This is in contrast to real-world practice, where concurrent objects are often implemented as part of a pr… ▽ More

    Submitted 7 June, 2016; originally announced June 2016.

    Comments: In Proceedings Refine'15, arXiv:1606.01344

    Journal ref: EPTCS 209, 2016, pp. 107-111

  23. arXiv:1603.01412  [pdf, ps, other

    cs.DC cs.LO

    Contextual trace refinement for concurrent objects: Safety and progress

    Authors: Brijesh Dongol, Lindsay Groves

    Abstract: Correctness of concurrent objects is defined in terms of safety properties such as linearizability, sequential consistency, and quiescent consistency, and progress properties such as wait-, lock-, and obstruction-freedom. These properties, however, only refer to the behaviours of the object in isolation, which does not tell us what guarantees these correctness conditions on concurrent objects prov… ▽ More

    Submitted 4 March, 2016; originally announced March 2016.

  24. arXiv:1511.08447  [pdf, ps, other

    cs.LO cs.DC cs.DS cs.FL

    Decidability and Complexity for Quiescent Consistency and its Variations

    Authors: Brijesh Dongol, Robert M. Hierons

    Abstract: Quiescent consistency is a notion of correctness for a concurrent object that gives meaning to the object's behaviours in quiescent states, i.e., states in which none of the object's operations are being executed. Correctness of an implementation object is defined in terms of a corresponding abstract specification. This gives rise to two important verification questions: membership (checking wheth… ▽ More

    Submitted 26 November, 2015; originally announced November 2015.

    ACM Class: D.2.4; D.3.1; F.3.1; H.2.4

  25. arXiv:1410.6268  [pdf, other

    cs.LO

    Verifying linearizability: A comparative survey

    Authors: Brijesh Dongol, John Derrick

    Abstract: Linearizability has become the key correctness criterion for concurrent data structures, ensuring that histories of the concurrent object under consideration are consistent, where consistency is judged with respect to a sequential history of a corresponding abstract data structure. Linearizability allows any order of concurrent (i.e., overlapping) calls to operations to be picked, but requires the… ▽ More

    Submitted 31 January, 2015; v1 submitted 23 October, 2014; originally announced October 2014.

    Comments: 39 pages

  26. arXiv:1410.4439  [pdf, ps, other

    cs.LO cs.PL

    Principles for Verification Tools: Separation Logic

    Authors: Brijesh Dongol, Victor B. F. Gomes, Georg Struth

    Abstract: A principled approach to the design of program verification and con- struction tools is applied to separation logic. The control flow is modelled by power series with convolution as separating conjunction. A generic construction lifts resource monoids to assertion and predicate transformer quantales. The data flow is captured by concrete store/heap models. These are linked to the separation algebr… ▽ More

    Submitted 16 October, 2014; originally announced October 2014.

  27. arXiv:1410.4235  [pdf, other

    cs.LO cs.FL

    Convolution, Separation and Concurrency

    Authors: Brijesh Dongol, Ian J. Hayes, Georg Struth

    Abstract: A notion of convolution is presented in the context of formal power series together with lifting constructions characterising algebras of such series, which usually are quantales. A number of examples underpin the universality of these constructions, the most prominent ones being separation logics, where convolution is separating conjunction in an assertion quantale; interval logics, where convolu… ▽ More

    Submitted 15 October, 2014; originally announced October 2014.

    Comments: 39 pages

    ACM Class: F.4.0; F.3

  28. arXiv:1307.6958  [pdf, other

    cs.LO

    Simplifying proofs of linearisability using layers of abstraction

    Authors: Brijesh Dongol, John Derrick

    Abstract: Linearisability has become the standard correctness criterion for concurrent data structures, ensuring that every history of invocations and responses of concurrent operations has a matching sequential history. Existing proofs of linearisability require one to identify so-called linearisation points within the operations under consideration, which are atomic statements whose execution causes the e… ▽ More

    Submitted 26 July, 2013; originally announced July 2013.

  29. Data refinement for true concurrency

    Authors: Brijesh Dongol, John Derrick

    Abstract: The majority of modern systems exhibit sophisticated concurrent behaviour, where several system components modify and observe the system state with fine-grained atomicity. Many systems (e.g., multi-core processors, real-time controllers) also exhibit truly concurrent behaviour, where multiple events can occur simultaneously. This paper presents data refinement defined in terms of an interval-based… ▽ More

    Submitted 27 May, 2013; originally announced May 2013.

    Comments: In Proceedings Refine 2013, arXiv:1305.5634

    Journal ref: EPTCS 115, 2013, pp. 15-35

  30. arXiv:1212.5116  [pdf, ps, other

    cs.LO cs.SE

    Proving linearisability via coarse-grained abstraction

    Authors: Brijesh Dongol, John Derrick

    Abstract: Linearisability has become the standard safety criterion for concurrent data structures ensuring that the effect of a concrete operation takes place after the execution some atomic statement (often referred to as the linearisation point). Identification of linearisation points is a non-trivial task and it is even possible for an operation to be linearised by the execution of other concurrent opera… ▽ More

    Submitted 20 December, 2012; originally announced December 2012.

    Comments: 37 pages, 13 figures

  31. Extending the theory of Owicki and Gries with a logic of progress

    Authors: Brijesh Dongol, Doug Goldson

    Abstract: This paper describes a logic of progress for concurrent programs. The logic is based on that of UNITY, molded to fit a sequential programming model. Integration of the two is achieved by using auxiliary variables in a systematic way that incorporates program counters into the program text. The rules for progress in UNITY are then modified to suit this new system. This modification is however sub… ▽ More

    Submitted 10 March, 2006; v1 submitted 2 December, 2005; originally announced December 2005.

    ACM Class: D.2.4; D.3.1; F.3.1

    Journal ref: Logical Methods in Computer Science, Volume 2, Issue 1 (March 10, 2006) lmcs:2260