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

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review

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.

Original languageEnglish
Title of host publicationAutomated Technology for Verification and Analysis - 10th International Symposium, ATVA 2012, Proceedings
Pages167-182
Number of pages16
DOIs
Publication statusPublished - 6 Nov 2012
Externally publishedYes
Event10th International Symposium on Automated Technology for Verification and Analysis, ATVA 2012 - Thiruvananthapuram, India
Duration: 3 Oct 20126 Oct 2012

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume7561 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349

Conference

Conference10th International Symposium on Automated Technology for Verification and Analysis, ATVA 2012
Country/TerritoryIndia
CityThiruvananthapuram
Period3/10/126/10/12

Fingerprint

Dive into the research topics of 'Accurate invariant checking for programs manipulating lists and arrays with infinite data'. Together they form a unique fingerprint.

Cite this