Transformational Verification of Quicksort

Guardat en:
Dades bibliogràfiques
Publicat a:arXiv.org (Aug 7, 2020), p. n/a
Autor principal: De Angelis, Emanuele
Altres autors: Fioravanti, Fabio, Proietti, Maurizio
Publicat:
Cornell University Library, arXiv.org
Matèries:
Accés en línia:Citation/Abstract
Full text outside of ProQuest
Etiquetes: Afegir etiqueta
Sense etiquetes, Sigues el primer a etiquetar aquest registre!

MARC

LEADER 00000nab a2200000uu 4500
001 2432246279
003 UK-CbPIL
022 |a 2331-8422 
024 7 |a 10.4204/EPTCS.320.7  |2 doi 
035 |a 2432246279 
045 0 |b d20200807 
100 1 |a De Angelis, Emanuele 
245 1 |a Transformational Verification of Quicksort 
260 |b Cornell University Library, arXiv.org  |c Aug 7, 2020 
513 |a Working Paper 
520 3 |a 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. 
653 |a Translating 
653 |a Algorithms 
653 |a Program verification (computers) 
653 |a Transformations 
653 |a Properties (attributes) 
653 |a Logic programs 
653 |a Functional programming 
653 |a Constraints 
653 |a Data structures 
653 |a Programming languages 
700 1 |a Fioravanti, Fabio 
700 1 |a Proietti, Maurizio 
773 0 |t arXiv.org  |g (Aug 7, 2020), p. n/a 
786 0 |d ProQuest  |t Engineering Database 
856 4 1 |3 Citation/Abstract  |u https://www.proquest.com/docview/2432246279/abstract/embedded/ZKJTFFSVAI7CB62C?source=fedsrch 
856 4 0 |3 Full text outside of ProQuest  |u http://arxiv.org/abs/2008.02934