Towards automatic resource bound analysis for OCaml

J Hoffmann, A Das, SC Weng - Proceedings of the 44th ACM SIGPLAN …, 2017 - dl.acm.org
This article presents a resource analysis system for OCaml programs. The system
automatically derives worst-case resource bounds for higher-order polymorphic programs …

Automatic static cost analysis for parallel programs

J Hoffmann, Z Shao - … and Systems: 24th European Symposium on …, 2015 - Springer
Static analysis of the evaluation cost of programs is an extensively studied problem that has
many important applications. However, most automatic methods for static cost analysis are …

Denotational cost semantics for functional languages with inductive types

N Danner, DR Licata, R Ramyaa - Proceedings of the 20th ACM …, 2015 - dl.acm.org
A central method for analyzing the asymptotic complexity of a functional program is to extract
and then solve a recurrence that expresses evaluation cost in terms of input size. The …

Verifying the correctness and amortized complexity of a union-find implementation in separation logic with time credits

A Charguéraud, F Pottier - Journal of Automated Reasoning, 2019 - Springer
Union-Find is a famous example of a simple data structure whose amortized asymptotic time
complexity analysis is nontrivial. We present a Coq formalization of this analysis, following …

Recurrence extraction for functional programs through call-by-push-value

GA Kavvos, E Morehouse, DR Licata… - Proceedings of the ACM …, 2019 - dl.acm.org
The main way of analysing the complexity of a program is that of extracting and solving a
recurrence that expresses its running time in terms of the size of its input. We develop a …

TcT: Tyrolean complexity tool

M Avanzini, G Moser, M Schaper - … and Algorithms for the Construction and …, 2016 - Springer
In this paper we present v3. 0, the latest version of our fully automated complexity analyser.
implements our framework for automated complexity analysis and focuses on extensibility …

Story of Your Lazy Function's Life: A Bidirectional Demand Semantics for Mechanized Cost Analysis of Lazy Programs

L Xia, L Israel, M Kramarz, N Coltharp… - Proceedings of the …, 2024 - dl.acm.org
Lazy evaluation is a powerful tool that enables better compositionality and potentially better
performance in functional programming, but it is challenging to analyze its computation cost …

Machine-checked verification of the correctness and amortized complexity of an efficient union-find implementation

A Charguéraud, F Pottier - International Conference on Interactive …, 2015 - Springer
Union-Find is a famous example of a simple data structure whose amortized asymptotic time
complexity analysis is non-trivial. We present a Coq formalization of this analysis. Moreover …

Denotational recurrence extraction for amortized analysis

JW Cutler, DR Licata, N Danner - Proceedings of the ACM on …, 2020 - dl.acm.org
A typical way of analyzing the time complexity of functional programs is to extract a
recurrence expressing the running time of the program in terms of the size of its input, and …

Contract-based resource verification for higher-order functions with memoization

R Madhavan, S Kulal, V Kuncak - Acm Sigplan Notices, 2017 - dl.acm.org
We present a new approach for specifying and verifying resource utilization of higher-order
functional programs that use lazy evaluation and memoization. In our approach, users can …