Abstract Interpretation
Die abstrakte Interpretation approximiert die Programmsemantik auf einem abstrakten Bereich und beweist zuverlässig Programmeigenschaften (keine Division durch Null, keine Array-Bereichsverletzungen).
Zweck
Zuverlässig beweisen, dass ein Programm frei von einer bestimmten Fehlerklasse ist – eine praktische Approximationsmethode für formale Verifikation.
Mechanismus
Bildet die konkrete Semantik auf einen abstrakten Bereich (Intervalle, Vorzeichen, Oktagone) ab und berechnet den Fixpunkt im abstrakten Bereich. Die Überapproximation garantiert Korrektheit (meldet echte Fehler, kann aber falsche Positive haben). Sonar und Astrée analysieren Flugsteuerungssoftware mit dieser Methode.
Anwendungsfälle
- Formale Verifikation
- Fehlerbeweis
- Sicherheitskritische Software