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 Link | Institution website |
Additional Resources | Paper website |
Conference | 19th International Conference on Verification, Model Checking, and Abstract Interpretation |
Conference Ranking | B |
My contributions
- 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.
- I implemented our approach atop of Forester shape analyser.
- 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).
- 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.
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.