Building a push-button RESOLVE verifier: Progress and challenges
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 …
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
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 …
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 …
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
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 …
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
We present an approach for automatically generating provably correct abstractions from C
source code that are useful for practical implementation verification. The abstractions are …
source code that are useful for practical implementation verification. The abstractions are …
Flexible instruction-set semantics via abstract monads (experience report)
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 …
methods projects. Many verification, synthesis, programming, and debugging tools rely on …
Verified compilation on a verified processor
Developing technology for building verified stacks, ie, computer systems with
comprehensive proofs of correctness, is one way the science of programming languages …
comprehensive proofs of correctness, is one way the science of programming languages …
[HTML][HTML] Unifying semantic foundations for automated verification tools in Isabelle/UTP
The growing complexity and diversity of models used for engineering dependable systems
implies that a variety of formal methods, across differing abstractions, paradigms, and …
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 …
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 …
language Verilog. The tool takes a circuit represented as a HOL function as input, translates …