Transformational Verification of Quicksort

08/07/2020
by   Emanuele De Angelis, et al.
0

Many transformation techniques developed for constraint logic programs, also known as constrained Horn clauses (CHCs), have found new useful applications in the field of program verification. In this paper, we work out a nontrivial case study through the transformation-based verification approach. We consider the familiar Quicksort program for sorting lists, written in a functional programming language, and we verify the pre/-postconditions that specify the intended correctness properties of the functions defined in the program. We verify these properties by: (1) translating them into CHCs, (2) transforming the CHCs by removing all list occurrences, and (3) checking the satisfiability of the transformed CHCs by using the Eldarica solver over booleans and integers. The transformation mentioned at Point (2) requires an extension of the algorithms for the elimination of inductively defined data structures presented in previous work, because during one stage of the transformation we use as lemmas some properties that have been proved at previous stages.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
08/24/2017

Verification of Programs via Intermediate Interpretation

We explore an approach to verification of programs via program transform...
research
07/09/2019

Proving Properties of Sorting Programs: A Case Study in Horn Clause Verification

The proof of a program property can be reduced to the proof of satisfiab...
research
08/02/2021

Analysis and Transformation of Constrained Horn Clauses for Program Verification

This paper surveys recent work on applying analysis and transformation t...
research
08/04/2017

Predicate Pairing for Program Verification

It is well-known that the verification of partial correctness properties...
research
11/22/2022

Contract Strengthening through Constrained Horn Clause Verification

The functional properties of a program are often specified by providing ...
research
08/20/2019

Lemma Generation for Horn Clause Satisfiability: A Preliminary Study

It is known that the verification of imperative, functional, and logic p...
research
10/04/2018

Deriving sorting algorithms via abductive logic program transformation

Logic program transformation by the unfold/fold method ad- vocates the w...

Please sign up or login with your details

Forgot password? Click here to reset