Microsoft Store
 

Formal verification


 

In the context of hardware and software systems,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

formal verification is the act of

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

proving or disproving the correctness of a system

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

with respect to a certain formal specification or property,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

using formal methods.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

System types that are considered in the literature for formal verification

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

include finite state machines (FSM),

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

labelled transition systems (LTS) and

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

their compositions,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Petri nets, timed automata and hybrid automata,

Related Topics:
Petri net - Timed automata - Hybrid automata

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

cryptographic protocols,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

combinatorial circuits,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

digital circuits with internal memory,

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

and abstractions of general software components.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

The properties to be verified are often described

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

in temporal logics, such as linear temporal logic (LTL) or computational tree logic (CTL).

Related Topics:
Linear temporal logic - Computational tree logic

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

Usually formal verification is carried out algorithmically.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

The main approaches to implementing formal verification

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

include state space enumeration, symbolic state space enumeration, abstract interpretation,

Related Topics:
State space enumeration - Abstract interpretation

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

abstraction refinement, process-algebraic methods,

Related Topics:
Abstraction refinement - Process-algebraic

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

and reasoning with the aid of automatic theorem provers such as

~ ~ ~ ~ ~ ~ ~ ~ ~ ~

HOL or Isabelle.

Related Topics:
HOL - Isabelle

~ ~ ~ ~ ~ ~ ~ ~ ~ ~