Determinacy analysis for logic programs using mode and type information

被引:5
|
作者
López-García, P
Bueno, F
Hermenegildo, M
机构
[1] Tech Univ Madrid UPM, Sch Comp Sci, Madrid, Spain
[2] Univ New Mexico, Dept Comp Sci, Albuquerque, NM 87131 USA
[3] Univ New Mexico, Dept Elect & Comp Engn, Albuquerque, NM 87131 USA
来源
LOGIC BASED PROGRAM SYNTHESIS AND TRANSFORMATION | 2005年 / 3573卷
关键词
determinacy inference; program analysis; modes; types;
D O I
10.1007/11506676_2
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
We propose an analysis for detecting procedures and goals that are deterministic (i.e. that produce at most one solution), or predicates whose clause tests are mutually exclusive (which implies that at most one of their clauses will succeed) even if they are not deterministic (because they call other predicates that can produce more than one solution). Applications of such determinacy information include detecting programming errors, performing certain high-level program transformations for improving search efficiency, optimizing low level code generation and parallel execution, and estimating tighter upper bounds on the computational costs of goals and data sizes, which can be used for program debugging, resource consumption and granularity control, etc. We have implemented the analysis and integrated it in the CiaoPP system, which also infers automatically the mode and type information that our analysis takes as input. Experiments performed on this implementation show that the analysis is fairly accurate and efficient.
引用
收藏
页码:19 / 35
页数:17
相关论文
共 21 条
  • [1] Automatic Inference of Determinacy and Mutual Exclusion for Logic Programs Using Mode and Type Analyses
    Pedro Lopez-Garcia
    Francisco Bueno
    Manuel Hermenegildo
    New Generation Computing, 2010, 28 : 177 - 206
  • [2] Automatic Inference of Determinacy and Mutual Exclusion for Logic Programs Using Mode and Type Analyses
    Lopez-Garcia, Pedro
    Bueno, Francisco
    Hermenegildo, Manuel
    NEW GENERATION COMPUTING, 2010, 28 (02) : 177 - 206
  • [3] Inferring termination conditions for logic programs using backwards analysis
    Genaim, S
    Codish, M
    THEORY AND PRACTICE OF LOGIC PROGRAMMING, 2005, 5 : 75 - 91
  • [4] Non-termination Analysis of Logic Programs Using Types
    Voets, Dean
    De Schreye, Danny
    LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION, 2011, 6564 : 133 - 148
  • [5] Termination analysis of logic programs through combination of type-based norms
    Bruynooghe, Maurice
    Codish, Michael
    Gallagher, John R.
    Genaim, Samir
    Vanhoof, Wim
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2007, 29 (02):
  • [6] Global analysis of constraint logic programs
    DeLaBanda, MG
    Hermenegildo, M
    Bruynooghe, M
    Dumortier, V
    Janssens, G
    Simoens, W
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1996, 18 (05): : 564 - 614
  • [7] COST-ANALYSIS OF LOGIC PROGRAMS
    DEBRAY, SK
    LIN, NW
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 1993, 15 (05): : 826 - 875
  • [8] An algebraic approach to sharing analysis of logic programs
    Codish, M
    Lagoon, V
    Bueno, F
    JOURNAL OF LOGIC PROGRAMMING, 2000, 42 (02): : 111 - 149
  • [9] A Practical Type Analysis for Verification of Modular Prolog Programs
    Pietrzak, Pawel
    Correas, Jesus
    Puebla, German
    Hermenegildo, Manuel V.
    PEPM'08: PROCEEDINGS OF THE 2008 ACM SIGPLAN SYMPOSIUM ON PARTIAL EVALUATION AND SEMANTICS-BASED PROGRAM MANIPULATION, 2008, : 61 - 70
  • [10] Set-based failure analysis for logic programs and concurrent constraint programs
    Podelski, A
    Charatonik, W
    Müller, M
    PROGRAMMING LANGUAGES AND SYSTEMS, 1999, 1576 : 177 - 192