VSL 2014: VIENNA SUMMER OF LOGIC 2014

Proving Termination and Memory Safety for Programs with Pointer Arithmetic

Authors: Thomas Stroeder, Jürgen Giesl, Marc Brockschmidt, Florian Frohn, Carsten Fuhs, Jera Hensel and Peter Schneider-Kamp

PapersPapers with AbstractsPrefaceAuthor IndexKeyword Index

Paper Information

Title:Proving Termination and Memory Safety for Programs with Pointer Arithmetic
Authors:Thomas Stroeder, Jürgen Giesl, Marc Brockschmidt, Florian Frohn, Carsten Fuhs, Jera Hensel and Peter Schneider-Kamp
Proceedings:IJCAR 2014 LNCS proceedings
Editors: Stéphane Demri, Deepak Kapur and Christoph Weidenbach
Keywords:termination, program analysis, pointer arithmetic, string processing
Abstract:

ABSTRACT. While automated verification of imperative programs has been studied intensively, proving termination of programs with explicit pointer arithmetic is still an open problem. To close this gap, we introduce a novel abstract domain that can track allocated memory in detail. We use it to automatically construct a symbolic execution graph that represents all possible runs of the program. This graph is then transformed into an integer transition system, whose termination can be proved by standard techniques. We implemented this approach in the automated termination prover AProVE and demonstrate its capability of analyzing C programs with pointer arithmetic that existing tools cannot handle.

Pages:15
Talk:Jul 20 15:00
Paper:
Disclaimer | Powered by EasyChair Smart Program