2015
DOI: 10.1145/2858949.2784753
|View full text |Cite
|
Sign up to set email alerts
|

Analysing the complexity of functional programs: higher-order meets first-order

Abstract: We show how the complexity of higher-order functional programs can be analysed automatically by applying program transformations to a defunctionalized versions of them, and feeding the result to existing tools for the complexity analysis of first-order term rewrite systems. This is done while carefully analysing complexity preservation and reflection of the employed transformations such that the complexity of the obtained term rewrite system reflects on the complexity of the initial program. Further, we descri… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
35
0

Year Published

2016
2016
2021
2021

Publication Types

Select...
5
1

Relationship

2
4

Authors

Journals

citations
Cited by 21 publications
(35 citation statements)
references
References 58 publications
(88 reference statements)
0
35
0
Order By: Relevance
“…To define the RPO order ≺ we explicit the use of pattern variables of the form V using a special symbol var and consequently these variables are now of the form var(id) with id the name of the variable. The quasi-precedence used for this RPO order > is then defined as follows: +, ⊥, f n , var ≺ \ for all f n ∈ F n with statuses \ : lexicographic (permutation [2, 1]), var : lexicographic( [1]), + : lexicographic( [1,2]), ⊥ : lexicographic, f n : lexicographic( [1, . .…”
Section: Resultsmentioning
confidence: 99%
See 3 more Smart Citations
“…To define the RPO order ≺ we explicit the use of pattern variables of the form V using a special symbol var and consequently these variables are now of the form var(id) with id the name of the variable. The quasi-precedence used for this RPO order > is then defined as follows: +, ⊥, f n , var ≺ \ for all f n ∈ F n with statuses \ : lexicographic (permutation [2, 1]), var : lexicographic( [1]), + : lexicographic( [1,2]), ⊥ : lexicographic, f n : lexicographic( [1, . .…”
Section: Resultsmentioning
confidence: 99%
“…There are a lot of works [9,13,1,8] targeting the analysis of functional languages essentially in terms of termination and complexity, and usually they involve some encoding of the match construction. These encodings are generally deep and take into account the evaluation strategy of the targeted language leading to powerful analyzing tools.…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations
“…Techniques and tools for automatic and semi-automatic resource analysis have been extensively studied. The applied methods range from deriving and analyzing recurrence relations [55,1,16,2,12,36,10,37], to abstract interpretation and static analysis [18,7,49,39], to type systems [11,56,53], to proof assistants and program logics [4,9,8,48,19,45,42], to term rewriting [6,5,47]. Many techniques focus on upper bounds on the worst-case bounds, but average-case bounds [15,35,43,54] and lower-bounds have also been studied [3,17,44].…”
Section: Introductionmentioning
confidence: 99%