In software engineering, what kind of notation do formal methods predominantly…
2021
In software engineering, what kind of notation do formal methods predominantly use?
- A.
textual
- B.
diagrammatic
- C.
mathematical
- D.
computer code
Attempted by 139 students.
Show answer & explanation
Correct answer: C
Answer: Formal methods predominantly use mathematical notation.
Why: Mathematical notation (for example, logic, set theory, algebraic and predicate-based specifications) gives precise, unambiguous semantics. That precision is what enables rigorous reasoning, proofs of correctness, and automated techniques like model checking.
Precise semantics: Formal expressions can be given exact meanings so there is no ambiguity.
Supports verification: The mathematical basis allows proof-based verification and automated analysis (e.g., model checking).
Examples: Z, VDM, B, Alloy, and TLA+ are specification languages grounded in mathematical notation.
Contrast: Natural language is informal and ambiguous; diagrams can be helpful but are often informal unless given formal semantics; computer code is an implementation rather than a high-level formal specification.
Quick tip: Think of "formal" as referring to formal mathematics — precise symbols and rules you can reason about, not ordinary prose or sketches.
A video solution is available for this question — log in and enroll to watch it.