Abstrakte Interpretation



Die abstrakte Interpretation ist eine Methode aus dem Bereich der Programmaalyse .

Soul of abstracts Interpretation ist es Informationen über die Programme der Semantikanalyse , die sich aus dem Programm der Programme und der Erklärung von Schritt nachvollzieht ( Interpretation ).

Bei Abstrakte Interpretation Konzentriert man sich auf Teilaspekte der Ausführung der Anweisungen der, ein Lässt einiges Eine geschickt weg ( Abstraktion ) erhalten letztlich Eine Näherung ein Programmsemantik sterben, sterben aber für den Zweck gewünscht vollkommen ausreichen Scan.

Viele Eigenschaften von Prog Rahmen Angeboten sind nicht berechenbar , berechnet AVW Mann do not understand Programm Angeb, Welches się in Endlich Zeit Mit Endlich Speicherresourcen für Beliebers Programm. Durch Eine Annäherung , auch das weglassen von Einigen Informationen, Kann man Zwar Fragen nach Bestimmt Eigenschaften gar nicht mehr Klarheit Dafür Wird aber andere Eigenschaften in der vergröberten Sicht erst berechenbar.

Das Verfahren wird von Radhia Cousot und Patrick Cousot gegründet .

Beispiel

Ein Compiler- Meeting analysiert, war für eine einzige Rückgabetyp eindimensionale Funktion. Dazu reicht schon ein vergrößertes Nachvollziehen (sprich: abstrakte Interpretation) der Berechnungen.

 Funktion f ()
 x = 4 + 5
 y = x * 3.14
 Rückgabe y

Zum Beispiel kann de Anweisung

 x = 4 + 5

als Berechnung

 int + int

Mein Ergebnistype „int“ für die Variable x wurde genommen. Hier finden Sie Informationen, dass 4 und 5 jeweils ganze Zahlen (auch hier, Typ „int“), was auch interessant ist.

Weiter geht es mit

 y = x * 3,14

wie

 int * real

mit Ergebniswert „real“ aufgefasst würde.

Vollzieht man die Anweisungen in dieser vergößerten Sichtweise, so ist am Schluss klar, welche Art der Rückgabewert hat.

Literatur

  • Prinzipien der Programmanalyse von Flemming Nielson, Hanne R. Nielson und Chris Hankin
  • Patrick Cousot, Radhia Cousot: Statische Verifizierung dynamischer Eigenschaften von Variablen . Technische Mitteilung der Université Scientifique et Medicale Grenoble , November 1975.
  • Patrick Cousot, Radhi Cousot: Abstrakte Interpretation: ein einheitliches Gittermodell für die statische Analyse von Programmen durch den Bau oder Annäherungen von Fixpoint , In Conference Record der Sixth Annual ACM SIGPLAN-SIGACT Symposiums über Prinzipien von Programmiersprachen, Seiten 238-252, Los Angeles , Kalifornien, 1977. ACM Press, New York Online