Trustworthy Systems

Pancake: verified systems programming made sweeter

Authors

Johannes Åman Pohjola, Hira Taqdees Syeda, Miki Tanaka, Krishnan Winter, Gordon Sau, Ben Nott, Tiana Tsang Ung, Craig McLaughlin, Remy Seassau, Magnus Myreen, Michael Norrish and Gernot Heiser

UNSW Sydney
Australia

Chalmers University of Technology
Gothenburg
Sweden

Australian National University
Canberra
Australia

Abstract

We introduce Pancake, a new language for verifiable, low-level systems programming, especially device drivers. Pancake eschews complex type systems to make the language attractive to systems programmers, while at the same time aiming to ease the formal verification of code. We describe the design of the language and its verified compiler, and examine its usability, performance and current limitations through case studies of device drivers and related systems components for an seL4-based operating system.

BibTeX Entry

  @inproceedings{Pohjola_STWSNUMSMNH_23,
    address          = {Koblenz, DE},
    author           = {Johannes {\AA}man Pohjola and Hira Taqdees Syeda and Miki Tanaka and Krishnan Winter and Tsun Wang
                        Sau and Benjamin Nott and Tiana Tsang Ung and Craig McLaughlin and Remy Seassau and Magnus O. Myreen
                        and Michael Norrish and Gernot Heiser},
    booktitle        = {Workshop on Programming Languages and Operating Systems (PLOS)},
    month            = oct,
    paperurl         = {https://trustworthy.systems/publications/papers/Pohjola_STWSNUMSMNH_23.pdf},
    title            = {Pancake: Verified Systems Programming Made Sweeter},
    year             = {2023}
  }

Download