License: Creative Commons Attribution 4.0 International license (CC BY 4.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.FSCD.2022.26
URN: urn:nbn:de:0030-drops-163071
URL: http://dagstuhl.sunsite.rwth-aachen.de/volltexte/2022/16307/
Go to the corresponding LIPIcs Volume Portal


Aubert, Clément ; Rubiano, Thomas ; Rusch, Neea ; Seiller, Thomas

mwp-Analysis Improvement and Implementation: Realizing Implicit Computational Complexity

pdf-format:
LIPIcs-FSCD-2022-26.pdf (0.9 MB)


Abstract

Implicit Computational Complexity (ICC) drives better understanding of complexity classes, but it also guides the development of resources-aware languages and static source code analyzers. Among the methods developed, the mwp-flow analysis [Jones and Lars Kristiansen, 2009] certifies polynomial bounds on the size of the values manipulated by an imperative program. This result is obtained by bounding the transitions between states instead of focusing on states in isolation, as most static analyzers do, and is not concerned with termination or tight bounds on values. Those differences, along with its built-in compositionality, make the mwp-flow analysis a good target for determining how ICC-inspired techniques diverge compared with more traditional static analysis methods. This paper’s contributions are three-fold: we fine-tune the internal machinery of the original analysis to make it tractable in practice; we extend the analysis to function calls and leverage its machinery to compute the result of the analysis efficiently; and we implement the resulting analysis as a lightweight tool to automatically perform data-size analysis of C programs. This documented effort prepares and enables the development of certified complexity analysis, by transforming a costly analysis into a tractable program, that furthermore decorrelates the problem of deciding if a bound exist with the problem of computing it.

BibTeX - Entry

@InProceedings{aubert_et_al:LIPIcs.FSCD.2022.26,
  author =	{Aubert, Cl\'{e}ment and Rubiano, Thomas and Rusch, Neea and Seiller, Thomas},
  title =	{{mwp-Analysis Improvement and Implementation: Realizing Implicit Computational Complexity}},
  booktitle =	{7th International Conference on Formal Structures for Computation and Deduction (FSCD 2022)},
  pages =	{26:1--26:23},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-233-4},
  ISSN =	{1868-8969},
  year =	{2022},
  volume =	{228},
  editor =	{Felty, Amy P.},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops.dagstuhl.de/opus/volltexte/2022/16307},
  URN =		{urn:nbn:de:0030-drops-163071},
  doi =		{10.4230/LIPIcs.FSCD.2022.26},
  annote =	{Keywords: Static Program Analysis, Implicit Computational Complexity, Automatic Complexity Analysis, Program Verification}
}

Keywords: Static Program Analysis, Implicit Computational Complexity, Automatic Complexity Analysis, Program Verification
Collection: 7th International Conference on Formal Structures for Computation and Deduction (FSCD 2022)
Issue Date: 2022
Date of publication: 28.06.2022
Supplementary Material: Software (Source Code): https://github.com/statycc/pymwp archived at: https://archive.softwareheritage.org/swh:1:dir:22a4ab0cfad49138981ed25fc2abfe830fb7ccdf
Software (Documentation and Demo): https://statycc.github.io/pymwp


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI