TY - GEN
T1 - mwp-Analysis Improvement and Implementation
T2 - 7th International Conference on Formal Structures for Computation and Deduction, FSCD 2022
AU - Aubert, Clément
AU - Rubiano, Thomas
AU - Rusch, Neea
AU - Seiller, Thomas
N1 - Funding Information:
This research is supported by the Th. Jefferson Fund of the Embassy of France in the United States and the FACE Foundation, and has benefited from the research meeting 21453 “Static Analyses of Program Flows: Types and Certificate for Complexity” in Schloss Dagstuhl. Th. Rubiano and Th. Seiller are supported by the Île-de-France region through the DIM RFSI project “CoHOp”. The authors wish to express their gratitude to Assya Sellak for her contribution to this work, to the reviewers of previous versions for their comments, and to the FSCD community: in particular, the reviews we received were extremely interesting, and generated new directions and questions, for which we are thankful.
Publisher Copyright:
© Clément Aubert, Thomas Rubiano, Neea Rusch, and Thomas Seiller
PY - 2022/6/1
Y1 - 2022/6/1
N2 - 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 [23] 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.
AB - 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 [23] 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.
KW - Automatic Complexity Analysis
KW - Implicit Computational Complexity
KW - Program Verification
KW - Static Program Analysis
UR - http://www.scopus.com/inward/record.url?scp=85132496791&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85132496791&partnerID=8YFLogxK
U2 - 10.4230/LIPIcs.FSCD.2022.26
DO - 10.4230/LIPIcs.FSCD.2022.26
M3 - Conference contribution
AN - SCOPUS:85132496791
T3 - Leibniz International Proceedings in Informatics, LIPIcs
BT - 7th International Conference on Formal Structures for Computation and Deduction, FSCD 2022
A2 - Felty, Amy P.
PB - Schloss Dagstuhl- Leibniz-Zentrum fur Informatik GmbH, Dagstuhl Publishing
Y2 - 2 August 2022 through 5 August 2022
ER -