Incremental analysis of constraint logic programs

被引:49
|
作者
Hermenegildo, M [1 ]
Puebla, G
Marriott, K
Stuckey, PJ
机构
[1] Univ Politecn Madrid, Fac Informat, E-28660 Madrid, Spain
[2] Monash Univ, Sch Comp Sci & Software Engn, Clayton, Vic 3168, Australia
[3] Univ Melbourne, Dept Comp Sci & Software Engn, Parkville, Vic 3052, Australia
关键词
languages; abstract interpretation; constraint logic programming; incremental computation; static analysis;
D O I
10.1145/349214.349216
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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 certain parts of a program which has already been analyzed. In these cases, it appears inefficient to perform the analysis of the program again from scratch, as needs to be done with current systems. We describe how the fixed-point algorithms used in current generic analysis engines for (constraint) logic programming languages can be extended to support incremental analysis. The possible changes to a program are classified into three types: addition, 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 recomputed 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 the PLAI generic abstract interpretation framework. The results show significant benefits when using the proposed incremental analysis algorithms.
引用
收藏
页码:187 / 223
页数:37
相关论文
共 50 条
  • [21] Logic programs with abstract constraint atoms
    Marek, VW
    Truszczynski, M
    [J]. PROCEEDING OF THE NINETEENTH NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND THE SIXTEENTH CONFERENCE ON INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE, 2004, : 86 - 91
  • [22] Incremental refinement of success patterns of logic programs
    Lu, LJ
    [J]. Proceedings of the 8th Joint Conference on Information Sciences, Vols 1-3, 2005, : 371 - 374
  • [23] Abstract verification and debugging of constraint logic programs
    Hermenegildo, M
    Puebla, G
    Bueno, F
    López-García, P
    [J]. RECENT ADVANCES IN CONSTRAINTS, 2003, 2627 : 1 - 14
  • [24] Static and dynamic slicing of constraint logic programs
    Szilágyi G.
    Gyimóthy T.
    Małuszyński J.
    [J]. Automated Software Engineering, 2002, 9 (1) : 41 - 65
  • [25] On Detecting Semantic Clones in Constraint Logic Programs
    Yernaux, Gonzague
    Vanhoof, Wim
    [J]. 2022 IEEE 16TH INTERNATIONAL WORKSHOP ON SOFTWARE CLONES (IWSC 2022), 2022, : 32 - 38
  • [26] Logic programs with monotone abstract constraint atoms
    Marek, Victor W.
    Niemela, Ilkka
    Truszczynski, Miroslaw
    [J]. THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2008, 8 : 167 - 199
  • [27] Constraint-Driven Learning of Logic Programs
    Morel, Rolf
    [J]. THIRTY-FIFTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THIRTY-THIRD CONFERENCE ON INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE AND THE ELEVENTH SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2021, 35 : 15726 - 15727
  • [28] On proving left termination of constraint logic programs
    Iremia, Univ. de La Réunion
    不详
    不详
    [J]. ACM Transactions on Computational Logic, 2003, 4 (02) : 207 - 259
  • [29] Automated strategies for specializing constraint logic programs
    Fioravanti, F
    Pettorossi, A
    Proietti, M
    [J]. LOGIC BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2001, 2042 : 125 - 146
  • [30] Inferring and compiling termination for constraint logic programs
    Hoarau, S
    Mesnard, F
    [J]. LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 1999, 1559 : 240 - 254