Viper: A verification infrastructure for permission-based reasoning
The automation of verification techniques based on first-order logic specifications has
benefitted greatly from verification infrastructures such as Boogie and Why. These offer an …
benefitted greatly from verification infrastructures such as Boogie and Why. These offer an …
Deductive software verification-the key book
• There are IDEs for KeY, including an Eclipse extension, that make it easy to keep track of
proof obligations in larger projects [Hentschel et al., 2014c].• A stripped down version of …
proof obligations in larger projects [Hentschel et al., 2014c].• A stripped down version of …
Leveraging Rust types for modular specification and verification
Rust's type system ensures memory safety: well-typed Rust programs are guaranteed to not
exhibit problems such as dangling pointers, data races, and unexpected side effects through …
exhibit problems such as dangling pointers, data races, and unexpected side effects through …
An overview of the Leon verification system: Verification by translation to recursive functions
We present the Leon verification system for a subset of the Scala programming language.
Along with several functional features of Scala, Leon supports imperative constructs such as …
Along with several functional features of Scala, Leon supports imperative constructs such as …
RustHorn: CHC-based verification for Rust programs
Reduction to satisfiability of constrained Horn clauses (CHCs) is a widely studied approach
to automated program verification. Current CHC-based methods, however, do not work very …
to automated program verification. Current CHC-based methods, however, do not work very …
Semantics-based program verifiers for all languages
We present a language-independent verification framework that can be instantiated with an
operational semantics to automatically generate a program verifier. The framework treats …
operational semantics to automatically generate a program verifier. The framework treats …
Uniqueness and reference immutability for safe parallelism
CS Gordon, MJ Parkinson, J Parsons… - ACM SIGPLAN …, 2012 - dl.acm.org
A key challenge for concurrent programming is that side-effects (memory operations) in one
thread can affect the behavior of another thread. In this paper, we present a type system to …
thread can affect the behavior of another thread. In this paper, we present a type system to …
Guiding dynamic symbolic execution toward unverified program executions
Most techniques to detect program errors, such as testing, code reviews, and static program
analysis, do not fully verify all possible executions of a program. They leave executions …
analysis, do not fully verify all possible executions of a program. They leave executions …
{SymDrive}: Testing Drivers without Devices
Device-driver development and testing is a complex and error-prone undertaking. For
example, testing errorhandling code requires simulating faulty inputs from the device. A …
example, testing errorhandling code requires simulating faulty inputs from the device. A …
[HTML][HTML] Nagini: a static verifier for Python
We present Nagini, an automated, modular verifier for statically-typed, concurrent Python 3
programs, built on the Viper verification infrastructure. Combining established concepts with …
programs, built on the Viper verification infrastructure. Combining established concepts with …