From Shapes to Amortized Complexity

Published in VMCAI, 2018

Recommended citation: FIEDOR Tomáš, HOLÍK Lukáš, ROGALEWICZ Adam, SINN Moritz, VOJNAR Tomáš and ZULEGER Florian. From Shapes to Amortized Complexity. In: Proceedings of VMCAI'18. Lecture Notes in Computer Science, vol. 10145. Heidelberg: Springer Verlag, 2018, pp. 205-225. ISBN 978-3-319-73720-1. ISSN 0302-9743. http://tfiedor.github.io/files/pubs/2018-01-ranger.pdf

  
Institution LinkInstitution website
Additional ResourcesPaper website
Conference19th International Conference on Verification, Model Checking, and Abstract Interpretation
Conference RankingB

Download paper here

My contributions

  1. I came up with the idea, that we could derive the numerical measures (norms) for the underlying heap-manipulating programs from the way the data structures are actually handled instead of having predefined set of norms. I created the initial prototype of the translation rules, which were further polished by Tomáš and Adam.
  2. I implemented our approach atop of Forester shape analyser.
  3. I was one of the main writers of the paper (however, most of the polishing was done by Tomáš Vojnar, who is a superb writer).
  4. I conducted the experiments, I designed the methodology and run and interpreted the results. Retrospectively, I know that there are threats to validity of our results, that we omitted from the paper.

Abstract

We propose a new method for the automated resource bound analysis of programs manipulating dynamic data structures built on top of an underlying shape and resource bound analysis. Our approach first constructs an integer abstraction for the input program using information gathered by a shape analyser; then a resource bound analyzer is run on the resulting integer program. The integer abstraction is based on shape norms-numerical measures on dynamic data structures (e.g., the length of a linked list). In comparison to related approaches, we consider a larger class of shape norms which we derive by a lightweight program analysis. The analysis identifies paths through the involved dynamic data structures, and filters the norms which are unlikely to be useful for the later bound analysis. We present a calculus for deriving the numeric changes of the shape norms, thereby generating the integer program. Our calculus encapsulates the minimal information which is required from the shape analysis. We have implemented our approach on top of the Forester shape analyser and evaluated it on a number of programs manipulating various list and tree structures using the Loopus tool as the underlying bounds analyser. We report on programs with complex data structures and/or using complex algorithms that could not be analysed in a fully automated and precise way before.

results of comparison of our tool (ranger) with other state-of-the-art analysers example of translation rule

Cite us

FIEDOR Tomáš, HOLÍK Lukáš, ROGALEWICZ Adam, SINN Moritz, VOJNAR Tomáš and ZULEGER Florian. From Shapes to Amortized Complexity. In: Proceedings of VMCAI’18. Lecture Notes in Computer Science, vol. 10145. Heidelberg: Springer Verlag, 2018, pp. 205-225. ISBN 978-3-319-73720-1. ISSN 0302-9743.