Problem: zur exakten Beantwortung müßte man Code ausführen. (Bsp: Verzweigungen, Schleifen)
while ( .. ) { int x = 3; int y; if ( .. ) { x = 2 * y; } // ?? else { y = 2 * x; } }
Ausweg: Approximation (sichere Vereinfachung) durch abstrakte Interpretation, die Mengen der initialisierten/benutzten/geänderten Variablen je Block berechnet (d. h. als Attribut in Syntaxbaum schreibt)
z. B. bei Verzweigungen beide Wege ,,gleichzeitig`` nehmen
weiteres Beisp. f. abst. Interpretation: Typprüfung