Sequence-based abstract interpretation of Prolog

被引:6
|
作者
Le Charlier, B
Rossi, S
Van Hentenryck, P
机构
[1] Univ Namur, Inst Informat, B-5000 Namur, Belgium
[2] Univ Venice, Dipartimento Informat, I-30172 Venice, Italy
[3] Brown Univ, Dept Comp Sci, Providence, RI 02912 USA
关键词
Prolog; static analysis; abstract interpretation;
D O I
10.1017/S1471068402001114
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Abstr. interpretation is a general methodology for systematic development of program analyses. An abstract interpretation framework is centered around a parametrized non-standard semantics that can be instantiated by various domains to approximate different program properties. Many abstract interpretation frameworks and analyses for Prolog have been proposed, which seek to extract information useful for program optimization, Although motivated by practical considerations, notably making Prolog competitive with imperative languages, such frameworks fail to capture some of the control structures of existing implementations of the language. In this paper, we propose a novel framework for the abstract interpretation of Prolog which handles the depth-first search rule and the cut operator. It relies on the notion of substitution sequence to model the result of the execution of a goal. The framework consists of (i) a denotational concrete semantics, (ii) a safe abstraction of the concrete semantics defined in terms of a class of post-fixpoints, and (iii) a generic abstract interpretation algorithm. We show that traditional abstract domains of substitutions may easily be adapted to the new framework, and provide experimental evidence of the effectiveness of our approach. We also show that previous work on determinacy analysis, that was not expressible by existing abstract interpretation frameworks, can be seen as an instance of our framework. The ideas developed in this paper can be applied to other logic languages, notably to constraint logic languages, and the theoretical approach should be of general interest for the analysis of many non-deterministic programming languages.
引用
收藏
页码:25 / 84
页数:60
相关论文
共 50 条
  • [21] AN ABSTRACT PROLOG MACHINE BASED ON PARALLEL RESOLUTION PRINCIPLE
    VLAHAVAS, I
    KEFALAS, P
    MICROPROCESSING AND MICROPROGRAMMING, 1992, 35 (1-5): : 755 - 762
  • [22] GafFour and Sequence-based Lighting
    Chen, Xinling
    Miller, Lucas
    SIGGRAPH'18: ACM SIGGRAPH 2018 TALKS, 2018,
  • [23] Towards the unification of sequence-based classification and sequence-based identification of host-associated microorganisms
    Herr, Joshua R.
    Oepik, Maarja
    Hibbett, David S.
    NEW PHYTOLOGIST, 2015, 205 (01) : 27 - 31
  • [24] Sequence-based genotyping scheme for Legionella
    Ratcliff, RM
    Lanser, JA
    Heuzenroeder, MW
    Manning, PA
    LEGIONELLA, 2002, : 237 - 242
  • [25] Consistency of Sequence-Based Gene Clusters
    Wittler, Roland
    Manuch, Jan
    Patterson, Murray
    Stoye, Jens
    JOURNAL OF COMPUTATIONAL BIOLOGY, 2011, 18 (09) : 1023 - 1039
  • [26] Sequence-Based Trust for Document Recommendation
    Chiu, Hsuan
    Liu, Duen-Ren
    Lai, Chin-Hui
    E-COMMERCE AND WEB TECHNOLOGIES, PROCEEDINGS, 2009, 5692 : 240 - 251
  • [27] Sequence-based prediction of protein domains
    Liu, JF
    Rost, B
    NUCLEIC ACIDS RESEARCH, 2004, 32 (12) : 3522 - 3530
  • [28] On Stability of Sequence-Based LQG Control
    Fischer, Joerg
    Dolgov, Maxim
    Hanebeck, Uwe D.
    2013 IEEE 52ND ANNUAL CONFERENCE ON DECISION AND CONTROL (CDC), 2013, : 6627 - 6633
  • [29] Consistency of Sequence-Based Gene Clusters
    Wittler, Roland
    Stoye, Jens
    COMPARATIVE GENOMICS, 2010, 6398 : 252 - 263
  • [30] An axiom system for sequence-based specification
    Lin, Lan
    Prowell, Stacy J.
    Poore, Jesse H.
    THEORETICAL COMPUTER SCIENCE, 2010, 411 (02) : 360 - 376