Formal methods In computer science, specifically software engineering and hardware engineering, formal methods are a particular kind of mathematically based techniques for the specification, development and verifica... Formal methods - Wikipedia
 Formal methods - Wikipedia
 Sneak circuit analysis Sneak Peek of upcoming solution for Power Delivery Network analysis of Printed Circuit Boards.
 Set theory - Math World
 Life-critical system - Slideshow
 POPLmark challenge - Slideshow
 Abstract data type In computer science, an abstract data type (ADT) is a mathematical model for a certain class of data structures that have similar behaviour; or for certain data types of one or more programming langua...
 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. Autom... Automated theorem proving - Wikipedia
 Logical calculi
 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.... Model checking - Wikipedia
 Model of computation In computability theory and computational complexity theory, a model of computation is the definition of the set of allowable operations used in computation and their respective costs. It is used for ...
 Formal methods organizations
 Formal methods people
 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. Program ana...
 Logic programming Logic programming is a programming paradigm based on formal logic. A program written in a logic programming language is a set of sentences in logical form, expressing facts and rules about some proble...
 Formal methods publications
 Satisfiability problems Satisfiability problems - Wikipedia
 Formal specification In computer science, formal specifications are mathematically based techniques whose purpose are to help with the implementation of systems and software. They are used to describe a system, to analyze...
 Formal methods terminology
 Formal methods tools
 Turing machine A Turing machine is a hypothetical device that manipulates symbols on a strip of tape according to a table of rules. Despite its simplicity, a Turing machine can be adapted to simulate the logic of an... Turing machine - Wikipedia
 Z notation The Z notation /ˈzɛd/ is a formal specification language used for describing and modelling computing systems. It is targeted at the clear specification of computer programs and computer-based systems ... Z notation - Wikipedia
 Life-critical system - Slideshow
 Proof-carrying code Proof-carrying code (PCC) is a software mechanism that allows a host system to verify properties about an application via a formal proof that accompanies the application's executable code. The host s...
 Algorithm examples
 Bisimulation In theoretical computer science a bisimulation is a binary relation between state transition systems, associating systems that behave in the same way in the sense that one system simulates the other a...
 Liskov substitution principle Substitutability is a principle in object-oriented programming. It states that, in a computer program, if S is a subtype of T, then objects of type T may be replaced with objects of type S (i.e., obje...
 Undecidable problem In computability theory and computational complexity theory, an undecidable problem is a decision problem for which it is known to be impossible to construct a single algorithm that always leads to a ...
 Promela PROMELA (Process or Protocol Meta Language) is a verification modeling language introduced by Gerard J. Holzmann. The language allows for the dynamic creation of concurrent processes to model, for exa...
 Negation as failure Negation as failure (NAF, for short) is a non-monotonic inference rule in logic programming, used to derive (i.e. that is assumed not to hold) from failure to derive . Note that can be different f...
 B-Method The B method is a method of software development based on B, a tool-supported formal method based around an abstract machine notation, used in the development of computer software. It was originally d...