Shape Neutral Analysis of Graph-based Data-structures. Issue 3 (10th August 2018)
- Record Type:
- Journal Article
- Title:
- Shape Neutral Analysis of Graph-based Data-structures. Issue 3 (10th August 2018)
- Main Title:
- Shape Neutral Analysis of Graph-based Data-structures
- Authors:
- DUCK, GREGORY J.
JAFFAR, JOXAN
YAP, ROLAND H. C. - Editors:
- Dal Palu, Alessandro
Tarau, Paul - Abstract:
- Abstract: Malformed data-structures can lead to runtime errors such as arbitrary memory access or corruption. Despite this, reasoning over data-structure properties for low-level heap manipulating programs remains challenging. In this paper we present a constraint-based program analysis that checks data-structure integrity, w.r.t. given target data-structure properties, as the heap is manipulated by the program. Our approach is to automatically generate a solver for properties using the type definitions from the target program. The generated solver is implemented using a Constraint Handling Rules (CHR) extension of built-in heap, integer and equality solvers. A key property of our program analysis is that the target data-structure properties are shape neutral, i.e., the analysis does not check for properties relating to a given data-structure graph shape, such as doubly-linked-lists versus trees. Nevertheless, the analysis can detect errors in a wide range of data-structure manipulating programs, including those that use lists, trees, DAGs, graphs, etc. We present an implementation that uses the Satisfiability Modulo Constraint Handling Rules (SMCHR) system. Experimental results show that our approach works well for real-world C programs.
- Is Part Of:
- Theory and practice of logic programming. Volume 18:Issue 3/4(2018)
- Journal:
- Theory and practice of logic programming
- Issue:
- Volume 18:Issue 3/4(2018)
- Issue Display:
- Volume 18, Issue 3/4 (2018)
- Year:
- 2018
- Volume:
- 18
- Issue:
- 3/4
- Issue Sort Value:
- 2018-0018-NaN-0000
- Page Start:
- 470
- Page End:
- 483
- Publication Date:
- 2018-08-10
- Subjects:
- Constraint Handling Rules, -- Satisfiability Modulo Constraint Handling Rules, -- Satisfiability Modulo Theories, -- Program Analysis, -- Data-structures, -- Memory Errors
Logic programming -- Periodicals
Artificial intelligence -- Computer programs -- Periodicals
Constraint programming (Computer science) -- Periodicals
005.115 - Journal URLs:
- https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming ↗
- DOI:
- 10.1017/S147106841800025X ↗
- Languages:
- English
- ISSNs:
- 1471-0684
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD Digital store
- Ingest File:
- 7507.xml