Software is used in many critical systems in the real world such as autonomous cars and medical devices. Such software must be reliable to protect the general public. One standard way to make reliable software is to use Hoare-style verification techniques. However, for Hoare-style verification of loop correctness, loop invariants are necessary but are difficult for people to write themselves. Since Java is one of the most popular programming languages in the world, it is useful to have a tool to generate loop invariants for Java programs. OpenJML is a widely used program verification tool for Java. However, it does not provide automatic loop invariant generation. Therefore, the problem that this thesis addresses is to automatically generate...
Verifiers that can prove programs correct against their full functional specification require, for p...
10 pagesLoop invariants play a major role in program verification and drastically speed up processes...
AbstractSpecifications that are used in detailed design and in the documentation of existing code ar...
The Java Modeling Language (JML) describes the functional behavior of Java classes and methods using...
peer-reviewedMany automated techniques for invariant generation are based on the idea that the invar...
This paper introduces the use of Graphical Loop Invariant as a programming methodology in a CS1 cour...
The Java Modeling Language (JML) is a behavioral interface specification language designed for speci...
When a system specified using the Vienna Development Method (VDM) is realised using code-generation,...
The Java Modeling Language (JML) is a behavioral interface specification language tailored for speci...
OpenJML is a tool for checking code and specifications of Java programs. We describe our experi-ence...
This is a tutorial paper on using KeY to demonstrate formal verification of state-of-the-art, real s...
The Java Modeling Language (JML) is a formal behavioral interface specification language (BISL) for ...
We describe symbol elimination and consequence finding in the first-order theorem prover Vampire for...
Abstract—Acceleration is a technique for summarising loops by computing a closed-form representation...
Specifications that are used in detailed design and in the documentation of existing code are primar...
Verifiers that can prove programs correct against their full functional specification require, for p...
10 pagesLoop invariants play a major role in program verification and drastically speed up processes...
AbstractSpecifications that are used in detailed design and in the documentation of existing code ar...
The Java Modeling Language (JML) describes the functional behavior of Java classes and methods using...
peer-reviewedMany automated techniques for invariant generation are based on the idea that the invar...
This paper introduces the use of Graphical Loop Invariant as a programming methodology in a CS1 cour...
The Java Modeling Language (JML) is a behavioral interface specification language designed for speci...
When a system specified using the Vienna Development Method (VDM) is realised using code-generation,...
The Java Modeling Language (JML) is a behavioral interface specification language tailored for speci...
OpenJML is a tool for checking code and specifications of Java programs. We describe our experi-ence...
This is a tutorial paper on using KeY to demonstrate formal verification of state-of-the-art, real s...
The Java Modeling Language (JML) is a formal behavioral interface specification language (BISL) for ...
We describe symbol elimination and consequence finding in the first-order theorem prover Vampire for...
Abstract—Acceleration is a technique for summarising loops by computing a closed-form representation...
Specifications that are used in detailed design and in the documentation of existing code are primar...
Verifiers that can prove programs correct against their full functional specification require, for p...
10 pagesLoop invariants play a major role in program verification and drastically speed up processes...
AbstractSpecifications that are used in detailed design and in the documentation of existing code ar...