The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project Sequent calculus Java Card DL Updates The active - - PowerPoint PPT Presentation
The KeY project G abor Angyal Introduction History Material The KeY project JavaCard JML The KeY project Sequent calculus Java Card DL Updates The active statement The Assignment Rule The Rule for if-else G abor Angyal Loops
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
/*@ @ public normal_behavior @ requires idx < int_list.length; @ assignable idx , int_list; @ ensures idx == \old(idx) + 1; @ ensures int_list [\ old(idx )] == v; @*/ p u b l i c void add ( i n t v ) throws Exception { i f ( i d x < i n t l i s t . l e n g t h ) { i n t l i s t [ i d x ] = v ; i d x++; } e l s e throw new Exception ( ” Array i s f u l l . ” ) ; }
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
i n t max value = i n t l i s t [ 0 ] ; i n t i= 0 ; /*@ loop_invariant 0<=i && i<idx && @ (\ forall int j; j >=0 && j<i; int_list[j] <= max_value ); @ assignable max_value , i; */ while ( i < i d x ) { i = i + 1; i n t g = i n t l i s t [ i ] ; i f ( max value < g ) max value = g ; }
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
while ( b ) { d o s t u f f ; } i f ( b ) { d o s t u f f ; } while ( b ) { d o s t u f f ; }
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End
The KeY project G´ abor Angyal Introduction
History Material The KeY project JavaCard JML Sequent calculus
Java Card DL
Updates The active statement The Assignment Rule The Rule for if-else Loops Unwinding while loops Loop Invariants End