In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP keyboard driver. Our verification approach is (a) sound, (b) takes into account dynamic memory allocation, complex API rules and concurrency, and (c) is applied on a real kernel driver which was not written with verification in mind. We employ VeriFast, a software verifier based on separation logic. Besides showing that it is possible to verify this device driver, we identify the parts where the verification went smoothly and the parts where the verification approach requires further research to be carried out. In the second part of this thesis, we present a program verification approach that uses an input/output style of reasoning. It can...
The SLAM toolkit demonstrates that predicate abstraction enables automated verification of real worl...
We study the applicability of the logic of Positive Equality with Uninterpreted Functions (PEUF) [2]...
The Slam toolkit demonstrates that predicate abstraction enables automated verification of real worl...
In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP...
Case studies for formal software verification can be divided into two categories: while (i) unsound ...
AbstractThe paper details the author's thread verification experiences with four applications: Linux...
We use Iris, an implementation of concurrent separation logic in the Coq proof assistant, to verify ...
In this article we present a series of four industrial case studies in software verification. We app...
Research prototype tool for modular formal verification of C and Java programs By Bart Jacobs*, Jan...
Thesis (Ph.D.)--University of Washington, 2020Systems software interfaces with hardware, multiplexes...
Critical systems depend on software more than ever. In particular, off-the-shelf operating systems (...
Over the past four decades microprocessors have come to be a vital and inseparable part of the moder...
Demand for scalable hardware verification is ever-increasing. We propose an unbounded safety verific...
With increasing design complexity, verification becomes a more and more important aspect of the desi...
In microprocessors, achieving an efficient utilization of the execution units is a key factor in imp...
The SLAM toolkit demonstrates that predicate abstraction enables automated verification of real worl...
We study the applicability of the logic of Positive Equality with Uninterpreted Functions (PEUF) [2]...
The Slam toolkit demonstrates that predicate abstraction enables automated verification of real worl...
In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP...
Case studies for formal software verification can be divided into two categories: while (i) unsound ...
AbstractThe paper details the author's thread verification experiences with four applications: Linux...
We use Iris, an implementation of concurrent separation logic in the Coq proof assistant, to verify ...
In this article we present a series of four industrial case studies in software verification. We app...
Research prototype tool for modular formal verification of C and Java programs By Bart Jacobs*, Jan...
Thesis (Ph.D.)--University of Washington, 2020Systems software interfaces with hardware, multiplexes...
Critical systems depend on software more than ever. In particular, off-the-shelf operating systems (...
Over the past four decades microprocessors have come to be a vital and inseparable part of the moder...
Demand for scalable hardware verification is ever-increasing. We propose an unbounded safety verific...
With increasing design complexity, verification becomes a more and more important aspect of the desi...
In microprocessors, achieving an efficient utilization of the execution units is a key factor in imp...
The SLAM toolkit demonstrates that predicate abstraction enables automated verification of real worl...
We study the applicability of the logic of Positive Equality with Uninterpreted Functions (PEUF) [2]...
The Slam toolkit demonstrates that predicate abstraction enables automated verification of real worl...