Bringing effortless refinement of data layouts to COGENT

Liam O’Connor*, Zilin Chen, Partha Susarla, Christine Rizkallah, Gerwin Klein, Gabriele Keller

*Corresponding author for this work

    Research output: Chapter in Book/Report/Conference proceedingConference contributionAcademicpeer-review

    Abstract

    The language Cogent allows low-level operating system components to be modelled as pure mathematical functions operating on algebraic data types, which makes it highly suitable for verification in an interactive theorem prover. Furthermore, the Cogent compiler translates these models into imperative C programs, and provides a proof that this compilation is a refinement of the functional model. There remains a gap, however, between the C data structures used in the operating system, and the algebraic data types used by Cogent. This forces the programmer to write a large amount of boilerplate marshalling code to connect the two, which can lead to a significant runtime performance overhead due to excessive copying. In this paper, we outline our design for a data description language and data refinement framework, called Dargent, which provides the programmer with a means to specify how Cogent represents its algebraic data types. From this specification, the compiler can then generate the C code which manipulates the C data structures directly. Once fully realised, this extension will enable more code to be automatically verified by Cogent, smoother interoperability with C, and substantially improved performance of the generated code.

    Original languageEnglish
    Title of host publicationLeveraging Applications of Formal Methods, Verification and Validation. Modeling - 8th International Symposium, ISoLA 2018, Proceedings
    EditorsBernhard Steffen, Tiziana Margaria
    PublisherSpringer
    Pages134-149
    Number of pages16
    ISBN (Print)9783030034177
    DOIs
    Publication statusPublished - 2018
    Event8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2018 - Limassol, Cyprus
    Duration: 5 Nov 20189 Nov 2018

    Publication series

    NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
    Volume11244 LNCS
    ISSN (Print)0302-9743
    ISSN (Electronic)1611-3349

    Conference

    Conference8th International Symposium on Leveraging Applications of Formal Methods, Verification and Validation, ISoLA 2018
    Country/TerritoryCyprus
    CityLimassol
    Period5/11/189/11/18

    Fingerprint

    Dive into the research topics of 'Bringing effortless refinement of data layouts to COGENT'. Together they form a unique fingerprint.

    Cite this