Ströder, T. and Giesl, J. and Brockschmidt, M. and Frohn, F. and Fuhs, Carsten and Hensel, J. and Schneider-Kamp, P. (2014) Proving termination and memory safety for programs with Pointer Arithmetic. In: Demri, S. and Kapur, D. and Weidenbach, C. (eds.) Automated Reasoning. Lecture Notes In Computer Science 8562 8562. New York, U.S.: Springer, pp. 208-223. ISBN 9783319085869.
|
Text
IJCAR14-llvm-pointer.pdf - Author's Accepted Manuscript Download (470kB) | Preview |
Abstract
Proving termination automatically for 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 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 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.
Metadata
Item Type: | Book Section |
---|---|
Additional Information: | Proceedings, 7th International Joint Conference, IJCAR 2014, Held as Part of the Vienna Summer of Logic, VSL 2014, Vienna, Austria, July 19-22, 2014. The final publication is available at Springer via http://dx.doi.org/10.1007/978-3-319-08587-6_15 |
School: | Birkbeck Faculties and Schools > Faculty of Science > School of Computing and Mathematical Sciences |
Depositing User: | Carsten Fuhs |
Date Deposited: | 10 Dec 2015 11:44 |
Last Modified: | 09 Aug 2023 12:37 |
URI: | https://eprints.bbk.ac.uk/id/eprint/13532 |
Statistics
Additional statistics are available via IRStats2.