Low level code is challenging: It lacks structure, it uses jumps and symbolic addresses, the control flow is often highly optimized, and registers and memory locations may be reused in ways that make typing extremely challenging. Informa-tion flow properties create additional complications: They are hyperproperties relating multiple executions, and the possibility of interrupts and concurrency, and use of devices and features like memory-mapped I/O requires a departure from the usual initial-state final-state account of noninterfer-ence. In this work we propose a novel approach to relational verification for machine code. Verification goals are ex-pressed as equivalence of traces decorated with observation points. Relational verification co...
International audienceThis paper tackles the problem of designing efficient binary-level verificatio...
In this paper we report on new techniques for verifying content addressable memories (CAMs), and dem...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...
Hypervisors are low level execution platforms that provideisolated partitions on shared resources, a...
Bitwise operations are commonly used in low-level systems code to access multiple data fields that h...
18 pages, 7 figures, accepted at IEEE Symposium on Security and Privacy 2020International audienceTh...
This paper explores the idea of augmenting traditional model checkers with the expressiveness of a d...
Model checking by symbolic trajectory evaluation, orchestrated in a flexible functional-programming ...
Relational program verification is a variant of program verification where one focuses on guaranteei...
This is the artifact supplementing the TACAS 2023 submission for the article entitled The WhyRel Pro...
To improve efficiency of memory accesses, modern multiprocessor architectures implement a whole rang...
Abstract. While effective methods for bit-level verification of low-level proper-ties exist, system-...
Formal verification has had a significant impact on the semiconductor industry, particularly for com...
International audienceThis paper tackles the problem of designing efficient binary-level verificatio...
Abstract. A central task in formal verification is the definition of invariants, which characterize ...
International audienceThis paper tackles the problem of designing efficient binary-level verificatio...
In this paper we report on new techniques for verifying content addressable memories (CAMs), and dem...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...
Hypervisors are low level execution platforms that provideisolated partitions on shared resources, a...
Bitwise operations are commonly used in low-level systems code to access multiple data fields that h...
18 pages, 7 figures, accepted at IEEE Symposium on Security and Privacy 2020International audienceTh...
This paper explores the idea of augmenting traditional model checkers with the expressiveness of a d...
Model checking by symbolic trajectory evaluation, orchestrated in a flexible functional-programming ...
Relational program verification is a variant of program verification where one focuses on guaranteei...
This is the artifact supplementing the TACAS 2023 submission for the article entitled The WhyRel Pro...
To improve efficiency of memory accesses, modern multiprocessor architectures implement a whole rang...
Abstract. While effective methods for bit-level verification of low-level proper-ties exist, system-...
Formal verification has had a significant impact on the semiconductor industry, particularly for com...
International audienceThis paper tackles the problem of designing efficient binary-level verificatio...
Abstract. A central task in formal verification is the definition of invariants, which characterize ...
International audienceThis paper tackles the problem of designing efficient binary-level verificatio...
In this paper we report on new techniques for verifying content addressable memories (CAMs), and dem...
In this thesis, we describe and evaluate approaches for the efficient reasoning of realworld C progr...