2022
DOI: 10.1007/978-3-031-13188-2_4
|View full text |Cite
|
Sign up to set email alerts
|

Automated Expected Amortised Cost Analysis of Probabilistic Data Structures

Abstract: In this paper, we present the first fully-automated expected amortised cost analysis of self-adjusting data structures, that is, of randomised splay trees, randomised splay heaps and randomised meldable heaps, which so far have only (semi-)manually been analysed in the literature. Our analysis is stated as a type-and-effect system for a first-order functional programming language with support for sampling over discrete distributions, non-deterministic choice and a ticking operator. The latter allows for the sp… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2

Citation Types

0
2
0

Year Published

2023
2023
2024
2024

Publication Types

Select...
5

Relationship

0
5

Authors

Journals

citations
Cited by 11 publications
(2 citation statements)
references
References 35 publications
0
2
0
Order By: Relevance
“…While there exist many automatic approaches to prove (P)AST of imperative programs on numbers (e.g., [1,4,11,15,21,[24][25][26][32][33][34]36]), there are only few automatic approaches for programs with complex non-tail recursive structure [7,12], and even less approaches which are also suitable for algorithms on recursive data structures [3,6,31,39]. The approach of [39] focuses on algorithms on lists and [31] mainly targets algorithms on trees, but they cannot easily be adjusted to other (possibly user-defined) data structures. The calculus of [6] considers imperative programs with stack, heap, and pointers, but it is not yet automated.…”
Section: Introductionmentioning
confidence: 99%
See 1 more Smart Citation
“…While there exist many automatic approaches to prove (P)AST of imperative programs on numbers (e.g., [1,4,11,15,21,[24][25][26][32][33][34]36]), there are only few automatic approaches for programs with complex non-tail recursive structure [7,12], and even less approaches which are also suitable for algorithms on recursive data structures [3,6,31,39]. The approach of [39] focuses on algorithms on lists and [31] mainly targets algorithms on trees, but they cannot easily be adjusted to other (possibly user-defined) data structures. The calculus of [6] considers imperative programs with stack, heap, and pointers, but it is not yet automated.…”
Section: Introductionmentioning
confidence: 99%
“…The calculus of [6] considers imperative programs with stack, heap, and pointers, but it is not yet automated. Moreover, the approaches of [3,6,31,39] analyze expected runtime, while we focus on AST.…”
Section: Introductionmentioning
confidence: 99%