pymwp: A Static Analyzer Determining Polynomial Growth Bounds - Archive ouverte HAL
Conference Papers Year : 2023

pymwp: A Static Analyzer Determining Polynomial Growth Bounds

Clément Aubert
Thomas Rubiano
Neea Rusch

Abstract

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
Origin Files produced by the author(s)

Dates and 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

Identifiers

Cite

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⟩
201 View
212 Download

Altmetric

Share

More