Formal Methods for Verifying Safety-Critical Software Systems

Authors

  • Upamanyu Chatterjee G H Raisoni College of Engineering and Management, Pune, Maharashtra, India Author

DOI:

https://doi.org/10.15662/IJARCST.2022.0505002

Keywords:

Formal Methods, Model Checking, Theorem Proving, Abstract Interpretation, Safety-Critical Software, Formal Specification (Z, B), Verification Workflow

Abstract

Formal methods employ mathematical logic and proofs to verify that safety-critical software functions precisely as intended. Unlike conventional testing, which can miss rare edge cases or subtle behaviors, formal verification ensures a high degree of correctness, providing mathematical assurance against critical failures. Key techniques include model checking, theorem proving, abstract interpretation, and formal specification languages like Z and B. Applications span aerospace (e.g., ARINC 653), automotive (e.g., control systems), and medical devices, where rigorous verification is mandated by certifications such as ISO 26262. This paper systematically reviews pre-2019 literature on the state of the art, evaluates methodologies’ strengths and limitations, and formulates a practical verification workflow. Findings indicate that while modern tools such as SPIN, UPPAAL, Coq, Isabelle, and Astrée dramatically reduce defects, challenges persist—such as the steep learning curve, scalability limitations, and resource intensity. Our proposed workflow includes: formal requirement modeling, property specification, choosing verification techniques, iterative verification and error correction, and integration with certification processes. Benefits include early error detection, provable correctness, and reduced maintenance costs; disadvantages encompass high complexity, tooling limitations, and required domain expertise. In conclusion, formal methods offer unmatched assurance for safety-critical software, but must be judiciously applied to components where error risks are highest. Future research should focus on tool automation, better counterexample explanation, and seamless integration into mainstream software engineering.

References

1. Computer Scientists Close In on Perfect, Hack-Proof Code (DARPA HACMS, formal verification). Wired, 2016WIRED

2. Model Checking, Theorem Proving, Abstract Interpretation overview. Leadvent Group blogleadventgrp.com

3. Formal Methods for Secure Systems: model checking (SPIN, NuSMV), theorem proving (Coq, Isabelle), abstract interpretation (Astrée). MediumMedium

4. Definition & importance: categories and foundations. Kinda Technical blogKinda Technical

5. Determinism, hardware-aware checking, elimination of false positives/negatives.

6. Domain applications and challenges. Advanced Safety Techniques blogNumber Analytics

7. Event-B ARINC 653 formalization uncovering six hidden errors. arXiv, 2015arXiv

8. Formal methods usage stages. CPSC 333 lecture notescs.ccsu.edu

9. Static analysis via abstract interpretation, tools like Klee, CompCert. MDPI surveyMDPI

10. Formal methods overview (model checking, deductive verification). Wikipedia ‘Formal verification’Wikipedia

11. Formal specification advantages, early error detection. TAE blogTutorial and Example

12.Cost-effectiveness and early error savings. Vaia solution blogVaia

13. Formal methods advantages: soundness, reproducibility. Serma blogserma-safety-security.com

14. Tools list: Astrée, Klee, Frama-C, SPARK, etc. Wikipedia tools listWikipedia

Downloads

Published

2022-09-01

How to Cite

Formal Methods for Verifying Safety-Critical Software Systems. (2022). International Journal of Advanced Research in Computer Science & Technology(IJARCST), 5(5), 7105-7109. https://doi.org/10.15662/IJARCST.2022.0505002