Accurate invariant checking for programs manipulating lists and arrays with infinite data

27Citations
Citations of this article
3Readers
Mendeley users who have this article in their library.
Get full text

Abstract

We propose a logic-based framework for automated reasoning about sequential programs manipulating singly-linked lists and arrays with unbounded data. We introduce the logic , which allows combining shape constraints, written in a fragment of Separation Logic, with data and size constraints. We address the problem of checking the entailment between formulas, which is crucial in performing pre-post condition reasoning. Although this problem is undecidable in general for , we propose a sound and powerful procedure that is able to solve this problem for a large class of formulas, beyond the capabilities of existing techniques and tools. We prove that this procedure is complete, i.e., it is actually a decision procedure for this problem, for an important fragment of including known decidable logics. We implemented this procedure and shown its preciseness and its efficiency on a significant benchmark of formulas. © 2012 Springer-Verlag.

Cite

CITATION STYLE

APA

Bouajjani, A., Drǎgoi, C., Enea, C., & Sighireanu, M. (2012). Accurate invariant checking for programs manipulating lists and arrays with infinite data. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 7561 LNCS, pp. 167–182). https://doi.org/10.1007/978-3-642-33386-6_14

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free