# Symbolic Computation and Automated Reasoning for Program Analysis

**Authors:** Laura Kovacs

arXiv: 1704.03202 · 2017-04-17

## TL;DR

This paper explores combining symbolic computation and first-order theorem proving to automate program analysis, inferring properties like loop invariants and handling unbounded data structures with extended theorem proving techniques.

## Contribution

It introduces novel methods integrating computer algebra and extended theorem proving for analyzing complex program properties involving loops and unbounded data structures.

## Key findings

- Effective inference of loop invariants and iteration bounds.
- Extension of first-order theorem provers with inductive reasoning.
- Ability to reason about properties of unbounded data structures.

## Abstract

This talk describes how a combination of symbolic computation techniques with first-order theorem proving can be used for solving some challenges of automating program analysis, in particular for generating and proving properties about the logically complex parts of software. The talk will first present how computer algebra methods, such as Groebner basis computation, quantifier elimination and algebraic recurrence solving, help us in inferring properties of program loops with non-trivial arithmetic. Typical properties inferred by our work are loop invariants and expressions bounding the number of loop iterations. The talk will then describe our work to generate first-order properties of programs with unbounded data structures, such as arrays. For doing so, we use saturation-based first-order theorem proving and extend first-order provers with support for program analysis. Since program analysis requires reasoning in the combination of first-order theories of data structures, the talk also discusses new features in firstorder theorem proving, such as inductive reasoning and built-in boolean sort. These extensions allow us to express program properties directly in first-order logic and hence use further first-order theorem provers to reason about program properties.

## Full text

_Full body text omitted from this summary view._ Fetch the complete paper as Markdown: https://tomesphere.com/paper/1704.03202/full.md

## Figures

2 figures with captions in the complete paper: https://tomesphere.com/paper/1704.03202/full.md

## References

16 references — full list in the complete paper: https://tomesphere.com/paper/1704.03202/full.md

---
Source: https://tomesphere.com/paper/1704.03202