169 research outputs found

    In praise of algebra

    Get PDF
    We survey the well-known algebraic laws of sequential programming, and extend them with some less familiar laws for concurrent programming. We give an algebraic definition of the Hoare triple, and algebraic proofs of all the relevant laws for concurrent separation logic. We give the provable concurrency laws for Milner transitions, for the Back/Morgan refinement calculus, and for Dijkstra's weakest preconditions. We end with a section in praise of algebra, of which Carroll Morgan is such a maste

    Replication of government research uncovers shaky evidence on relationship between school and degree performance.

    Get PDF
    Interested in the statistical analysis used to justify the Department of Education’s reforms, Ron Johnston, Kelvyn Jones, David Manley, Tony Hoare and Richard Harris requested the data related to school performance and degree results via a Freedom of Information request. One year later the dataset was finally made available and they were able to identify some substantial flaws in the government research including sample bias, missing data and poor research design. Rather than confirming that AS level results ‘add a negligible degree of accuracy to university performance prediction’, the team found that by scrapping AS-levels for examination criteria, 1-in-5 students capable of getting a good degree at the institution of their choice might not be given that chance

    Lore: Capturing Traditional Environmental Knowledge, edited by Martha Johnson

    Get PDF

    Relational geometry modelling execution of structured programs

    Get PDF
    We discuss some twists around Concurrent Kleene Algebra (CKA). First, a new model of CKA represents a trace of a concurrent program as a diagram in a two-dimensional non-metric finite geometry, namely, program actions by points, objects and threads by vertical lines, transactions by horizontal lines, communications and resource sharing by sloping lines. While we had already sketched this earlier, we fully formalise it here in terms of the algebra of binary relations. Second, we present a new definition technique for partial operators, namely an assume/claim style akin to rely/guarantee program specification. This admits a general refinement order with Top and Bottom as well as proofs of the CKA laws. Finally, we give a short perspective on the geometric representation of some standard concurrent programming concepts

    On algebra of program correctness and incorrectness

    Get PDF
    Variants of Kleene algebra have been used to provide foundations of reasoning about programs, for instance by representing HoareLogic (HL) in algebra. That work has generally emphasised program correctness, i.e., proving the absence of bugs. Recently, Incorrectness Logic (IL) has been advanced as a formalism for the dual problem: proving thepresence of bugs. IL is intended to underpin the use of logic in programtesting and static bug finding. Here, we use a Kleene algebra with diamond operators and countable joins of tests, which embeds IL, and which also is complete for reasoning about the image of the embedding. Next to embedding IL, the algebra is able to embed HL, and allows making connections between IL and HL specifications. In this sense, it unifies correctness and incorrectness reasoning in one formalis

    The verifying compiler

    Full text link

    A Trace Semantics for Long-Running Transactions

    Full text link

    Edsger W. Dijkstra: a Commemoration

    Get PDF
    This article is a multiauthored portrait of Edsger Wybe Dijkstra that consists of testimonials written by several friends, colleagues, and students of his. It provides unique insights into his personality, working style and habits, and his influence on other computer scientists, as a researcher, teacher, and mentor
    corecore