Programmverifikation
Programmverifikation bezeichnet Verfahren zur mathematischen Bestätigung, dass ein Programm eine gegebene Spezifikation erfüllt. Im Gegensatz zur reinen Ausführungstests zielt sie darauf ab, Korrektheit unabhängig von Laufzeitverhalten zu beweisen. Sie gehört zu den formalen Methoden der Softwareentwicklung und wird insbesondere dort eingesetzt, wo Fehler gravierende Folgen haben können.
Zu den gängigen Ansätzen gehören die deduktive Verifikation (Beweisführung mit logischen Spezifikationen, Hoare-Triple, Vorbedingungen, Nachbedingungen und
Verifikation ergänzt oder ersetzt Tests in sicherheitskritischen Bereichen, in denen Zuverlässigkeit unabdingbar ist, etwa in Luftfahrt,
Die Programmverifikation sieht sich mit grundlegenden Grenzen konfrontiert: Allgemeine Verifikation ist unentscheidbar, und die Zustands- oder
Historisch entwickelte sich die Programmverifikation aus den formalen Methoden der 1960er Jahre. Gegenwart wird sie in