Affiliation:
1. Università di Bologna & INRIA, Bologna, Italy
Abstract
We show that time complexity analysis of higher-order functional programs can be effectively reduced to an arguably simpler (although computationally equivalent) verification problem, namely checking first-order inequalities for validity. This is done by giving an efficient inference algorithm for linear dependent types which, given a PCF term, produces in output both a linear dependent type and a cost expression for the term, together with a set of proof obligations. Actually, the output type judgement is derivable iff all proof obligations are valid. This, coupled with the already known relative completeness of linear dependent types, ensures that no information is lost, i.e., that there are no false positives or negatives. Moreover, the procedure reflects the difficulty of the original problem: simple PCF terms give rise to sets of proof obligations which are easy to solve. The latter can then be put in a format suitable for automatic or semi-automatic verification by external solvers. Ongoing experimental evaluation has produced encouraging results, which are briefly presented in the paper.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference29 articles.
1. Full Abstraction for PCF
2. Amadio R.M. Regis-Gianas Y.: Certifying and reasoning on cost annotations of functional programs. CoRR abs/1110.2350 (2011) Amadio R.M. Regis-Gianas Y.: Certifying and reasoning on cost annotations of functional programs. CoRR abs/1110.2350 (2011)
3. de Bakker J.W.: Mathematical Theory of Program Correctness. Prentice-Hall (1980) de Bakker J.W.: Mathematical Theory of Program Correctness. Prentice-Hall (1980)
4. Type-Based Termination with Sized Products
5. Automated higher-order complexity analysis
Cited by
28 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Circuit Width Estimation via Effect Typing and Linear Dependency;Lecture Notes in Computer Science;2024
2. Automatic Amortized Resource Analysis with Regular Recursive Types;2023 38th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS);2023-06-26
3. A Reusable Machine-Calculus for Automated Resource Analyses;Logic-Based Program Synthesis and Transformation;2023
4. Differential cost analysis with simultaneous potentials and anti-potentials;Proceedings of the 43rd ACM SIGPLAN International Conference on Programming Language Design and Implementation;2022-06-09
5. Effectful improvement theory;Science of Computer Programming;2022-05