Incremental analysis of constraint logic programs

Citation
M. Hermenegildo et al., Incremental analysis of constraint logic programs, ACM T PROGR, 22(2), 2000, pp. 187-223
Citations number
53
Categorie Soggetti
Computer Science & Engineering
Journal title
ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS
ISSN journal
01640925 → ACNP
Volume
22
Issue
2
Year of publication
2000
Pages
187 - 223
Database
ISI
SICI code
0164-0925(200003)22:2<187:IAOCLP>2.0.ZU;2-Q
Abstract
Global analyzers traditionally read and analyze the entire program at once, in a nonincremental way. However, there are many situations which are not well suited to this simple model and which instead require reanalysis of ce rtain parts of a program which has already been analyzed. In these cases, i t appears inefficient to perform the analysis of the program again from scr atch, as needs to be done with current systems. We describe how the fixed-p oint algorithms used in current generic analysis engines for (constraint) l ogic programming languages can be extended to support incremental analysis. The possible changes to a program are classified into three types: additio n, deletion, and arbitrary change. For each one of these, we provide one or more algorithms for identifying the parts of the analysis that must be rec omputed and for performing the actual recomputation. The potential benefits and drawbacks of these algorithms are discussed. Finally, we present some experimental results obtained with an implementation of the algorithms in t he PLAI generic abstract interpretation framework. The results show signifi cant benefits when using the proposed incremental analysis algorithms.