Skip to main content

Showing 1–10 of 10 results for author: Colvin, R J

Searching in archive cs. Search in all archives.
.
  1. arXiv:2407.20559  [pdf, ps, other

    cs.LO

    Practical Rely/Guarantee Verification of an Efficient Lock for seL4 on Multicore Architectures

    Authors: Robert J. Colvin, Ian J. Hayes, Scott Heiner, Peter Höfner, Larissa Meinicke, Roger C. Su

    Abstract: Developers of low-level systems code providing core functionality for operating systems and kernels must address hardware-level features of modern multicore architectures. A particular feature is pipelined "out-of-order execution" of the code as written, the effects of which are typically summarised as a "weak memory model" - a term which includes further complicating factors that may be introduce… ▽ More

    Submitted 30 July, 2024; originally announced July 2024.

  2. arXiv:2204.03189  [pdf, ps, other

    cs.PL

    Separation of concerning things: a simpler basis for defining and programming with the C/C++ memory model (extended version)

    Authors: Robert J. Colvin

    Abstract: The C/C++ memory model provides an interface and execution model for programmers of concurrent (shared-variable) code. It provides a range of mechanisms that abstract from underlying hardware memory models -- that govern how multicore architectures handle concurrent accesses to main memory -- as well as abstracting from compiler transformations. The C standard describes the memory model in terms o… ▽ More

    Submitted 6 April, 2022; originally announced April 2022.

  3. arXiv:2105.02444  [pdf, ps, other

    cs.LO

    Parallelized sequential composition, pipelines, and hardware weak memory models

    Authors: Robert J. Colvin

    Abstract: Since the introduction of the CDC 6600 in 1965 and its `scoreboarding' technique processors have not (necessarily) executed instructions in program order. Programmers of high-level code may sequence independent instructions in arbitrary order, and it is a matter of significant programming abstraction and computational efficiency that the processor can be relied upon to make sensible parallelizatio… ▽ More

    Submitted 6 May, 2021; originally announced May 2021.

  4. arXiv:2004.00577  [pdf, ps, other

    cs.PL cs.CR cs.LO

    An abstract semantics of speculative execution for reasoning about security vulnerabilities

    Authors: Robert J. Colvin, Kirsten Winter

    Abstract: Reasoning about correctness and security of software is increasingly difficult due to the complexity of modern microarchitectural features such as out-of-order execution. A class of security vulnerabilities termed Spectre that exploits side effects of speculative, out-of-order execution was announced in 2018 and has since drawn much attention. In this paper we formalise speculative execution and i… ▽ More

    Submitted 9 March, 2020; originally announced April 2020.

  5. arXiv:1812.00996  [pdf, ps, other

    cs.LO

    A high-level operational semantics for hardware weak memory models

    Authors: Robert J. Colvin, Graeme Smith

    Abstract: Modern processors deploy a variety of weak memory models, which for efficiency reasons may execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be complex and subtle, and can impact on ensuring correctness. In this paper we build on extensive work elucidating the semantics of assembler-level languages on hardware architect… ▽ More

    Submitted 2 December, 2018; originally announced December 2018.

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

  6. Correctness of Concurrent Objects under Weak Memory Models

    Authors: Graeme Smith, Kirsten Winter, Robert J. Colvin

    Abstract: In this paper we develop a theory for correctness of concurrent objects under weak memory models. Central to our definitions is the concept of observations which determine when effects of operations become visible, and hence determine the semantics of objects, under a given memory model. The resulting notion of correctness, called object refinement, is generic as it is parameterised by the memory… ▽ More

    Submitted 22 October, 2018; originally announced October 2018.

    Comments: In Proceedings Refine 2018, arXiv:1810.08739. arXiv admin note: text overlap with arXiv:1802.04954

    Journal ref: EPTCS 282, 2018, pp. 53-67

  7. arXiv:1802.04954  [pdf, other

    cs.LO

    A sound and complete definition of linearizability on weak memory models

    Authors: Graeme Smith, Kirsten Winter, Robert J. Colvin

    Abstract: Linearizability is a widely accepted notion of correctness for concurrent objects. Recent research has investigated redefining linearizability for particular hardware weak memory models, in particular for TSO. In this paper, we provide an overview of this research and show that such redefinitions of linearizability are not required: under an interpretation of specification behaviour which abstract… ▽ More

    Submitted 1 July, 2019; v1 submitted 13 February, 2018; originally announced February 2018.

    Comments: 33 pages, including appendix. arXiv admin note: text overlap with arXiv:1810.09612

  8. A wide-spectrum language for verification of programs on weak memory models

    Authors: Robert J. Colvin, Graeme Smith

    Abstract: Modern processors deploy a variety of weak memory models, which for efficiency reasons may (appear to) execute instructions in an order different to that specified by the program text. The consequences of instruction reordering can be complex and subtle, and can impact on ensuring correctness. Previous work on the semantics of weak memory models has focussed on the behaviour of assembler-level pro… ▽ More

    Submitted 12 February, 2018; originally announced February 2018.

  9. arXiv:1710.03352  [pdf, other

    cs.LO cs.SE

    A synchronous program algebra: a basis for reasoning about shared-memory and event-based concurrency

    Authors: Ian J. Hayes, Larissa A. Meinicke, Kirsten Winter, Robert J. Colvin

    Abstract: This research started with an algebra for reasoning about rely/guarantee concurrency for a shared memory model. The approach taken led to a more abstract algebra of atomic steps, in which atomic steps synchronise (rather than interleave) when composed in parallel. The algebra of rely/guarantee concurrency then becomes an instantiation of the more abstract algebra. Many of the core properties neede… ▽ More

    Submitted 9 October, 2017; originally announced October 2017.

    Comments: Extended version of a Formal Methods 2016 paper, "An algebra of synchronous atomic steps"

  10. arXiv:1609.00195  [pdf, other

    cs.LO cs.PL

    Designing a semantic model for a wide-spectrum language with concurrency

    Authors: Robert J. Colvin, Ian J. Hayes, Larissa A. Meinicke

    Abstract: A wide-spectrum language integrates specification constructs into a programming language in a manner that treats a specification command just like any other command. This paper investigates a semantic model for a wide-spectrum language that supports concurrency and a refinement calculus. In order to handle specifications with rely and guarantee conditions, the model includes explicit environment s… ▽ More

    Submitted 1 September, 2016; originally announced September 2016.