Modular Semantics and Metatheory for LLVM IR

Loading...
Thumbnail Image
Degree type
Doctor of Philosophy (PhD)
Graduate group
Computer and Information Science
Discipline
Computer Sciences
Subject
Formal semantics
Formal verification
LLVM IR
Monads
Funder
Grant number
License
Copyright date
2023
Distributor
Related resources
Author
Yoon, Euisun
Contributor
Abstract

The appealing guarantees of formally verified software comes in tandem with the high cost of verification. To reduce the cost of formal verification, modularity is crucial because it eases both the elaboration and reuse of proofs. This thesis focuses on developing a modular semantics and metatheory for realistic low-level languages, with a focus on LLVM IR. First, we define VIR, a modular and executable semantics for a large sequential subset of LLVM IR, which is based on layered, monadic interpreters. Unlike a traditional small-step semantics, VIR has an executable semantics which can be extracted into an executable definitional interpreter. Second, we develop a formal metatheory for reasoning about layered interpreters, giving an extensible theory for lifting interpreters and structural rules, characterizing interpretable monads and a relational reasoning framework for reasoning about equivalences across interpretation. Finally, we develop a relational separation logic framework for verifying program transformations on VIR, with a fresh perspective on verifying transformations with external calls.

Advisor
Zdancewic, Stephan, A.
Date of degree
2023
Date Range for Data Collection (Start Date)
Date Range for Data Collection (End Date)
Digital Object Identifier
Series name and number
Volume number
Issue number
Publisher
Publisher DOI
Journal Issue
Comments
Recommended citation