Efficient Cost Bounds with Linear Maps
By: David M Kahn , Jan Hoffmann , Thomas Reps and more
Potential Business Impact:
Finds computer program costs faster, even complex ones.
The Automatic Amortized Resource Analysis (AARA) derives program-execution cost bounds using types. To do so, AARA often makes use of cost-free types, which are critical for the composition of types and cost bounds. However, inferring cost-free types using the current state-of-the-art algorithm is expensive due to recursive dependence on additional cost-free types. Furthermore, that algorithm uses a heuristic only applicable to polynomial cost bounds, and not, e.g., exponential bounds. This paper presents a new approach to these problems by representing the cost-free types of a function in a new way: with a linear map, which can stand for infinitely many cost-free types. Such maps enable an algebraic flavor of reasoning about cost bounds (including non-polynomial bounds) via matrix inequalities. These inequalities can be solved with off-the-shelf linear-programming tools for many programs, so that types can always be efficiently checked and often be efficiently inferred. An experimental evaluation with a prototype implementation shows that-when it is applicable-the inference of linear maps is exponentially more efficient than the state-of-the-art algorithm.
Similar Papers
Automatic Linear Resource Bound Analysis for Rust via Prophecy Potentials
Programming Languages
Helps Rust programs run faster by checking their code.
Resource-Bounded Martin-Löf Type Theory: Compositional Cost Analysis for Dependent Types
Logic in Computer Science
Guarantees computer programs run fast enough.
Resource-Bounded Type Theory: Compositional Cost Analysis via Graded Modalities
Logic in Computer Science
Guarantees computer programs won't run too long.