pymwp: A Static Analyzer Determining Polynomial Growth Bounds - Archive ouverte HAL
Communication Dans Un Congrès Année : 2023

pymwp: A Static Analyzer Determining Polynomial Growth Bounds

Clément Aubert
Thomas Rubiano
Neea Rusch

Résumé

We present pymwp, a static analyzer that automatically computes, if they exist, polynomial bounds relating input and output sizes. In case of exponential growth, our tool detects precisely which dependencies between variables induced it. Based on the sound mwp-flow calculus, the analysis captures bounds on large classes of programs by being non-deterministic and not requiring termination. For this reason, implementing this calculus required solving several non-trivial implementation problems, to handle its complexity and non-determinism, but also to provide meaningful feedback to the programmer. The duality of the analysis result and compositionality of the calculus make our approach original in the landscape of complexity analyzers. We conclude by demonstrating experimentally how pymwp is a practical and performant static analyzer to automatically evaluate variable growth bounds of C programs.
Fichier principal
Vignette du fichier
2023_05_15_standalone.pdf (215.53 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03269121 , version 1 (23-06-2021)
hal-03269121 , version 2 (25-06-2021)
hal-03269121 , version 3 (16-03-2023)
hal-03269121 , version 4 (16-05-2023)

Licence

Identifiants

Citer

Clément Aubert, Thomas Rubiano, Neea Rusch, Thomas Seiller. pymwp: A Static Analyzer Determining Polynomial Growth Bounds. Automated Technology for Verification and Analysis (ATVA 2023), Oct 2023, Singapour, France. ⟨10.1007/978-3-031-45332-8_14⟩. ⟨hal-03269121v4⟩
234 Consultations
268 Téléchargements

Altmetric

Partager

More