Computing and Proving Well-founded Orderings through Finite Abstractions

09/29/2020
by   Rob Sumners, et al.
0

A common technique for checking properties of complex state machines is to build a finite abstraction then check the property on the abstract system – where a passing check on the abstract system is only transferred to the original system if the abstraction is proven to be representative. This approach does require the derivation or definition of the finite abstraction, but can avoid the need for complex invariant definition. For our work in checking progress of memory transactions in microprocessors, we need to prove that transactions in complex state machines always make progress to completion. As a part of this effort, we developed a process for computing a finite abstract graph of the target state machine along with annotations on whether certain measures decrease or not on arcs in the abstract graph. We then iteratively divide the abstract graph by splitting into strongly connected components and then building a measure for every node in the abstract graph which is ensured to be reducing on every transition of the original system guaranteeing progress. For finite state target systems (e.g. hardware designs), we present approaches for extracting the abstract graph efficiently using incremental SAT through GL and then the application of our process to check for progress. We present an implementation of the Bakery algorithm as an example application.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/10/2018

A Toolbox For Property Checking From Simulation Using Incremental SAT (Extended Abstract)

We present a tool that primarily supports the ability to check bounded p...
research
07/28/2023

User-Driven Abstraction for Model Checking

Model checking has found a role in the engineering of reactive systems. ...
research
10/18/2021

MDP Abstraction with Successor Features

Abstraction plays an important role for generalisation of knowledge and ...
research
10/16/2019

Abstract Transducers

Several abstract machines that operate on symbolic input alphabets have ...
research
10/19/2016

Finite Computational Structures and Implementations

What is computable with limited resources? How can we verify the correct...
research
03/04/2020

Measuring the Quality of B Abstract Machines with ISO/IEC 25010

The B method has facilitated the development of software by specifying t...
research
03/15/2022

Linear-Time Verification of Data-Aware Dynamic Systems with Arithmetic

Combined modeling and verification of dynamic systems and the data they ...

Please sign up or login with your details

Forgot password? Click here to reset