<div class="csl-bib-body">
<div class="csl-entry">Georgiou, P. (2024). <i>Towards automating induction for software verification : guiding inductive reasoning in superposition-based theorem proving</i> [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2024.123801</div>
</div>
-
dc.identifier.uri
https://doi.org/10.34726/hss.2024.123801
-
dc.identifier.uri
http://hdl.handle.net/20.500.12708/198866
-
dc.description.abstract
This thesis explores automating inductive reasoning for software verification of programs containing loops, arrays and recursive function calls. We propose new methods of automating induction in first-order theorem proving based on the superposition calculus allowing forfully automated verification using theorem proving for such programs. In the first part of the thesis, we explore induction in trace logic, an instance of many-sorted first-order logic with theories. We propose two methodologies to handle inductive loop reasoning in trace logic and implement our work in the RAPID verification framework and the underlying saturation prover VAMPIRE. In our first approach, we extend trace logic program semantics with so-called trace lemmas. Trace lemmas express common properties over programs with loops, integers and unbounded arrays based on bounded induction over timepoints. We identify a set of trace lemmas for such programs. These lemmas help the automated theorem prover with inductive reasoning and enable the full automation of proofs of such programs. Furthermore, we reduce reliance on trace lemmas by introducing bounded induction over timepoints directly in the underlying theorem prover. That is, we extend the saturation-based prover with two inductive inferences specific to reasoning in trace logic, namely multi-clause goal induction and array mapping induction, for lemmaless reasoning over loop iterations. Both inference rules enable the prover to derive safety properties over programs with loops, arrays and integers without the need of a priori trace lemma reasoning.The second part of the thesis deals with program semantics and inductive reasoning for recursive programs. Specifically, we formalize functional program semantics in many-sorted first order logic and showcase our approach by proving common sorting algorithms correct. To this end, we extend the saturation prover VAMPIRE with specific structural induction rules based on lists parameterized by any sort that allows for a linear order, namely computation induction. Based on this methodology we provide a fully automated correctness proof of the recursive Quicksort algorithm among other sorting algorithms.
en
dc.language
English
-
dc.language.iso
en
-
dc.rights.uri
http://rightsstatements.org/vocab/InC/1.0/
-
dc.subject
Formal verification
en
dc.subject
software verification
en
dc.subject
automated program analysis
en
dc.subject
automated theorem proving
en
dc.subject
first-order theorem proving
en
dc.subject
saturation-based theorem proving
en
dc.title
Towards automating induction for software verification : guiding inductive reasoning in superposition-based theorem proving
en
dc.type
Thesis
en
dc.type
Hochschulschrift
de
dc.rights.license
In Copyright
en
dc.rights.license
Urheberrechtsschutz
de
dc.identifier.doi
10.34726/hss.2024.123801
-
dc.contributor.affiliation
TU Wien, Österreich
-
dc.rights.holder
Pamina Georgiou
-
dc.publisher.place
Wien
-
tuw.version
vor
-
tuw.thesisinformation
Technische Universität Wien
-
dc.contributor.assistant
Weissenbacher, Georg
-
tuw.publication.orgunit
E192 - Institut für Logic and Computation
-
dc.type.qualificationlevel
Doctoral
-
dc.identifier.libraryid
AC17228541
-
dc.description.numberOfPages
110
-
dc.thesistype
Dissertation
de
dc.thesistype
Dissertation
en
dc.rights.identifier
In Copyright
en
dc.rights.identifier
Urheberrechtsschutz
de
tuw.advisor.staffStatus
staff
-
tuw.assistant.staffStatus
staff
-
tuw.advisor.orcid
0000-0002-8299-2714
-
item.languageiso639-1
en
-
item.openairetype
doctoral thesis
-
item.openairecristype
http://purl.org/coar/resource_type/c_db06
-
item.grantfulltext
open
-
item.cerifentitytype
Publications
-
item.fulltext
with Fulltext
-
item.mimetype
application/pdf
-
item.openaccessfulltext
Open Access
-
crisitem.author.dept
E192-04 - Forschungsbereich Formal Methods in Systems Engineering