Skip to main navigation Skip to search Skip to main content

Symbolic support graph: A space efficient data structure for incremental tabled evaluation

  • Stony Brook University

Research output: Contribution to journalConference articlepeer-review

13 Scopus citations

Abstract

In an earlier paper, we described a data structure, called support graph, for efficient incremental evaluation of tabled logic programs. The support graph records the dependencies between answers in the tables, and is crucial for efficiently propagating the changes to the tables when facts are deleted. Incremental computation with support graphs are hundreds of times faster than from-scratch evaluation for small changes in the program. However, the graph typically grows faster than the tables themselves, making it impractical to maintain the full support graph for large applications. In this paper we present a data structure, called symbolic support graph, which represents support information compactly. For a variety of useful tabled logic programs, the size of the symbolic support graph grows no faster than the table size. We demonstrate its effectiveness using a large application: a logic-programming- based points-to analyzer for C programs. The incremental analyzer shows very good scalability in terms of space usage, and is hundreds of times faster than from-scratch analysis for small changes to the program.

Original languageEnglish
Pages (from-to)235-249
Number of pages15
JournalLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume3668
DOIs
StatePublished - 2005
Event21st International Conference on Logic Programming, ICLP 2005 - Sitges, Spain
Duration: Oct 2 2005Oct 5 2005

Fingerprint

Dive into the research topics of 'Symbolic support graph: A space efficient data structure for incremental tabled evaluation'. Together they form a unique fingerprint.

Cite this