bmc

package
v0.1.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 25, 2021 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package bmc provides bounded model checking support.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type T

type T struct {
	// contains filtered or unexported fields
}

T encapsulates a SAT based bounded model checker.

func New

func New(s *logic.S, bads ...z.Lit) *T

New creates a new bounded model checker for bad states `bads` occuring in `s`.

If `len(bads)==0`, then New panics.

func (*T) DistributeTimeout

func (t *T) DistributeTimeout(d time.Duration)

DistributeTimeout sets the timeout to `d`. If there are `N` bad states in t, then each bad state has timeout set to `d / N`.

func (*T) FillOutput

func (t *T) FillOutput(dst *reach.Output)

FillOutput fills the output object with bads and traces

func (*T) SetBadTimeout

func (t *T) SetBadTimeout(bad z.Lit, d time.Duration)

SetBadTimeout sets a timeout for the bad state `bad`.

SetBadTimeout panics if `bad` was not supplied as a bad state in the call to `New()` that created `t`.

func (*T) SetMaxDepth

func (t *T) SetMaxDepth(d int)

SetMaxDepth sets the maximum depth of subsequent bmc runs.

func (*T) Try

func (t *T) Try(dur time.Duration) int

Try tries to find paths to bad states within the constraints specified earlier (per bad timeout, max depth) and within duration `dur`.

Run returns the number of reachable bad states found.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL