Proving Termination of Programs with Bitvector Arithmetic by Symbolic Execution
Proving Termination of Programs with Bitvector Arithmetic by Symbolic Execution
复制标题
通过符号执行用位向量算术证明程序的终止
DOI:
10.1007/978-3-319-41591-8_16
复制
发表时间:
2016
期刊:
影响因子:
--
通讯作者:
Thomas Ströder
中科院分区:
文献类型:
--
作者:
Jera Hensel;J. Giesl;Florian Frohn;Thomas Ströder
In earlier work, we developed an approach for automated termination analysis of C programs with explicit pointer arithmetic, which is based on symbolic execution. However, similar to many other termination techniques, this approach assumed the program variables to range over mathematical integers instead of bitvectors. This eases mathematical reasoning but is unsound in general. In this paper, we extend our approach in order to handle fixed-width bitvector integers. Thus, we present the first technique for termination analysis of C programs that covers both byte-accurate pointer arithmetic and bit-precise modeling of integers. We implemented our approach in the automated termination prover AProVE and evaluate its power by extensive experiments.