The Spec# programming system: An overview

M Barnett, KRM Leino, W Schulte - … on Construction and Analysis of Safe …, 2004 - Springer
The Spec# programming system is a new attempt at a more cost effective way to develop
and maintain high-quality software. This paper describes the goals and architecture of the …

An overview of JML tools and applications

L Burdy, Y Cheon, DR Cok, MD Ernst, JR Kiniry… - International journal on …, 2005 - Springer
Abstract The Java Modeling Language (JML) can be used to specify the detailed design of
Java classes and interfaces by adding annotations to Java source files. The aim of JML is to …

Deductive software verification-the key book

W Ahrendt, B Beckert, R Bubel, R Hähnle… - Lecture notes in …, 2016 - Springer
• 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 …

Dafny: An automatic program verifier for functional correctness

KRM Leino - International conference on logic for programming …, 2010 - Springer
Traditionally, the full verification of a program's functional correctness has been obtained
with pen and paper or with interactive proof assistants, whereas only reduced verification …

Boogie: A modular reusable verifier for object-oriented programs

M Barnett, BYE Chang, R DeLine, B Jacobs… - Formal Methods for …, 2006 - Springer
A program verifier is a complex system that uses compiler technology, program semantics,
property inference, verification-condition generation, automatic decision procedures, and a …

[图书][B] Why programs fail: a guide to systematic debugging

A Zeller - 2009 - books.google.com
Why Programs Fail: A Guide to Systematic Debugging is proof that debugging has
graduated from a black art to a systematic discipline. It demystifies one of the toughest …

solc-verify: A Modular Verifier for Solidity Smart Contracts

Á Hajdu, D Jovanović - … Software. Theories, Tools, and Experiments: 11th …, 2020 - Springer
We present solc-verify, a source-level verification tool for Ethereum smart contracts. solc-
verify takes smart contracts written in Solidity and discharges verification conditions using …

Smallfoot: Modular automatic assertion checking with separation logic

J Berdine, C Calcagno, PW O'hearn - … 1-4, 2005, Revised Lectures 4, 2006 - Springer
Separation logic is a program logic for reasoning about programs that manipulate pointer
data structures. We describe Smallfoot, a tool for checking certain lightweight separation …

Local action and abstract separation logic

C Calcagno, PW O'Hearn… - 22nd Annual IEEE …, 2007 - ieeexplore.ieee.org
Separation logic is an extension of Hoare's logic which supports a local way of reasoning
about programs that mutate memory. We present a study of the semantic structures lying …

Separation logic and abstraction

M Parkinson, G Bierman - Proceedings of the 32nd ACM SIGPLAN …, 2005 - dl.acm.org
In this paper we address the problem of writing specifications for programs that use various
forms of modularity, including procedures and Java-like classes. We build on the formalism …