Programm-Verifikation ist ein systematischer Ansatz zum Nachweis der Fehlerfreiheit von Programmen. Dabei wird bewiesen, dass ein vorgegebenes Programm bestimmte wünschenswerte Eigenschaften besitzt. Bei sequentiellen Programmen geht es vor allem um die Ablieferung korrekter Ergebnisse und die Terminierung. Bei Programmen mit parallel ablaufenden Komponenten sind zusätzliche Eigenschaften wie Interferenz-Freiheit, Deadlock-Freiheit und faires Ablaufverhalten wichtig.