Fields
Formal Methods
Also Known As Formal Verification
Field of Study
Citation Formats
General Reference
APA Style
BibTeX
Formal methods are mathematically rigorous techniques for the specification, development, analysis and verification of software and hardware systems. They apply theoretical computer science foundations to improve system reliability and robustness, comparable to the mathematical analysis used in other engineering disciplines.
Facts
Origin YearTony Hoare's 1969 paper An Axiomatic Basis for Computer Programming, building on Robert Floyd's 1967 work on program semantics, is the field's conventionally cited formal starting point. Core ConcernMathematically specifying and, often with automated tool support, verifying that a software or hardware system meets its intended specification; gained recognition in the 1950s and 1960s through work such as John Backus's formal notation for ALGOL 58 syntax, later formalized as Backus-Naur form. 1 Cross-Tradition Connections
Associated With
Tony Hoare, Pioneers Tony Hoare's 1969 paper An Axiomatic Basis for Computer Programming introduced Hoare logic, a foundational formal system for reasoning about program correctness, already cited on this field's own origin-year fact.
Includes
Sources
1. Wikipedia: Formal Methods
Wikimedia FoundationVerification sectionQuote, Verification section
Formal verification is the use of software tools to prove properties of a formal specification, or to prove that a formal model of a system implementation satisfies its specification.
View the Source 1. Wikipedia: Formal Methods
Wikimedia FoundationHistory sectionQuote, History section
In the ALGOL 58 report, John Backus presented a formal notation for describing programming language syntax, later named Backus normal form then renamed Backus-Naur form (BNF).
View the Source 1. Wikipedia: Formal Methods
Wikimedia FoundationIntroductionQuote, Introduction
In computer science, formal methods are mathematically rigorous techniques for the specification, development, analysis, and verification of software and hardware systems.
View the Source 1. Wikipedia: Formal Methods
Wikimedia FoundationAssociated With: Programming Language Theory, Fundamentals sectionQuote, Associated With: Programming Language Theory, Fundamentals section
Formal methods employ a variety of theoretical computer science fundamentals, including logic calculi, formal languages, automata theory, control theory, program semantics, type systems, and type theory.
View the Source 1. Wikipedia: Formal Methods
Wikimedia FoundationAssociated With: John Backus, Specification sectionQuote, Associated With: John Backus, Specification section
In the ALGOL 58 report, John Backus presented a formal notation for describing programming language syntax, later named Backus normal form then renamed Backus-Naur form (BNF).
View the Source Wikipedia: Tony Hoare
Wikipedia: Robin Milner
Wikimedia FoundationIncludes: Robin Milner, Contributions sectionQuote, Includes: Robin Milner, Contributions section
He developed Logic for Computable Functions (LCF), one of the first tools for automated theorem proving. Milner also developed two theoretical frameworks for analyzing concurrent systems, the calculus of communicating systems (CCS), and its successor, the pi-calculus.
View the Source Reader Challenges (0 open reader challenges)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.
View At A Past Year
The atlas records no dated fact of its own for this entry, so there is no other year to choose.