REEXECUTION IN ABSTRACT INTERPRETATION OF PROLOG

被引:4
作者
LECHARLIER, B [1 ]
VANHENTENRYCK, P [1 ]
机构
[1] BROWN UNIV,PROVIDENCE,RI 02912
关键词
D O I
10.1007/s002360050013
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Logic programming, because of referential transparency, enjoys the property that a literal may be reexecuted finitely often without affecting the meaning of the program. This property, although not interesting computationally in general, can be exploited in abstract interpretation to improve the accuracy of the analysis, as noted by Bruynooghe in [6]. We study reexecution from its theoretical foundations to its experimental evaluation. We define a new abstract semantics for Prolog, which incorporates the notion of reexecution, and we study its correctness and precision properties. A fixpoint algorithm to compute the abstract semantics is then presented. The accuracy and efficiency of the algorithm is evaluated experimentally on two abstract domains, a simple and an elaborate one, and compared with conventional approaches. The experimental results indicate that (1) reexecution can provide significant gains in accuracy at a very reasonable computation cost and that (2) reexecution on a simple domain is a versatile alternative to the standard approach on a more sophisticated domain.
引用
收藏
页码:209 / 253
页数:45
相关论文
共 50 条
  • [31] Abstract Interpretation: An Illustration
    Kumar, Shiv
    Carr, Mahil
    SOUVENIR OF THE 2014 IEEE INTERNATIONAL ADVANCE COMPUTING CONFERENCE (IACC), 2014, : 1419 - 1423
  • [32] Interprocedural abstract interpretation
    不详
    OPTIMAL INTERPROCEDURAL PROGRAM OPTIMIZATION, 1998, 1428 : 109 - 140
  • [33] ABSTRACT INTERPRETATION AND INDETERMINACY
    PANANGADEN, P
    LECTURE NOTES IN COMPUTER SCIENCE, 1985, 197 : 497 - 511
  • [34] Complementation in abstract interpretation
    Cortesi, A
    File, G
    Giacobazzi, R
    Palamidessi, C
    Ranzato, F
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1997, 19 (01): : 7 - 47
  • [35] Bounded Abstract Interpretation
    Christakis, Maria
    Wustholz, Valentin
    STATIC ANALYSIS, (SAS 2016), 2016, 9837 : 105 - 125
  • [36] The quotient of an abstract interpretation
    Cortesi, A
    File, G
    Winsborough, W
    THEORETICAL COMPUTER SCIENCE, 1998, 202 (1-2) : 163 - 192
  • [37] Compiling with Abstract Interpretation
    Lesbre, Dorian
    Lemerre, Matthieu
    PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2024, 8 (PLDI):
  • [38] History of Abstract Interpretation
    Giacobazzi, Roberto
    Ranzato, Francesco
    IEEE ANNALS OF THE HISTORY OF COMPUTING, 2022, 44 (02) : 33 - 43
  • [39] Demanded Abstract Interpretation
    Stein, Benno
    Chang, Bor-Yuh Evan
    Sridharan, Manu
    PROCEEDINGS OF THE 42ND ACM SIGPLAN INTERNATIONAL CONFERENCE ON PROGRAMMING LANGUAGE DESIGN AND IMPLEMENTATION (PLDI '21), 2021, : 282 - 295
  • [40] Probabilistic Abstract Interpretation
    Cousot, Patrick
    Monerau, Michael
    PROGRAMMING LANGUAGES AND SYSTEMS, 2012, 7211 : 169 - 193