Building a push-button RESOLVE verifier: Progress and challenges

M Sitaraman, B Adcock, J Avigad, D Bronish… - Formal Aspects of …, 2011 - Springer
A central objective of the verifying compiler grand challenge is to develop a push-button
verifier that generates proofs of correctness in a syntax-driven fashion similar to the way an …

Integration verification across software and hardware for a simple embedded system

A Erbsen, S Gruetter, J Choi, C Wood… - Proceedings of the 42nd …, 2021 - dl.acm.org
The interfaces between layers of a system are susceptible to bugs if developers of adjacent
layers proceed under subtly different assumptions. Formal verification of two layers against …

Foundational Integration Verification of a Cryptographic Server

A Erbsen, J Philipoom, D Jamner, A Lin… - Proceedings of the …, 2024 - dl.acm.org
We present verification of a bare-metal server built using diverse implementation techniques
and languages against a whole-system input-output specification in terms of machine code …

Verifying an HTTP key-value server with interaction trees and VST

H Zhang, W Honoré, N Koh, Y Li, Y Li… - The 12th Conference …, 2021 - research.ed.ac.uk
We present a networked key-value server, implemented in C and formally verified in Coq.
The server interacts with clients using a subset of the HTTP/1.1 protocol and is specified and …

Don't sweat the small stuff: formal verification of C code without the pain

D Greenaway, J Lim, J Andronick, G Klein - ACM SIGPLAN Notices, 2014 - dl.acm.org
We present an approach for automatically generating provably correct abstractions from C
source code that are useful for practical implementation verification. The abstractions are …

Flexible instruction-set semantics via abstract monads (experience report)

T Bourgeat, I Clester, A Erbsen, S Gruetter… - Proceedings of the …, 2023 - dl.acm.org
Instruction sets, from families like x86 and ARM, are at the center of many ambitious formal-
methods projects. Many verification, synthesis, programming, and debugging tools rely on …

Verified compilation on a verified processor

A Lööw, R Kumar, YK Tan, MO Myreen… - Proceedings of the 40th …, 2019 - dl.acm.org
Developing technology for building verified stacks, ie, computer systems with
comprehensive proofs of correctness, is one way the science of programming languages …

[HTML][HTML] Unifying semantic foundations for automated verification tools in Isabelle/UTP

S Foster, J Baxter, A Cavalcanti, J Woodcock… - Science of Computer …, 2020 - Elsevier
The growing complexity and diversity of models used for engineering dependable systems
implies that a variety of formal methods, across differing abstractions, paradigms, and …

Unifying heterogeneous state-spaces with lenses

S Foster, F Zeyda, J Woodcock - … Aspects of Computing–ICTAC 2016: 13th …, 2016 - Springer
Most verification approaches embed a model of program state into their semantic treatment.
Though a variety of heterogeneous state-space models exists, they all possess common …

A proof-producing translator for Verilog development in HOL

A Lööw, MO Myreen - 2019 IEEE/ACM 7th International …, 2019 - ieeexplore.ieee.org
We present an automatic proof-producing translator targeting the hardware description
language Verilog. The tool takes a circuit represented as a HOL function as input, translates …