Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Model Checking Blast Motivation - - PowerPoint PPT Presentation
Software Verification with BLAST Daniele Sgandurra Introduction Software Verification with BLAST Model Checking Blast Motivation Rigorous Sofware Development via Model Checking Lazy Abstraction Reachability Tree Seminar Complete
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
#include <stdio.h> #include <stdlib.h> int *a; void myscanf(const char* format, int* arg) { *arg = rand(); } int altInit(int size, int *pval1, int *pval2) { 1: int i, *ptr; 2: a = (int *) malloc(sizeof(int) * (size+1)); 3: if (a == 0) { 4: printf("Memory exhausted."); 5: exit(1); 6: } 7: i = 0; a[0] = *pval1; 8: while(i < size) { 9: i = i + 1; 10: if (i % 2 == 0) { 11: ptr = pval1; 12: } else { 13: ptr = pval2; 14: } 15: a[i] = *ptr; 16: printf("%d. iteration", i); 17: } 18: if (ptr == 0) ERR: ; 19: return *ptr; } int main(int argc, char *argv []) { 20: int *pval=(int *)malloc(sizeof(int)); 21: if (pval == 0) { 22: printf("Memory exhausted."); 23: exit(1); 24: } 25: *pval = 0; 26: while(*pval <= 0) { 27: printf("Give a number: "); 28: myscanf("%d", pval); 29: } 30: return altInit(*pval, pval, pval); }
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
′ in the CFA.
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
addPred: 0: (gui) adding predicate 1<=x@foo- y@foo to the system addPred: 0: (gui) adding predicate 1<=x@foo- y@foo to the system addPred: 1: (gui) adding predicate 1<=x@foo to the system addPred: 1: (gui) adding predicate 1<=x@foo to th the system Adding all preds now... [BAT] Done refiner Non-trivial functions 0 Depth of tree: 7 No error found. The system is safe :-)
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
Software Verification with BLAST Daniele Sgandurra Introduction
Model Checking
Blast
Motivation Lazy Abstraction Reachability Tree
Complete Examples
Example 1 Example 2
Demo
Download and Installation Tutorial
[1] http://mtc.epfl.ch/software-tools/blast/ [2] Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar and Kenneth L. McMillan Abstractions from Proofs. In ACM SIGPLAN-SIGACT Conference on Principles of Programming Languages, 2004. [3] Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala, and Rupak Majumdar The Software Model Checker Blast: Applications to Software Engineering.
[4] Dirk Beyer, Thomas A. Henzinger, and Gregory Theoduloz Lazy Shape Analysis.
pages 532-546, Springer- Verlag, 2006. [5] Dirk Beyer, Thomas A. Henzinger, Ranjit Jhala, and Rupak Majumdar Checking memory safety with BLAST.
2005), LNCS 3442, pages 2-18, Springer-Verlag, 2005. [6] Dirk Beyer, Adam J. Chlipala, Thomas A. Henzinger, Ranjit Jhala, and Rupak Majumdar The BLAST query language for software verification.
[7] Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar and Gregoire Sutre Lazy Abstraction. In ACM SIGPLAN-SIGACT Conference on Principles of Programming Languages, pages 58-70, 2002.