Automated Termination Analysis for Programs with Pointer Arithmetic

Marc Brockschmidt, Florian Frohn, Carsten Fuhs, Jera Hensel, Peter Schneider–Kamp · 2014

Abstract. Proving termination automatically for programs with ex-plicit 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 and that can be used to prove memory safety. This graph is then transformed into an integer transition system, whose termination can be proved by standard tech-niques. 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. 1

Read the paper · More papers on PaperTik