A Reusable Machine-Calculus for Automated Resource Analyses - Archive ouverte HAL
Communication Dans Un Congrès Année : 2023

A Reusable Machine-Calculus for Automated Resource Analyses

Une machine abstraite réutilisable pour les analyses de ressources

Résumé

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
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

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

Licence

Copyright (Tous droits réservés)

Identifiants

Citer

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⟩
83 Consultations
54 Téléchargements

Altmetric

Partager

More