2002
DOI: 10.1007/3-540-45789-5_10
|View full text |Cite
|
Sign up to set email alerts
|

More Precise Yet Efficient Type Inference for Logic Programs

Abstract: Type analyses of logic programs which aim at inferring the types of the program being analyzed are presented in a unified abstract interpretation-based framework. This covers most classical abstract interpretation-based type analyzers for logic programs, built on either top-down or bottom-up interpretation of the program. In this setting, we discuss the widening operator, arguably a crucial one. We present a new widening which is more precise than those previously proposed. Practical results with our analysis … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
53
0
1

Year Published

2003
2003
2019
2019

Publication Types

Select...
6
2
2

Relationship

2
8

Authors

Journals

citations
Cited by 44 publications
(54 citation statements)
references
References 8 publications
0
53
0
1
Order By: Relevance
“…In a preprocessing step, the program is unfolded in order to avoid mutual recursion, which makes the analysis harder. After the unfolding step, the analysis infers types for the predicate arguments by using an existing analysis for regular types [31]. This analysis infers that for a call to a transformed version of eval/4 (with shadow variables) of the form:…”
Section: Performing the Resource Usage Analysismentioning
confidence: 99%
“…In a preprocessing step, the program is unfolded in order to avoid mutual recursion, which makes the analysis harder. After the unfolding step, the analysis infers types for the predicate arguments by using an existing analysis for regular types [31]. This analysis infers that for a call to a transformed version of eval/4 (with shadow variables) of the form:…”
Section: Performing the Resource Usage Analysismentioning
confidence: 99%
“…The regular type arithexpression/1 is deflned in a system library and expresses that its argument is an ISO Prolog arithmetic expression [14]. However, the deflnition of the regular type rt5/l has been inferred by CiaoPP's eterms type (shape) analyzer, which is based on abstract interpretation and a regular type abstraction with widening [23].…”
Section: Type Analysis Of Chr Programsmentioning
confidence: 99%
“…It shows how the create streams program is analyzed, to obtain the program analysis graph shown in Figure 3. We use in our example well-known abstract operations for a regular type domain, in particular, the operations formalized in 44) for the eterms domain described in Example 2.2. For the analysis of library procedures, we assume that the parametric routine Atrust returns the abstract descriptions which appear in the three success assertions shown in Fig-ure 2 for the corresponding library procedures.…”
Section: An Examplementioning
confidence: 99%