Proving False in Object-Oriented Verification Programs by Exploiting Non-Termination

12/05/2022
by   Jaymon Furniss, et al.
0

We looked at three different object-oriented program verifiers: Gobra, KeY, and Dafny. We show that all three can be made to prove false by using a simple trick with ghost variable declaration and non-terminating code. This shows that verifiers for these languages can produce unsound results without much difficulty and that this is possibly common throughout all OO verifiers.

READ FULL TEXT

page 1

page 2

page 3

research
05/27/2019

Proving Non-Termination via Loop Acceleration

We present the first approach to prove non-termination of integer progra...
research
06/06/2019

Dynamically Allocated Memory Verification in Object-Oriented Programs using Prolog

A Prolog-based framework for fully automated verification currently unde...
research
07/27/2021

So You Want to Analyze Scheme Programs With Datalog?

Static analysis approximates the results of a program by examining only ...
research
11/26/2019

GOOL: A Generic Object-Oriented Language (extended version)

We present GOOL, a Generic Object-Oriented Language. It demonstrates tha...
research
09/14/2017

Structural Resolution for Abstract Compilation of Object-Oriented Languages

We propose abstract compilation for precise static type analysis of obje...
research
09/19/2023

Modular Analysis of Distributed Hybrid Systems using Post-Regions (Full Version)

We introduce a new approach to analyze distributed hybrid systems by a g...
research
08/27/2018

AutoAlias: Automatic Variable-Precision Alias Analysis for Object-Oriented Programs

The aliasing question (can two reference expressions point, during an ex...

Please sign up or login with your details

Forgot password? Click here to reset