Introduction to JML
David Cok, Joe Kiniry, and Erik Poll
Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.1/??
Introduction to JML David Cok, Joe Kiniry, and Erik Poll Eastman - - PowerPoint PPT Presentation
Introduction to JML David Cok, Joe Kiniry, and Erik Poll Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial p.1/ ?? Outline of this tutorial
Eastman Kodak Company, University College Dublin, and Radboud University Nijmegen
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.1/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.2/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.3/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.4/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.4/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.5/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.6/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.7/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.8/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.9/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.10/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.11/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.12/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.13/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.14/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.15/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.16/??
//@ invariant 0<=getBalance() && getBalance()<=MAX_BALANCE;
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.17/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.18/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.19/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.20/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.20/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.20/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.21/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.21/??
Eg, “Invariant violated in line 8000” after 1 minute instead of “NullPointerException in line 2000” after 4 minutes
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.21/??
Eg, “Invariant violated in line 8000” after 1 minute instead of “NullPointerException in line 2000” after 4 minutes
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.21/??
Eg, “Invariant violated in line 8000” after 1 minute instead of “NullPointerException in line 2000” after 4 minutes
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.21/??
jmlrac even checks \forall if the domain of quantification is finite.
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.22/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.23/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.23/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.23/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.23/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.23/??
Null-, ArrayIndexOutOfBounds-, ClassCast-) and verifying
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.23/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.24/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.25/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.26/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.27/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.28/??
include Albert Baker, Clyde Ruby, Curtis Clifton, Yoonsik Cheon, Anand Ganapathy, Abhay Bhorkar, Arun Raghavan, Kristina Boysen, David Behroozi. Katie Becker, Elisabeth Seagren, Brandon Shilling, Katie Becker, Ajani Thomas, and Arthur Thomas.
Flanagan, Mark Lillibridge, Greg Nelson, Raymie Stata, and James Saxe.
JML
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.29/??
David Cok, Joe Kiniry & Erik Poll - ESC/Java2 & JML Tutorial – p.30/??