A Reusable Machine-Calculus for Automated Resource Analyses - Archive ouverte HAL Access content directly
Conference Papers Year : 2023

A Reusable Machine-Calculus for Automated Resource Analyses

Une machine abstraite réutilisable pour les analyses de ressources


An automated resource analysis technique is introduced, targeting a Call-By-Push-Value abstract machine, with memory prediction as a practical goal. The machine has a polymorphic and linear type system enhanced with a first-order logical fragment, which encodes both low-level operational semantics of resource manipulations and high-level synthesis of algorithmic complexity. Resource analysis must involve a diversity of static analysis, for escape, aliasing, algorithmic invariants, and more. Knowing this, we implement the Automated Amortized Resource Analysis framework (AARA) from scratch in our generic system. In this setting, access to resources is a state-passing effect which produces a compile-time approximation of runtime resource usage. We implemented type inference constraint generation for our calculus, accompanied with an elaboration of bounds for iterators on algebraic datatypes, for minimal ML-style programming languages with Call-by-Value and Call-By-Push-Value semantics. The closed-formed bounds are derived as multivariate polynomials over the integers. This now serves as a base for the development of an experimental toolkit for automated memory analysis of functional languages.
Fichier principal
Vignette du fichier
lopstr.pdf (293.75 Ko) Télécharger le fichier
Origin : Files produced by the author(s)

Dates and versions

hal-04245074 , version 1 (16-10-2023)
hal-04245074 , version 2 (21-10-2023)





Hector Suzanne, Emmanuel Chailloux. A Reusable Machine-Calculus for Automated Resource Analyses. Logic-Based Program Synthesis and Transformation, Oct 2023, Cascais, Portugal. pp.61-79, ⟨10.1007/978-3-031-45784-5_5⟩. ⟨hal-04245074v2⟩
21 View
5 Download



Gmail Facebook X LinkedIn More