Realizability Checking of Contracts with Kind 2

05/18/2022
by   Daniel Larraz, et al.
0

We present a new feature of the open-source model checker Kind 2 which checks whether a component contract is realizable; i.e., it is possible to construct a component such that for any input allowed by the contract assumptions, there is some output value that the component can produce that satisfies the contract guarantees. When the contract is proven unrealizable, it provides a deadlocking computation and a set of conflicting guarantees. This new feature can be used to detect flaws in component specifications and to ensure the correctness of Kind 2's compositional proof arguments.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/26/2022

A Runtime Environment for Contract Automata

Realising contract-based applications from formal specifications with fo...
research
02/15/2020

Information-Flow Interfaces

Contract-based design is a promising methodology for taming the complexi...
research
09/14/2017

Combining Static and Dynamic Contract Checking for Curry

Static type systems are usually not sufficient to express all requiremen...
research
08/15/2022

Smart Contract Synthesis Modulo Hyperproperties

Smart contracts are small but highly security-critical programs that imp...
research
05/11/2023

Specification and Verification of Side-channel Security for Open-source Processors via Leakage Contracts

Leakage contracts have recently been proposed as a new security abstract...
research
05/13/2021

Verification of the Incremental Merkle Tree Algorithm with Dafny

The Deposit Smart Contract (DSC) is an instrumental component of the Eth...
research
07/26/2023

What Kinds of Contracts Do ML APIs Need?

Recent work has shown that Machine Learning (ML) programs are error-pron...

Please sign up or login with your details

Forgot password? Click here to reset