Proceedings of the 38th ACM SIGPLAN Conference on Programming Language Design and Implementation 2017
DOI: 10.1145/3062341.3062373
|View full text |Cite
|
Sign up to set email alerts
|

Compositional recurrence analysis revisited

Abstract: Compositional recurrence analysis (CRA) is a static-analysis method based on an interesting combination of symbolic analysis and abstract interpretation. This paper addresses the problem of creating a context-sensitive interprocedural version of CRA that handles recursive procedures. The problem is non-trivial because there is an "impedance mismatch" between CRA, which relies on analysis techniques based on regular languages (i.e., Tarjan's pathexpression method), and the context-free-language underpinnings of… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1

Citation Types

0
47
0

Year Published

2018
2018
2021
2021

Publication Types

Select...
5
2

Relationship

2
5

Authors

Journals

citations
Cited by 49 publications
(47 citation statements)
references
References 31 publications
0
47
0
Order By: Relevance
“…Beyond AARA there exists many other approaches to automatic worst-case resource bound analysis for deterministic programs. They are based on sized types [89], linear dependent types [68,69], refinement types [29,92], annotated type systems [31,32], defunctionalization [7], recurrence relations [3,4,13,33,38,46,66], abstract interpretation [14,22,47,87,91], template based assume-guarantee reasoning [71], measure functions [27], and techniques from term rewriting [8,17,39,82]. These techniques do not apply to probabilistic programs and do not derive bounds on expected resource usage.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Beyond AARA there exists many other approaches to automatic worst-case resource bound analysis for deterministic programs. They are based on sized types [89], linear dependent types [68,69], refinement types [29,92], annotated type systems [31,32], defunctionalization [7], recurrence relations [3,4,13,33,38,46,66], abstract interpretation [14,22,47,87,91], template based assume-guarantee reasoning [71], measure functions [27], and techniques from term rewriting [8,17,39,82]. These techniques do not apply to probabilistic programs and do not derive bounds on expected resource usage.…”
Section: Related Workmentioning
confidence: 99%
“…One important property that is often part of the formal and informal analysis of programs is resource bound analysis: What is the amount of resources such as time, memory or energy that is required to execute a program? Over the past decade, the programming language community has developed numerous tools that can be used to (semi-)automatically derive non-trivial symbolic resource bounds for imperative [17,47,66,87] and functional programs [7,33,55,92].…”
Section: Introductionmentioning
confidence: 99%
“…Static resource bound analysis for sequential programs has been extensively studied. Successful approaches are based on refinement types [18,15], linear dependent types [37], abstract interpretation [46,25,5,16], deriving and solving recurrence relations [19,20,4,36], term rewriting [11,8]. These works do not consider message-passing programs nor concurrent or parallel evaluation.…”
Section: Related Workmentioning
confidence: 99%
“…Acceleration-like techniques are also used in over-approximating settings (see, e.g., [10,19,20,24,25,28,31,32]), whereas we consider exact and under-approximating loop acceleration techniques. As many related approaches have already been discussed in Sec.…”
Section: Related Workmentioning
confidence: 99%