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. This description is adapted from Wikipedia contributors under CC BY-SA 4.0; changes were made. https://creativecommons.org/licenses/by-sa/4.0/
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 Connections
Associated With
Source Wikipedia: Formal Methods
Source Wikipedia: Formal Methods
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.
Source Wikipedia: Tony Hoare
Includes
Source Wikipedia: Robin Milner
Sources
1. Wikipedia: Formal Methods
Wikimedia FoundationVerification 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.
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).
Introduction
In computer science, formal methods are mathematically rigorous techniques for the specification, development, analysis, and verification of software and hardware systems.
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.
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)
No disputes yet. Spotted an error or a better source? Open the first one.
Sign in to dispute this or suggest a correction.