Skip to main content
Kent Academic Repository

Formally verifying Exceptions for Low-level code with Separation Logic

Marco, Paviotti, Jesper, Bengtson (2018) Formally verifying Exceptions for Low-level code with Separation Logic. Journal of Logical and Algebraic Methods in Programming, 94 . pp. 1-14. ISSN 2352-2208. (doi:10.1016/j.jlamp.2017.09.004) (KAR id:67658)

Abstract

Exceptions in low-level architectures are implemented as synchronous interrupts: upon the execution of a faulty instruction the processor jumps to a piece of code that handles the error. Previous work has shown that assembly programs can be written, verified and run using higher-order separation logic. However, execution of faulty instructions is then specified as either being undefined or terminating with an error. In this paper, we study synchronous interrupts and show their usefulness by implementing a memory allocator. This shows that it is indeed possible to write positive specifications of programs that fault. All of our results are mechanised in the interactive proof assistant Coq.

Item Type: Article
DOI/Identification number: 10.1016/j.jlamp.2017.09.004
Uncontrolled keywords: Formal Verification, Separation Logic, Assembly, Coq, Exceptions, Step-indexed models, Interactive Theorem Proving
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Marco Paviotti
Date Deposited: 19 Oct 2018 12:13 UTC
Last Modified: 08 Dec 2022 22:40 UTC
Resource URI: https://kar.kent.ac.uk/id/eprint/67658 (The current URI for this page, for reference purposes)

University of Kent Author Information

  • Depositors only (login required):

Total unique views for this document in KAR since July 2020. For more details click on the image.