Interpretazione astratta
# Interpretazione astratta

In informatica, l'interpretazione astratta è una teoria di approssimazione valida della semantica dei programmi, basata su funzioni monotone su insiemi ordinati, in particolare reticoli. Può essere vista come una esecuzione parziale di un programma al fine di raccogliere informazioni sulla sua semantica (per esempio control-flow, data-flow) senza eseguire tutti i calcoli.

La sua applicazione concreta è l'analisi statica, l'estrazione di informazione automatica circa le possibili esecuzioni di programmi; tali analisi hanno due scopi principali:

* all'interno di compilatori, per analizzare programmi al fine di eseguire determinate ottimizzazioni o trasformazioni (per esempio offuscamenti);
* nel debugging o per la certificazione di programmi contro classi di bug.

L'interpretazione astratta fu formalizzata dalla coppia francese Patrick Cousot e Radhia Cousot alla fine del 1970.

