Coordinatore | ROBERTO GIACOBAZZI | |
Titolo della Ricerca | CERTIFICAZIONE AUTOMATICA DI PROGRAMMI MEDIANTE INTERPRETAZIONE ASTRATTA | |
Finanziamento assegnato | M£ 271 , Euro 139959,820 | |
Rd+Ra | M£ 140 , Euro 72303,966 (dichiarata) | |
Durata | 24 mesi | |
Obiettivo della Ricerca |
|
Innovazione rispetto allo stato dell'arte nel campo |
|
Criteri di verificabilità |
1) Possibilita' di integrazione di tecnologie differenti per la certificazione di programmi. |
2) Sviluppo di metodologie per la costruzione sistematica di strumenti di analisi indipendenti dal linguaggio di programmazione considerato. |
3) Possibilita' di controllare la fase di progetto dell'interpretazione astratta nei termini della precisione richiesta e dei costi. |
4) Migliori risultati in termini di precisione, modularita' e astrazione rispetto ad altre metodologie. |
Unità di Ricerca
1] Unità di Universita' degli Studi di VERONA | Responsabile Roberto GIACOBAZZI |
Rd+Ra M£ 33 , Euro 17043,078 (dichiarata) |
Finanziamento M£ 71 , Euro 36668,440 |
Compito |
In questo progetto prevediamo di contribuire nei seguenti campi principali:
|
2] Unità di Universita' degli Studi di PARMA | Responsabile Gianfranco ROSSI |
Rd+Ra M£ 18 , Euro 9296,224 (dichiarata) |
Finanziamento M£ 38 , Euro 19625,362 |
Compito |
L'Unita' di Parma si propone di continuare ed approfondire le ricerche inerenti l'analisi di aliasing, la definizione di linguaggi con vincoli insiemistici ed il loro utilizzo nell'analisi di programmi basata su insiemi. Per quanto riguarda l'analisi di aliasing ci si propone di portarla a livelli di precisione ed efficienza superiori a quelli odierni. E` chiaro che l'aspetto della precisione e` molto importante nel campo della certificazione di programmi. Piu` importante di quanto non lo sia, ad esempio, nel campo della compilazione ottimizzata: un fatto e` un'opportunita` di ottimizzazione mancata; altra cosa e` il non riuscire a produrre certificati per i programmi analizzati, richiedendo cosi` l'intervento diretto dell'utente. In questo progetto studieremo l'applicazione dell'analisi di aliasing, mirata alla certificazione di programmi per "agenti mobili" scritti in linguaggi logici (con vincoli). Per quanto riguarda i vincoli insiemistici ci si pone come primo obiettivo lo studio e la definizione di domini astratti di tipo insiemistico e lo sviluppo di techniche di analisi di programmi basate sull'utilizzo di tali domini che permettano di ottenere forme di "set-based analysis" piu' generali e flessibili di quelle attualmente descritte in letteratura. Un ulteriore obiettivo che ci si pone in questo contesto e' lo sviluppo di un linguaggio logico con insiemi che permetta la definizione e manipolazione delle astrazioni insiemistiche previste dalle tecniche di analisi sviluppate al punto precedente, con particolare riferimento alle possibilita' di analisi di soddisfacibilita' dei vincoli insiemistici derivanti dall'applicazione delle tecniche stesse. Infine, utilizzando il linguaggio logico sviluppato, si intende realizzare semplici strumenti di analisi di programmi basati sulle tecniche di "set-based analysis" definite. |
3] Unità di Universita' "Ca' Foscari" di VENEZIA | Responsabile Agostino CORTESI |
Rd+Ra M£ 23 , Euro 11878,509 (dichiarata) |
Finanziamento M£ 44 , Euro 22724,104 |
Compito |
Il programma di ricerca di questa unita' si concentrera' sul conseguimento dei seguenti obiettivi. (1) La caratterizzazione delle proprieta' comportamentali di programmi che sono particolarmente significative rispetto alle problematiche di sicurezza, come segretezza, integrita', e autenticita' dei dati, e di certificazione, come l'uso di risorse e consistenza rispetto ai tipi, con particolare enfasi su quelle che possono trarre beneficio da tecniche di analisi statica. (2) La definizione formale delle relazioni tra le diverse tecniche di analisi statica al fine di definire un framework unificante, all'interno del quale tali diverse tecniche possano essere combinate e integrate. (3) Lo studio di opportune semantiche che permettano di catturare diversi modelli di computazione e le loro proprieta'. Questo studio sara' il piu' possibile indipendente da particolari linguaggi. (4) Lo sviluppo di domini che possano approssimare queste proprieta' (per lo piu' indecidibili). La progettazione di domini astratti per l'analisi e la verifica di programmi sara' basata su opportune strutture dati che possano garantire l'efficienza dell'implementazione, ad esempio mediante strutture dati basate su grafi. Come passo successivo, applicheremo a tali domini gli operatori di composizione e scomposizione e gli operatori di confronto, cosi' da fornire gli strumenti per modulare l'accuratezza e l'efficienza dell'analisi a seconda dei diversi contesti di applicazione. (5) Lo sviluppo del prototipo di analizzatori astratti per la certificazione di protocolli e di codice intermedio (bytecode) generato da programmi Java. |
4] Unità di Universita' di PISA | Responsabile Roberto BARBUTI |
Rd+Ra M£ 42 , Euro 21691,190 (dichiarata) |
Finanziamento M£ 71 , Euro 36668,440 |
Compito |
L'unita' di Pisa intende partecipare al progetto in particolare nei segienti ambiti di ricerca:
|
5] Unità di Universita' degli Studi di UDINE | Responsabile Moreno FALASCHI |
Rd+Ra M£ 24 , Euro 12394,966 (dichiarata) |
Finanziamento M£ 47 , Euro 24273,474 |
Compito |
Intendiamo studiare un framework generale per il debugging dichiarativo di programmi logico funzionali, che sia valido sia per programmi 'eager' che per programmi 'lazy'. Partiremo dai risultati generali sviluppati in letteratura ed all'interno di questo progetto riguardo alla certificazione di sicurezza ed applicheremo tecniche di interpretazione astratta per definire dei metodi per il debugging composizionale di programmi mediante un'approssimazione della loro semantica. Altre due aree in cui il gruppo di Udine sarà attivo sono quelle relative alla soluzione di vincoli ed alla definizione, lo studio, e l'analisi di linguaggi per la specifica e la verifica di sistemi in tempo reale. Per quanto riguarda i linguaggi temporali, Udine prevede lo studio della connessione tra queste idee e la nozione di granularità temporale. Questa nozione, che risulta specialmente adeguata in situazioni in cui si devono prendere in considerazione contemporaneamente scale temporali diverse, sara' studiata dal punto di vista dello sviluppo di adeguati strumenti per l'analisi statica e la verifica automatica di sistemi reattivi. Intendiamo quindi applicare le tecniche di verifica così determinate alla verifica di agenti mobili in sistemi reattivi. Inoltre Udine sviluppera' le possibilità offerte dalla programmazione in un linguaggio logico funzionale per definire codice mobile e contemporaneamente fornire le basi al linguaggio per la specifica delle proprietà da testare, come avviene nel caso dei sistemi proof carrying code (PCC). I vantaggi dovrebbero derivare dal fatto che la componente funzionale permetterebbe la specifica di proprietà in modo simile ai PCC, mentre la componente logica dovrebbe fornire la base per la definizione di appropriati dimostratori di proprietà.
|