La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:

Presentazioni simili


Presentazione sul tema: "Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:"— Transcript della presentazione:

1 Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:

2 Tino CortesiTecniche di Analisi di Programmi 2 Correttezza Per la correttezza dellanalisi sono necessarie le seguenti condizioni:

3 Tino CortesiTecniche di Analisi di Programmi 3 Correttezza locale La condizione di correttezza locale garantisce che il risultato dellapplicazione delloperazione agli elementi astratti s i sia una corretta approssimazione di tutte le operazioni concrete (sugli elementi rappresentati dagli s i ). Per ogni operazione concreta, una operazione astratta corretta ce sempre (quella che restituisce sempre lelemento massimo del dominio astratto)

4 Tino CortesiTecniche di Analisi di Programmi 4 Correttezza locale AA 2D2D 2D2D op

5 Tino CortesiTecniche di Analisi di Programmi 5 Prova di correttezza Proviamo per induzione sulla struttura di e che Passo base:

6 Tino CortesiTecniche di Analisi di Programmi 6 Prova di correttezza Proviamo per induzione sulla struttura di e che Step

7 Tino CortesiTecniche di Analisi di Programmi 7 Correttezza Possiamo definire la correttezza utilizzando lastrazione al posto della concretizzazione:

8 Tino CortesiTecniche di Analisi di Programmi 8 Correttezza Laltra direzione

9 Tino CortesiTecniche di Analisi di Programmi 9 Aggiungere input Il prossimo passo consiste nellestendere il nostro tiny language aggiungendo input. Questo può essere modellato con la presenza di variabili libere nelle espressioni

10 Tino CortesiTecniche di Analisi di Programmi 10 Semantica concreta La firma della funzione semantica diventa quindi Un modo per scrivere questa funzione è pensarla come un insieme di funzioni da Int a Int indicizzate con espressioni

11 Tino CortesiTecniche di Analisi di Programmi 11 Semantica Astratta La semantica astratta è data dalla funzione Come per la semantica concreta, possiamo indicizzare

12 Tino CortesiTecniche di Analisi di Programmi 12 Correttezza Bisogna generalizzare le condizioni di correttezza Le seguenti condizioni sono equivalenti

13 Tino CortesiTecniche di Analisi di Programmi 13 Correttezza locale La correttezza locale la possiamo esprimere mediante la seguenta regola:

14 Tino CortesiTecniche di Analisi di Programmi 14 Prova di correttezza

15 Tino CortesiTecniche di Analisi di Programmi 15 Comando condizionale semantica concreta semantica astratta Si osservi lutilizzo del least upper bound nel dominio astratto

16 Tino CortesiTecniche di Analisi di Programmi 16 Comando condizionale : correttezza Assumiamo che sia vero il primo ramo del comando condizionale (laltro caso si dimostra allo stesso modo).


Scaricare ppt "Tino CortesiTecniche di Analisi di Programmi 1 Astrazione e Concretizzazione In una Interpretazione Astratta ci aspettiamo che il seguente diagramma commuti:"

Presentazioni simili


Annunci Google