Content area

Abstract

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.

Details

1009240
Title
Transformational Verification of Quicksort
Publication title
arXiv.org; Ithaca
Publication year
2020
Publication date
Aug 7, 2020
Section
Computer Science
Publisher
Cornell University Library, arXiv.org
Source
arXiv.org
Place of publication
Ithaca
Country of publication
United States
University/institution
Cornell University Library arXiv.org
e-ISSN
2331-8422
Source type
Working Paper
Language of publication
English
Document type
Working Paper
Publication history
 
 
Online publication date
2020-08-10
Milestone dates
2020-08-07 (Submission v1)
Publication history
 
 
   First posting date
10 Aug 2020
ProQuest document ID
2432246279
Document URL
https://www.proquest.com/working-papers/transformational-verification-quicksort/docview/2432246279/se-2?accountid=208611
Full text outside of ProQuest
Copyright
© 2020. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.
Last updated
2020-08-11
Database
ProQuest One Academic