Deductive Program Analysis with First-Order Theorem Provers
Doktorsavhandling, 2019

Software is ubiquitous in nearly all aspects of human life, including safety-critical activities. It is therefore crucial to analyze programs and provide strong guarantees that they perform as expected. Automated theorem provers are increasingly popular tools to assist in this task, as they can be used to automatically discover and prove some semantic properties of programs. This thesis explores new ways to use automated theorem provers for first-order logic in the context of program analysis and verification.

Firstly, we present a first-order logic encoding of the semantics of imperative programs containing loops. This encoding can be used to express both functional and temporal properties of loops, and is particularly suited to program analysis with an automated theorem prover. We employ it to automate functional verification, termination analysis and invariant generation for iterative programs operating over arrays.

Secondly, we describe how to extend theorems provers based on the superposition calculus to reason about datatypes and codatatypes, which are central to many programs. As the first-order theory of datatypes and codatatypes does not have a finite axiomatization, traditional means to perform theory reasoning in superposition-based provers cannot be used. We overcome this by introducing theory extensions as well as augmenting the superposition calculus with new rules.

Automated theorem proving

Program semantics

Program Verification

Program analysis

Automated reasoning

First-order logic

Lecture hall EA, EDIT building, Rännvägen 6B, Chalmers University of Technology
Opponent: Pascal Fontaine, Université de Lorraine, France

Författare

Simon Robillard

Chalmers, Data- och informationsteknik, Formella metoder

An Inference Rule for the Acyclicity Property of Term Algebras

Proceedings of the 4th Vampire Workshop,; Vol. 53(2018)p. 20-32

Paper i proceeding

Loop Analysis by Quantification over Iterations

EPiC Series in Computing,; Vol. 57(2018)p. 381-399

Paper i proceeding

Superposition with Datatypes and Codatatypes

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),; Vol. 10900(2018)p. 370-387

Paper i proceeding

Coming to Terms with Quantified Reasoning

SIGPLAN Notices (ACM Special Interest Group on Programming Languages),; Vol. 52(2017)p. 260-270

Paper i proceeding

Reasoning About Loops Using Vampire in KeY

Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics),; Vol. 9450(2015)p. 434-443

Paper i proceeding

Styrkeområden

Informations- och kommunikationsteknik

Ämneskategorier

Filosofi

Datavetenskap (datalogi)

Datorsystem

ISBN

978-91-7905-106-8

Doktorsavhandlingar vid Chalmers tekniska högskola. Ny serie: 4573

Utgivare

Chalmers

Lecture hall EA, EDIT building, Rännvägen 6B, Chalmers University of Technology

Opponent: Pascal Fontaine, Université de Lorraine, France

Mer information

Senast uppdaterat

2019-05-03