2013
DOI: 10.1007/978-3-642-38197-3_1
|View full text |Cite
|
Sign up to set email alerts
|

Symbolic Evaluation Graphs and Term Rewriting — A General Methodology for Analyzing Logic Programs

Abstract: There exist many powerful techniques to analyze termination and complexity of term rewrite systems (TRSs). Our goal is to use these techniques for the analysis of other programming languages as well. For instance, approaches to prove termination of definite logic programs by a transformation to TRSs have been studied for decades. However, a challenge is to handle languages with more complex evaluation strategies (such as Prolog, where predicates like the cut influence the control flow). In this paper, we prese… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
29
0

Year Published

2013
2013
2023
2023

Publication Types

Select...
7
1

Relationship

3
5

Authors

Journals

citations
Cited by 20 publications
(29 citation statements)
references
References 32 publications
0
29
0
Order By: Relevance
“…A significant additional improvement brought about by [28] is that it is combined with a sized types abstract domain, which allows the inference of non-trivial cost bounds when they depend on the sizes of input terms and their subterms at any position and depth. Recently, many other approaches have been proposed for resource analysis [30,12,9,13,23,8,1,2]. While based on different techniques, all these analyses infer, for all predicates p of a given program P, an approximation of the notion of cost that we call the standard cost or single call cost.…”
Section: The Classical Cost Relations-based Parametric Static Analysismentioning
confidence: 99%
“…A significant additional improvement brought about by [28] is that it is combined with a sized types abstract domain, which allows the inference of non-trivial cost bounds when they depend on the sizes of input terms and their subterms at any position and depth. Recently, many other approaches have been proposed for resource analysis [30,12,9,13,23,8,1,2]. While based on different techniques, all these analyses infer, for all predicates p of a given program P, an approximation of the notion of cost that we call the standard cost or single call cost.…”
Section: The Classical Cost Relations-based Parametric Static Analysismentioning
confidence: 99%
“…Moreover, we consider moded logic programs. In particular, for simplicity, we assume that every predicate symbol p/n in the considered program has one associated mode, 4 where in(p/n) = {i 1 , . .…”
Section: The Algorithmmentioning
confidence: 99%
“…This extension is the subject of ongoing work. For this purpose, we will consider the linear operational semantics of [16], and its symbolic version [4], as a promising starting point.…”
Section: Test Case Generation In Practicementioning
confidence: 99%
“…Therefore, runtime complexity corresponds to the usual notion of "complexity" for programs [4,5]. Note that most termination techniques which transform programs to TRSs (e.g., [8,13,14,28]) result in rewrite systems where one only regards innermost rewrite sequences. This also holds for techniques to analyze termination of languages like Haskell by term rewriting [13], although Haskell has a lazy (outermost) evaluation strategy.…”
Section: Runtime Complexity Of Term Rewritingmentioning
confidence: 99%
“…Techniques for automated termination analysis of term rewriting are very powerful and have been successfully used to analyze termination of programs in many different languages (e.g., Java [8,28], Haskell [13], and Prolog [14]). Hence, by adapting these termination techniques, the ultimate goal is to obtain approaches which can also analyze the complexity of programs automatically.…”
Section: Introductionmentioning
confidence: 99%