VeriFast: A powerful, sound, predictable, fast verifier for C and Java
B Jacobs, J Smans, P Philippaerts, F Vogels… - NASA formal methods …, 2011 - Springer
VeriFast is a prototype verification tool for single-threaded and multithreaded C and Java
programs. In this paper, we first describe the basic symbolic execution approach in some …
programs. In this paper, we first describe the basic symbolic execution approach in some …
Static contract checking with abstract interpretation
M Fähndrich, F Logozzo - International conference on formal verification of …, 2010 - Springer
We present an overview of Clousot, our current tool to statically check CodeContracts.
CodeContracts enable a compiler and language-independent specification of Contracts …
CodeContracts enable a compiler and language-independent specification of Contracts …
Mostly-automated verification of low-level programs in computational separation logic
A Chlipala - Proceedings of the 32nd ACM SIGPLAN conference on …, 2011 - dl.acm.org
Several recent projects have shown the feasibility of verifying low-level systems software.
Verifications based on automated theorem-proving have omitted reasoning about first-class …
Verifications based on automated theorem-proving have omitted reasoning about first-class …
Autoproof: Auto-active functional verification of object-oriented programs
Auto-active verifiers provide a level of automation intermediate between fully automatic and
interactive: users supply code with annotations as input while benefiting from a high level of …
interactive: users supply code with annotations as input while benefiting from a high level of …
Expressive modular fine-grained concurrency specification
B Jacobs, F Piessens - Proceedings of the 38th annual ACM SIGPLAN …, 2011 - dl.acm.org
Compared to coarse-grained external synchronization of operations on data structures
shared between concurrent threads, fine-grained, internal synchronization can offer stronger …
shared between concurrent threads, fine-grained, internal synchronization can offer stronger …
Matching μ-logic
X Chen, G Roşu - 2019 34th Annual ACM/IEEE Symposium on …, 2019 - ieeexplore.ieee.org
Matching logic is a logic for specifying and reasoning about structure by means of patterns
and pattern matching. This paper makes two contributions. First, it proposes a sound and …
and pattern matching. This paper makes two contributions. First, it proposes a sound and …
Implicit dynamic frames
J Smans, B Jacobs, F Piessens - ACM Transactions on Programming …, 2012 - dl.acm.org
An important, challenging problem in the verification of imperative programs with shared,
mutable state is the frame problem in the presence of data abstraction. That is, one must be …
mutable state is the frame problem in the presence of data abstraction. That is, one must be …
Evolution of security engineering artifacts: a state of the art survey
M Felderer, B Katt, P Kalb, J Jürjens… - Transportation …, 2015 - igi-global.com
Security is an important quality aspect of modern open software systems. However, it is
challenging to keep such systems secure because of evolution. Security evolution can only …
challenging to keep such systems secure because of evolution. Security evolution can only …
[PDF][PDF] Tool support for correctness-by-construction
Correctness-by-Construction (CbC) is an approach to incrementally create formally correct
programs guided by pre-and postcondition specifications. A program is created using …
programs guided by pre-and postcondition specifications. A program is created using …
Verified symbolic execution with Kripke specification monads (and no meta-programming)
Verifying soundness of symbolic execution-based program verifiers is a significant
challenge. This is especially true if the resulting tool needs to be usable outside of the proof …
challenge. This is especially true if the resulting tool needs to be usable outside of the proof …