Get it on Google Play
New! Download Unionpedia on your Android™ device!
Faster access than browser!

Model checking

Index Model checking

In computer science, model checking or property checking refers to the following problem: Given a model of a system, exhaustively and automatically check whether this model meets a given specification. [1]

86 relations: Abstract interpretation, Algebra of Communicating Processes, Algorithm, Alloy (specification language), Amir Pnueli, Artificial intelligence, Automated planning and scheduling, Automated theorem proving, Büchi automaton, Bernhard Steffen (computer scientist), Binary decision diagram, BLAST model checker, Boolean satisfiability problem, Boost (C++ libraries), Cambridge University Press, CHESS model checker, Combinatorial explosion, Communicating sequential processes, Computability theory, Computation tree logic, Computer hardware, Computer science, Construction and Analysis of Distributed Processes, Counterexample, CPAchecker, Crash (computing), Deadlock, Directed graph, Discrete system, Don't-care term, E. Allen Emerson, ECLAIR, Edmund M. Clarke, FDR (software), Finite-state machine, Formal equivalence checking, Formal verification, Gerard J. Holzmann, Glossary of graph theory terms, Hardware description language, Hybrid system, ISP Formal Verification Tool, Iterative deepening depth-first search, Java Pathfinder, Joseph Sifakis, Leslie Lamport, Linear temporal logic, List of model checking tools, Logic, LTSmin, ..., Markov Reward Model Checker, MCRL2, Message Passing Interface, MIT Press, Mutual exclusion, Node (computer science), NuSMV, Orna Grumberg, Partial order reduction, PAT (model checker), Petri net, PRISM model checker, Program analysis, Promela, Propositional calculus, Rabbit Model Checker, Refinement (computing), Romeo Model Checker, Satplan, Software, Software verification, SPIN model checker, State space enumeration, Static program analysis, Structure (mathematical logic), Symbolic execution, Symbolic simulation, Symbolic trajectory evaluation, TAPAAL Model Checker, TAPAs model checker, Temporal logic, TLA+, Turing Award, Uppaal Model Checker, Vereofy, Vertex (graph theory). Expand index (36 more) »

Abstract interpretation

In computer science, abstract interpretation is a theory of sound approximation of the semantics of computer programs, based on monotonic functions over ordered sets, especially lattices.

New!!: Model checking and Abstract interpretation · See more »

Algebra of Communicating Processes

The Algebra of Communicating Processes (ACP) is an algebraic approach to reasoning about concurrent systems.

New!!: Model checking and Algebra of Communicating Processes · See more »


In mathematics and computer science, an algorithm is an unambiguous specification of how to solve a class of problems.

New!!: Model checking and Algorithm · See more »

Alloy (specification language)

In computer science and software engineering, Alloy is a declarative specification language for expressing complex structural constraints and behavior in a software system.

New!!: Model checking and Alloy (specification language) · See more »

Amir Pnueli

Amir Pnueli (אמיר פנואלי; April 22, 1941 – November 2, 2009) was an Israeli computer scientist and the 1996 Turing Award recipient.

New!!: Model checking and Amir Pnueli · See more »

Artificial intelligence

Artificial intelligence (AI, also machine intelligence, MI) is intelligence demonstrated by machines, in contrast to the natural intelligence (NI) displayed by humans and other animals.

New!!: Model checking and Artificial intelligence · See more »

Automated planning and scheduling

Automated planning and scheduling, sometimes denoted as simply AI Planning, is a branch of artificial intelligence that concerns the realization of strategies or action sequences, typically for execution by intelligent agents, autonomous robots and unmanned vehicles.

New!!: Model checking and Automated planning and scheduling · See more »

Automated theorem proving

Automated theorem proving (also known as ATP or automated deduction) is a subfield of automated reasoning and mathematical logic dealing with proving mathematical theorems by computer programs.

New!!: Model checking and Automated theorem proving · See more »

Büchi automaton

In computer science and automata theory, a Büchi automaton is a type of ω-automaton, which extends a finite automaton to infinite inputs.

New!!: Model checking and Büchi automaton · See more »

Bernhard Steffen (computer scientist)

Bernhard Steffen (born 31 May 1958 in Kiel, West Germany) is a German computer scientist and professor at the TU Dortmund University, Germany.

New!!: Model checking and Bernhard Steffen (computer scientist) · See more »

Binary decision diagram

In computer science, a binary decision diagram (BDD) or branching program is a data structure that is used to represent a Boolean function.

New!!: Model checking and Binary decision diagram · See more »

BLAST model checker

The Berkeley Lazy Abstraction Software Verification Tool (BLAST) is a software model checking tool for C programs.

New!!: Model checking and BLAST model checker · See more »

Boolean satisfiability problem

In computer science, the Boolean satisfiability problem (sometimes called propositional satisfiability problem and abbreviated as SATISFIABILITY or SAT) is the problem of determining if there exists an interpretation that satisfies a given Boolean formula.

New!!: Model checking and Boolean satisfiability problem · See more »

Boost (C++ libraries)

Boost is a set of libraries for the C++ programming language that provide support for tasks and structures such as linear algebra, pseudorandom number generation, multithreading, image processing, regular expressions, and unit testing.

New!!: Model checking and Boost (C++ libraries) · See more »

Cambridge University Press

Cambridge University Press (CUP) is the publishing business of the University of Cambridge.

New!!: Model checking and Cambridge University Press · See more »

CHESS model checker

CHESS is a software model checker for finding errors/heisenbugs in multithreaded software by systematic exploration of thread schedules.

New!!: Model checking and CHESS model checker · See more »

Combinatorial explosion

In mathematics, a combinatorial explosion is the rapid growth of the complexity of a problem due to how the combinatorics of the problem is affected by the input, constraints, and bounds of the problem.

New!!: Model checking and Combinatorial explosion · See more »

Communicating sequential processes

In computer science, communicating sequential processes (CSP) is a formal language for describing patterns of interaction in concurrent systems.

New!!: Model checking and Communicating sequential processes · See more »

Computability theory

Computability theory, also known as recursion theory, is a branch of mathematical logic, of computer science, and of the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees.

New!!: Model checking and Computability theory · See more »

Computation tree logic

Computation tree logic (CTL) is a branching-time logic, meaning that its model of time is a tree-like structure in which the future is not determined; there are different paths in the future, any one of which might be an actual path that is realized.

New!!: Model checking and Computation tree logic · See more »

Computer hardware

Computer hardware includes the physical parts or components of a computer, such as the central processing unit, monitor, keyboard, computer data storage, graphic card, sound card and motherboard.

New!!: Model checking and Computer hardware · See more »

Computer science

Computer science deals with the theoretical foundations of information and computation, together with practical techniques for the implementation and application of these foundations.

New!!: Model checking and Computer science · See more »

Construction and Analysis of Distributed Processes

CADP (Construction and Analysis of Distributed Processes) is a toolbox for the design of communication protocols and distributed systems.

New!!: Model checking and Construction and Analysis of Distributed Processes · See more »


In logic, and especially in its applications to mathematics and philosophy, a counterexample is an exception to a proposed general rule or law.

New!!: Model checking and Counterexample · See more »


CPAchecker is a framework and tool for formal software verification, and program analysis, of C programs.

New!!: Model checking and CPAchecker · See more »

Crash (computing)

In computing, a crash (or system crash) occurs when a computer program, such as a software application or an operating system, stops functioning properly and exits.

New!!: Model checking and Crash (computing) · See more »


In concurrent computing, a deadlock is a state in which each member of a group is waiting for some other member to take action, such as sending a message or more commonly releasing a lock.

New!!: Model checking and Deadlock · See more »

Directed graph

In mathematics, and more specifically in graph theory, a directed graph (or digraph) is a graph that is a set of vertices connected by edges, where the edges have a direction associated with them.

New!!: Model checking and Directed graph · See more »

Discrete system

A discrete system is a system with a countable number of states.

New!!: Model checking and Discrete system · See more »

Don't-care term

In digital logic, a don't-care term for a function is an input-sequence (a series of bits) for which the function output does not matter.

New!!: Model checking and Don't-care term · See more »

E. Allen Emerson

Ernest Allen Emerson (born June 2, 1954) is a computer scientist and endowed professor at the University of Texas, Austin, United States.

New!!: Model checking and E. Allen Emerson · See more »


ECLAIR is a commercial static code analysis tool developed by BUGSENG, LLC for automatic analysis, verification, testing and transformation of C and C++ programs.

New!!: Model checking and ECLAIR · See more »

Edmund M. Clarke

Edmund Melson Clarke, Jr. (born July 27, 1945) is an American retired computer scientist and academic noted for developing model checking, a method for formally verifying hardware and software designs.

New!!: Model checking and Edmund M. Clarke · See more »

FDR (software)

FDR (Failures-Divergences Refinement) and subsequently FDR2 are refinement checking software tools, designed to check formal models expressed in Communicating sequential processes (CSP).

New!!: Model checking and FDR (software) · See more »

Finite-state machine

A finite-state machine (FSM) or finite-state automaton (FSA, plural: automata), finite automaton, or simply a state machine, is a mathematical model of computation.

New!!: Model checking and Finite-state machine · See more »

Formal equivalence checking

Formal equivalence checking process is a part of electronic design automation (EDA), commonly used during the development of digital integrated circuits, to formally prove that two representations of a circuit design exhibit exactly the same behavior.

New!!: Model checking and Formal equivalence checking · See more »

Formal verification

In the context of hardware and software systems, formal verification is the act of proving or disproving the correctness of intended algorithms underlying a system with respect to a certain formal specification or property, using formal methods of mathematics.

New!!: Model checking and Formal verification · See more »

Gerard J. Holzmann

Gerard J. Holzmann (born 1951) is a Dutch-born American computer scientist and researcher at Bell Labs and NASA, best known as the developer of the SPIN model checker.

New!!: Model checking and Gerard J. Holzmann · See more »

Glossary of graph theory terms

This is a glossary of graph theory terms.

New!!: Model checking and Glossary of graph theory terms · See more »

Hardware description language

In computer engineering, a hardware description language (HDL) is a specialized computer language used to describe the structure and behavior of electronic circuits, and most commonly, digital logic circuits.

New!!: Model checking and Hardware description language · See more »

Hybrid system

A hybrid system is a dynamical system that exhibits both continuous and discrete dynamic behavior – a system that can both flow (described by a differential equation) and jump (described by a state machine or automaton).

New!!: Model checking and Hybrid system · See more »

ISP Formal Verification Tool

ISP ("In-situ Partial Order") is a tool for the formal verification of MPI programs developed within the School of Computing at the University of Utah.

New!!: Model checking and ISP Formal Verification Tool · See more »

Iterative deepening depth-first search

In computer science, iterative deepening search or more specifically iterative deepening depth-first search (IDS or IDDFS) is a state space/graph search strategy in which a depth-limited version of depth-first search is run repeatedly with increasing depth limits until the goal is found.

New!!: Model checking and Iterative deepening depth-first search · See more »

Java Pathfinder

Java Pathfinder (JPF) is a system to verify executable Java bytecode programs.

New!!: Model checking and Java Pathfinder · See more »

Joseph Sifakis

Joseph Sifakis (Ιωσήφ Σηφάκης) is a Greek computer scientist with French citizenship,, Evangélia Moussouri, in Écarts d'identités n⁰95-96, ISSN 1252-6665, reprinting information from an interview of Joseph Sifakis in Des grecs, les grecs de Grenoble, Musée Dauphinois, laureate of the 2007 Turing Award, along with Edmund M. Clarke and E. Allen Emerson, for his work on model checking.

New!!: Model checking and Joseph Sifakis · See more »

Leslie Lamport

Leslie B. Lamport (born February 7, 1941) is an American computer scientist.

New!!: Model checking and Leslie Lamport · See more »

Linear temporal logic

In logic, linear temporal logic or linear-time temporal logic (LTL) is a modal temporal logic with modalities referring to time.

New!!: Model checking and Linear temporal logic · See more »

List of model checking tools

This article lists model checking tools and gives a synthetic overview their functionalities.

New!!: Model checking and List of model checking tools · See more »


Logic (from the logikḗ), originally meaning "the word" or "what is spoken", but coming to mean "thought" or "reason", is a subject concerned with the most general laws of truth, and is now generally held to consist of the systematic study of the form of valid inference.

New!!: Model checking and Logic · See more »


LTSmin (short for “Minimization and Instantiation of Labelled Transition Systems”) is an award-winning tool-set for manipulation and model checking of state transition systems.

New!!: Model checking and LTSmin · See more »

Markov Reward Model Checker

The Markov Reward Model Checker (MRMC) is a model checker for discrete-time and continuous-time Markov reward models.

New!!: Model checking and Markov Reward Model Checker · See more »


mCRL2 is a specification language for describing concurrent discrete event systems.

New!!: Model checking and MCRL2 · See more »

Message Passing Interface

Message Passing Interface (MPI) is a standardized and portable message-passing standard designed by a group of researchers from academia and industry to function on a wide variety of parallel computing architectures.

New!!: Model checking and Message Passing Interface · See more »

MIT Press

The MIT Press is a university press affiliated with the Massachusetts Institute of Technology (MIT) in Cambridge, Massachusetts (United States).

New!!: Model checking and MIT Press · See more »

Mutual exclusion

In computer science, mutual exclusion is a property of concurrency control, which is instituted for the purpose of preventing race conditions; it is the requirement that one thread of execution never enter its critical section at the same time that another concurrent thread of execution enters its own critical section.

New!!: Model checking and Mutual exclusion · See more »

Node (computer science)

A node is a basic unit used in computer science.

New!!: Model checking and Node (computer science) · See more »


NuSMV is a reimplementation and extension of SMV symbolic model checker, the first model checking tool based on Binary Decision Diagrams (BDDs).

New!!: Model checking and NuSMV · See more »

Orna Grumberg

Orna Grumberg (ארנה גרימברג; born April 30, 1952) is an Israeli computer scientist and academic, the Leumi Chair of Science at the Technion.

New!!: Model checking and Orna Grumberg · See more »

Partial order reduction

In computer science, partial order reduction is a technique for reducing the size of the state-space to be searched by a model checking or Automated planning and scheduling algorithm.

New!!: Model checking and Partial order reduction · See more »

PAT (model checker)

PAT (Process Analysis Toolkit) is a self-contained framework for composing, simulating and reasoning of concurrent, real-time systems and other possible domains.

New!!: Model checking and PAT (model checker) · See more »

Petri net

A Petri net, also known as a place/transition (PT) net, is one of several mathematical modeling languages for the description of distributed systems.

New!!: Model checking and Petri net · See more »

PRISM model checker

PRISM is a probabilistic model checker, a formal verification software tool for the modelling and analysis of systems that exhibit probabilistic behaviour.

New!!: Model checking and PRISM model checker · See more »

Program analysis

In computer science, program analysis is the process of automatically analyzing the behavior of computer programs regarding a property such as correctness, robustness, safety and liveness.

New!!: Model checking and Program analysis · See more »


PROMELA (Process or Protocol Meta Language) is a verification modeling language introduced by Gerard J. Holzmann.

New!!: Model checking and Promela · See more »

Propositional calculus

Propositional calculus is a branch of logic.

New!!: Model checking and Propositional calculus · See more »

Rabbit Model Checker

Rabbit is a model checking tool for real-time systems.

New!!: Model checking and Rabbit Model Checker · See more »

Refinement (computing)

Refinement is a generic term of computer science that encompasses various approaches for producing correct computer programs and simplifying existing programs to enable their formal verification.

New!!: Model checking and Refinement (computing) · See more »

Romeo Model Checker

Roméo is an integrated tool environment for modeling, validation and verification of real-time systems modeled as time Petri Nets or stopwatch Petri Nets, extended with parameters.

New!!: Model checking and Romeo Model Checker · See more »


Satplan (better known as Planning as Satisfiability) is a method for automated planning.

New!!: Model checking and Satplan · See more »


Computer software, or simply software, is a generic term that refers to a collection of data or computer instructions that tell the computer how to work, in contrast to the physical hardware from which the system is built, that actually performs the work.

New!!: Model checking and Software · See more »

Software verification

Software verification is a discipline of software engineering whose goal is to assure that software fully satisfies all the expected requirements.

New!!: Model checking and Software verification · See more »

SPIN model checker

SPIN is a general tool for verifying the correctness of concurrent software models in a rigorous and mostly automated fashion.

New!!: Model checking and SPIN model checker · See more »

State space enumeration

In computer science, state space enumeration are methods that consider each reachable program state to determine whether a program satisfies a given property.

New!!: Model checking and State space enumeration · See more »

Static program analysis

Static program analysis is the analysis of computer software that is performed without actually executing programs.

New!!: Model checking and Static program analysis · See more »

Structure (mathematical logic)

In universal algebra and in model theory, a structure consists of a set along with a collection of finitary operations and relations that are defined on it.

New!!: Model checking and Structure (mathematical logic) · See more »

Symbolic execution

In computer science, symbolic execution (also symbolic evaluation) is a means of analyzing a program to determine what inputs cause each part of a program to execute.

New!!: Model checking and Symbolic execution · See more »

Symbolic simulation

In computer science, a simulation is a computation of the execution of some appropriately modelled state-transition system.

New!!: Model checking and Symbolic simulation · See more »

Symbolic trajectory evaluation

Symbolic trajectory evaluation (STE) is a lattice-based model checking technology that uses a form of symbolic simulation.

New!!: Model checking and Symbolic trajectory evaluation · See more »

TAPAAL Model Checker

TAPAAL is a tool for modelling, simulation and verification of Timed-Arc Petri nets developed at Department of Computer Science at Aalborg University in Denmark and it is available for Linux, Windows and Mac OS X platforms.

New!!: Model checking and TAPAAL Model Checker · See more »

TAPAs model checker

is a tool for specifying and analyzing concurrent systems, its aim is to support teaching of process algebras.

New!!: Model checking and TAPAs model checker · See more »

Temporal logic

In logic, temporal logic is any system of rules and symbolism for representing, and reasoning about, propositions qualified in terms of time.

New!!: Model checking and Temporal logic · See more »


TLA+ (pronounced as tee ell a plus) is a formal specification language developed by Leslie Lamport.

New!!: Model checking and TLA+ · See more »

Turing Award

The ACM A.M. Turing Award is an annual prize given by the Association for Computing Machinery (ACM) to an individual selected for contributions "of lasting and major technical importance to the computer field".

New!!: Model checking and Turing Award · See more »

Uppaal Model Checker

UPPAAL is an integrated tool environment for modeling, validation and verification of real-time systems modeled as networks of timed automata, extended with data types (bounded integers, arrays etc.). The tool has been developed in collaboration between the Design and Analysis of Real-Time Systems group at Uppsala University, Sweden and Basic Research in Computer Science at Aalborg University, Denmark.

New!!: Model checking and Uppaal Model Checker · See more »


Vereofy is a software model checker for component-based systems for operational correctness.

New!!: Model checking and Vereofy · See more »

Vertex (graph theory)

In mathematics, and more specifically in graph theory, a vertex (plural vertices) or node is the fundamental unit of which graphs are formed: an undirected graph consists of a set of vertices and a set of edges (unordered pairs of vertices), while a directed graph consists of a set of vertices and a set of arcs (ordered pairs of vertices).

New!!: Model checking and Vertex (graph theory) · See more »

Redirects here:

Model checker, Model checkers, Model-checker, Model-checking, Modelchecking, Symbolic Model Verification, Symbolic model checking, Symbolic model verification.


[1] https://en.wikipedia.org/wiki/Model_checking

Hey! We are on Facebook now! »