Formal Verification
Formale Verifikation verwendet mathematische Methoden, um zu beweisen, dass ein Programm seine Spezifikation erfüllt, und liefert damit stärkere Korrektheitsgarantien als Tests.
Zweck
Mathematische Korrektheitsbeweise für sicherheitskritische Systeme liefern und ganze Defektklassen ausschließen.
Mechanismus
Methoden: Theorembeweisen (Coq/Isabelle), Model Checking und abstrakte Interpretation. Erfordert eine formale Spezifikation (Vor-/Nachbedingungen, Invarianten). Beweist, dass das Programm die Spezifikation erfüllt. Aufwendig, aber in Luftfahrt, Kernels und Kryptographie eingesetzt.
Anwendungsfälle
- Sicherheitskritische Software
- Kernel-Verifikation
- Kryptographische Beweise