Presentation is loading. Please wait.

Presentation is loading. Please wait.

Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 Tools for JML jmlc & jmlrac Dat ă primire laborator: Lab 1 Dat ă predare laborator: Lab 2.

Similar presentations


Presentation on theme: "Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 Tools for JML jmlc & jmlrac Dat ă primire laborator: Lab 1 Dat ă predare laborator: Lab 2."— Presentation transcript:

1 Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 Tools for JML jmlc & jmlrac Dat ă primire laborator: Lab 1 Dat ă predare laborator: Lab 2

2 Verificare şi Validarea Sistemelor Soft Extended static checking with ESC/Java Automatically tries to prove simple JML assertions at compile time. checks specs at compile-time proves correctness of specs. Warn about likely runtime exceptions and violations. Runtime assertion checking with jmlc/jmlrac Special compiler inserts runtime tests for all JML assertions. Any assertion violation results in a special exception. checks specs at run-time. only tests correctness of specs. Find violations at runtime. Tools for JML

3 Verificare şi Validarea Sistemelor Soft Runtime assertion checking Normally Compile using javac to get A.class Execute A.class using javac To do JML runtime assertion checking – Compile using jmlc to get A.class (compiles an instrumented version of the code where JML-assertions are explicitly checked) – Execute A.class using jmlrac (translates JML assertions into runtime checks:during execution, all assertions are tested and any violation of an assertion produces an Error) Actually, jmlc is a preprocessor for javac, and jmlrac a wrapper for java. Typically, you use jmlc/jmlrac when testing code. Benefit (we hope) : More errors detected, with less effort.

4 Verificare şi Validarea Sistemelor Soft normal_behavior keyword notes that method should finish normally. behavior keyword notes that there can be an exception thrown. exceptional_behavior states that the method must always terminate with an exception. signals clause can be used to describe under what condition an exception can be thrown. Method specification Specifying Exceptions

5 jmlc and jmlrac - Demo 01: Factorial Exception – Demo02: Integer sqrt jmlc and jmlrac – by example

6 Verificare şi Validarea Sistemelor Soft Temă Laborator 1 Tools for JML jmlc & jmlrac Dată primire laborator: Lab 1 Dată predare laborator: Lab 2 A se vedea fişierul TemaLab01_JML.pdf


Download ppt "Verificare şi Validarea Sistemelor Soft Tem ă Laborator 1 Tools for JML jmlc & jmlrac Dat ă primire laborator: Lab 1 Dat ă predare laborator: Lab 2."

Similar presentations


Ads by Google