We present a sound verification approach for verifying input/output properties of programs. Our approach supports defining high-level I/O actions on top of low-level ones (compositionality), defining input/output actions without taking into account which other actions exist (modularity), and other features. As the key ingredient, we developed a separation logic over Petri nets. We also show how with the same specification style we can elegantly modularly verify ``I/O-like'' code that uses the Template Pattern. We have implemented our approach in the VeriFast verifier and applied it to a number of challenging examples.status: publishe
We propose an approach for the modular specification and verification of total correctness propertie...
To support dynamic loading of applications on portable devices, one needs compositional reasoning te...
We present language-independent formal methods that are parameterized by the operational semantics o...
We present a sound verification approach for verifying input/output properties of programs. Our appr...
We present a sound verification approach for verifying input/output properties of programs. Our appr...
We recently proposed an approach for the specification and modular formal verification of the intera...
In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP...
One way of verifying systems whose components interact by exchanging messages, such as distributed s...
We present a new methodology for automatic verification of C programs against finite state machine s...
Recent advances in deductive program verification correlate with the evolution of logics for modular...
Verification of distributed systems is a challenging problem, especially if the distributed system a...
In this paper we model both program behaviours and abstractions between them as lax functors, which ...
AbstractCurrent mechanizations of programming logics are often in the form of verification condition...
We present a new methodology for automatic verification of C programs against finite state machine s...
This dissertation discusses several problems loosely related, because they all involve a verificatio...
We propose an approach for the modular specification and verification of total correctness propertie...
To support dynamic loading of applications on portable devices, one needs compositional reasoning te...
We present language-independent formal methods that are parameterized by the operational semantics o...
We present a sound verification approach for verifying input/output properties of programs. Our appr...
We present a sound verification approach for verifying input/output properties of programs. Our appr...
We recently proposed an approach for the specification and modular formal verification of the intera...
In the first part of this thesis, we present a case study on successfully verifying the Linux USB BP...
One way of verifying systems whose components interact by exchanging messages, such as distributed s...
We present a new methodology for automatic verification of C programs against finite state machine s...
Recent advances in deductive program verification correlate with the evolution of logics for modular...
Verification of distributed systems is a challenging problem, especially if the distributed system a...
In this paper we model both program behaviours and abstractions between them as lax functors, which ...
AbstractCurrent mechanizations of programming logics are often in the form of verification condition...
We present a new methodology for automatic verification of C programs against finite state machine s...
This dissertation discusses several problems loosely related, because they all involve a verificatio...
We propose an approach for the modular specification and verification of total correctness propertie...
To support dynamic loading of applications on portable devices, one needs compositional reasoning te...
We present language-independent formal methods that are parameterized by the operational semantics o...