Vai al contenuto| Home page|

   Ti trovi in: HOME »Programmi, progetti e risultati »I progetti »PRIN - Programmi di ricerca di Rilevante Interesse Nazionale»Programma di ricerca»Unità di ricerca
INIZIO_TESTO_DA_INDICIZZARE

UNITA' DI RICERCA

italiano - english
Bibliografia
[AB02] M. Abadi, B. Blanchet. Analyzing security protocols with secrecy types and logic programs. In Proc. 29th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, 2002.

[AG99] M. Abadi, A. Gordon. A calculus for cryptographic protocols: the spi-calculus. Information and Computation 148(4):1-70, 1999.

[BCGR00] S. Bistarelli, P. Codognet, Y. Georget, F. Rossi. Abstracting soft constraints. In Proc. 1999 ERCIM/Compulog Net workshop on Constraints, Springer LNAI 1865, 2000.

[BCR00] S. Bistarelli, P. Codognet, F. Rossi. An Abstraction Framewor for Soft Constraints, and Its Relationship with Constraint Propagation. In Proc. Symposium on Abstraction, Reformulation, and Approximation (SARA2000), Springer LNAI 1864, 2000.

[BCR02] S. Bistarelli, P. Codognet, F. Rossi. Abstracting Soft Constraints: Framework, Properties, Examples. Artificial Intelligence Journal, 139, 2002.

[BDNN01] C. Bodei, P. Degano, F. Nielson, H. Riis Nielson. Static analysis for the pi-calculus with application to security. Information and Computation, 165:68-92, 2001.

[BMR97] S. Bistarelli, U. Montanari, F. Rossi. Semiring-based Constraint Solving and Optimization. Journal of the ACM, 44(2), 1997.

[BMR01] S. Bistarelli, U. Montanari, F. Rossi. Semiring-based Constraint Logic Programming: Syntax and Semantics. ACM Transactions on Programming Languages and Systems 23(1), 2001.

[BPR04] S. Bistarelli, I. Pilan, F. Rossi. Abstracting Soft Constraints: Some Experimental Results. In "Recent Advances in Constraints, 2003", Springer LNAI 3010, 2004.

[CC99] P. Cousot, R. Cousot. Refining model checking by abstract interpretation. Automated Software Engineering, 6:69-95, 1999.

[CC00] P. Cousot, R. Cousot. Temporal abstract interpretation. In Proc. 27th ACM POPL, pp. 12-25, 2000.

[CC02] P. Cousot, R. Cousot. On abstraction in software verification. In Proc. CAV'02, LNCS 2404, 37-56, 2002.

[CES86] E.M. Clarke, E.A. Emerson, A.P. Sistla. Automatic Verification of Finite-State Concurrent Systems Using Temporal Logic Specifications. ACM TOPLAS 8(2):244-263, 1986.

[CFG03] L. Colussi, G. File', A. Griggio. Precise analysis of the pi-calculus in cubic time. Preprint no. 20, Dept. of Pure and Applied Mathematics, University of Padova, November 2003.

[CFHKQST03] E.M. Clarke, A. Fehnker, Z. Han, B.H. Krogh, J. Ouaknine, O. Stursberg, M. Theobald. Abstraction and Counterexample-Guided Refinement in Model Checking of Hybrid Systems. Int. J. Found. Comput. Sci. 14(4):583-604, 2003.

[CGJLV00] E.M. Clarke, O. Grumberg, S. Jha, Y. Lu, H. Veith. Counterexample-Guided Abstraction Refinement. In Proc. CAV'00, LNCS 1855, 154-169, 2000.

[CGJLV01] E.M. Clarke, O. Grumberg, S. Jha, Y. Lu, H. Veith. Progress on the State Explosion Problem in Model Checking. In Informatics - 10 Years Back, 10 Years Ahead. LNCS 2000, 176-194, 2001.

[CGJLV03] E.M. Clarke, O. Grumberg, S. Jha, Y. Lu, H. Veith. Counterexample-guided abstraction refinement for symbolic model checking. J. ACM, 50(5):752--794, 2003.

[CGL94] E.M. Clarke, O. Grumberg, D.E. Long. Model checking and abstraction. ACM Trans. on Program. Lang. and Syst., 19(5):1512-1542, 1994.

[CGP99] E.M. Clarke, O. Grumberg, D.A. Peled. Model Checking. The MIT Press, 1999.

[CJLV02] E.M. Clarke, S. Jha, Y. Lu, H. Veith. Tree-Like Counterexamples in Model Checking. In Proc. IEEE LICS'02, pp. 19-29, 2002.

[Cou96] P. Cousot. Abstract interpretation. ACM Comput. Surveys 28(2):324-328, 1996.

[DFP93] D. Dubois, H. Fargier, H. Prade. The calculus of fuzzy restrictions as a basis for flexible constraint satisfaction. In Proc. IEEE Int. Conf. on Fuzzy Systems, pp. 1131-1136, 1993.

[DGG97] D. Dams, R. Gerth, O. Grumberg. Abstract Interpretation of Reactive Systems. ACM TOPLAS 19(2):253-291, 1997.

[Fer01] J. Feret. Occurrence counting analysis for the pi-calculus. In Proc. GETCO 2000, ENTCS 39, 2001.

[GQ01] R. Giacobazzi, E. Quintarelli. Incompleteness, counterexamples and refinements in abstract model-checking. In Proc. of the 8th International Static Analysis Symposium SAS'01, LNCS vol. 2126, pp. 356-373, Springer, 2001.

[GR02] R. Giacobazzi, F. Ranzato. States vs. traces in model checking. In Proc. SAS'02, LNCS 2477, pp. 461-476, 2002.

[GRS00] R. Giacobazzi, F. Ranzato, F. Scozzari. Making abstract interpretations complete. Journal of the ACM, 47(2):361-416, 2000.

[LGSBB95] C. Loiseaux, S. Graf, J. Sifakis, A. Bouajjani, S. Bensalem. Property preserving abstractions for the verification of concurrent systems. Formal Methods in System Design, 6:1-36, 1995.

[LM04] F. Levi, S. Maffeis. On abstract interpretation of Mobile Ambients. Information and Computation 188(2):179-240, 2004.

[Mil99] R. Milner. Communicating and mobile systems: the pi-calculus. Cambridge University Press, 1999.

[NNH99] F. Nielson, H. Riis Nielson, C. Hankin. Principles of Program Analysis. Springer, 1999.

[NNS02] F. Nielson, H. Riis Nielson, H. Seidl. Cryptographic analysis in cubic time. Electr. Notes in Theoretical Computer Science 62, 2002.

[PT87] R. Paige, R.E. Tarjan. Three partition refinement algorithms. SIAM J. Comput., 16(6):973-989, 1987

[Ran02] F. Ranzato. On the completeness of model checking. In Proc. of the 10th European Symp. on Programming (ESOP'01), LNCS 2028, pp. 137-154, 2001.

[RT02] F. Ranzato, F. Tapparo. Making abstract model checking strongly preserving. In Proc. SAS'02, LNCS 2477, pp. 411-427, 2002.

[RT04a] F. Ranzato, F. Tapparo. Strong preservation as completeness in abstract interpretation. In Proc. ESOP'04, LNCS 2986,pp. 18-32, 2004.

[RT04b] F. Ranzato, F. Tapparo. Generalizing the Paige-Tarjan partition refinement algorithm through abstract interpretation. Technical Report, Math. Dept., Univ. Padova, March 2004.

Programma di ricerca

AIDA - Interpretazione Astratta: Progettazione e Applicazioni
Università di riferimento
Università degli Studi di PADOVA - MATEMATICA PURA ED APPLICATA - PADOVA(PD)
Responsabile dell'Unità di ricerca
Francesco RANZATO
Descrizione
Il progetto è strutturato in WorkPackage (WP) che raggruppano aree di studio e di applicazione dell'interpretazione astratte. L'unità di ricerca di Padova contribuirà prevalentemente a WP2, WP5, WP6. Il programma delle attività è il seguente. WP2: Sicurezza Le basi di partenza del WP2 riassunte precedentemente possono condurre a vari risultati interessanti. Task PD-2.1 Il punto (Sic-1) sopra discusso indica che sarebbe interessante definire un'analisi statica del pi-calcolo che sfrutti appieno la semantica delle operazioni eseguite per inferire informazioni precise. Intendiamo seguire questa direzione di ricerca in modo da estendere allo spi-calcolo un'analisi statica precisa ed efficiente che abbiamo recentemente definito per il pi-calcolo [CFG03]. Task PD-2.2 Per quanto concerne il punto (Sic-3) intendiamo modellare esplicitamente (cioè mediante un particolare processo) il contesto peggiore di un protocollo dato. In questo modo il contesto non dovrebbe essere gestito in modo speciale nell'analisi, ma sarebbe sufficiente applicare l'analisi al protocollo assieme al suo contesto peggiore. Task PD-2.3 La modellazione esplicita del contesto peggiore permetterebbe anche di affrontare un problema spesso trascurato. Considerando i messaggi scambiati da un protocollo spesso non si considera che il contesto possa inventare messaggi propri per confondere i principali onesti. L'astrazione del punto (Sic-2) è finora ottenuta assumendo che le copie di termini prodotte dalla replicazione fossero tutte uguali o equivalentemente che avessero tutte lo stesso tipo. In questo modo si ottiene che i termini che possono venir costruiti sono regolari e quindi caratterizzabili in modo finito. Sarebbe importante definire astrazioni che garantiscano comunque la finitezza dell'analisi, ma che siano meno restrittive. Un esempio di un tale approccio è l'analisi del pi-calcolo proposta in [Fer01]. WP5: Vincoli All'interno di questo workpackage ci si propone di studiare le proprietà del framework di interpretazione astratta per vincoli soft e di valutarne l'utilità e la convenienza sia teoricamente che sperimentalmente per varie classi di vincoli soft. Una prima valutazione sperimentale su vincoli fuzzy [DFP93] ha mostrato risultati promettenti [BPR04]. Prevediamo di strutturare la ricerca nei seguenti task. Task PD-5.1 Analizzeremo la metodologia attuale per l'astrazione di vincoli soft [BCR02], studiando le relazioni con altri framework esistenti per l'astrazione di vincoli hard. L'obiettivo è quello di estendere la metodologia in [BCR02] attraverso le caratteristiche più interessanti che appiaono nei framework per l'astrazione di vincoli classici. In particolare studieremo quelle estensioni che permettano di migliorare l'efficienza di un risolutore senza perdere troppa informazione nell'astrazione. Ci si prefigge inoltre di studiare e sviluppare algoritmi per l'astrazione di vincoli soft, basati su computazioni di punto fisso. Task PD-5.2 Implementeremo e valuteremo sperimentalmente gli algoritmi sviluppati nel precedente task per varie classi di vincoli soft. Considereremo sia classi di problemi generati casualmente che problemi reali. Queste classi di vincoli conterranno vari parametri, uno dei quali sarà la struttura dei vincoli soft. Ad esempio, considereremo le classi dei vincoli fuzzy e dei vincoli Max-CSP (dove si massimizza la somma dei pesi dei vincoli), che sono quelle più diffusamente usate e le cui caratteristiche sono estremamente diverse tra loro. WP6: Verifica Automatica Task PD-6.1 Quando una specifica f non è valida su un modello M, un algoritmo di verifica basato su model checking produce un controesempio alla validità di f su M. L'algoritmo di model checking su un modello astratto A produce quindi controesempi astratti. Un controesempio astratto per f su A può essere spurio, cioè un controesempio artificiale per f provocato dall'approssimazione del modello astratto A a cui non corrisponde alcun controesempio reale sul modello concreto M. Clarke et al. [CFHKQST03, CGJLV00, CGJLV03, CJLV02] hanno proposto una tecnica di raffinamento del modello astratto A guidata dai controesempi spuri: [CGJLV03] hanno specificato un algoritmo per testare quando un controesempio T prodotto dal model checker per una specifica f su un modello astratto classico A -- una partizione degli stati del sistema -- è spurio ed un algoritmo di raffinamento del modello astratto A che elimina il controesempio spurio T. Questa metodologia di raffinamento basata su controesempi è completa per un frammento del linguaggio ACTL*. Clarke et al. hanno dimostrato sperimentalmente l'efficacia di questa tecnica di raffinamento su casi di studio complessi. In questo task ci si propone di sfruttare l'approccio generico in [RT04a] per generalizzare la metodologia di raffinamento guidata dai controesempi a modelli astratti generali -- non necessariamente partizioni -- specificati mediante interpretazione astratta e a generici linguaggi induttivi (possibilmente diversi dal frammento di ACTL* in [CGJLV03]). In particolare, ci si prefigge di introdurre una nozione di conotroesempio spurio per modelli astratti generici e quindi un algoritmo che testa se un tale controesempio è spurio. Task PD-6.2 L'algoritmo di Paige-Tarjan [PT87] consiste nell'iterare la seguente operazione: una partizione degli stati corrente Q è rimpiazzata da una partizione raffinata Q' ottenuta da Q sostituendo un blocco B di Q in una coppia di sottoblocchi B1 e B2. Nella terminologia dell'interpretazione astratta questa operazione può essere vista come una "compressione" del dominio astratto corrente rispetto all'unione insiemistica [RT04b]. L'algoritmo generalizzato di Paige-Tarjan [RT04b] per raffinare modelli astratti per la preservazione forte per qualche linguaggio L è basato sull'esistenza di compressori di domini astratti. Sfortunatamente, i compressori raramente esistono. Tuttavia è possibile elevare le tecniche in [GRS00] per raffinare domini astratti per renderli completi ad un ordine superiore e renderle quindi applicabili per trasformare operatori di semplificazione in compressori. Questo task si pone l'obiettivo di usare questa metodologia per definire nuovi operatori di compressione (possibilmente diversi dalla compressione per l'unione insiemistica à la Paige-Tarjan) che possono essere integrati nello schema di algoritmo generalizzato di Paige-Tarjan [RT04b]. Task PD-6.3 Le tecniche precedentemente discusse ottengono la proprietà di preservazione forte del model checking astratto per un linguaggio L raffinando il modello astratto. Questo task si prefigge invece di affrontare il problema sotto una diversa prospettiva. Sia A un modello astratto rispetto ad un modello concreto M che non preserva fortemente un linguaggio L. Supponiamo che L sia un linguaggio definito induttivamente, cioè generato chiudendo le proposizione atomiche per un insieme Op di operatori logici/temporali (ad esempio AND, EX, AX, etc.). Gli operatori che generano un linguaggio possono essere comparati rispetto alla loro precisione: se f1:Pow(State)^n immagine Pow(State) e f2:Pow(State)^m immagine Pow(State) sono le interpretazioni semantiche sugli stati di due operatori logici/temporali allora f1 immagine f2 può essere definito ad esempio puntualmente. L'idea è quindi di modificare sistematicamente (raffinare o semplificare) gli operatori in Op del linguaggio L per ottenere un linguaggio L' tale che il model checking astratto su A preservi fortemente L'. Usando i risultati in [RT04a] questo obiettivo si traduce nel seguente problema generale di interpretazione astratta: dato un dominio astratto A ed una operazione semantica f si tratta di raffinare/semplificare f in modo minimale a f' -- ad esempio rispetto all'ordinamento puntuale tra operazioni -- affinché A diventi completo per f'. Dalla prospettiva del model checking astratto un tale metodo permetterebbe di modificare in modo minimale il linguaggio invece che il modello astratto per ottenere la preservazione forte.