Interval-based Resource Usage Verification by Translation into Horn Clauses and an Application to Energy Consumption
Pedro Lopez-Garcia, Luthfi Darmawan, Maximiliano Klemen, Umer Liqat,, Francisco Bueno, Manuel V. Hermenegildo

TL;DR
This paper introduces a flexible static resource usage verification framework that infers and compares resource functions against specifications, supporting multiple languages and data-dependent bounds, with an application to energy consumption in embedded programs.
Contribution
It extends existing frameworks to handle interval-based specifications, supports various input languages through Horn clause translation, and applies to energy verification in embedded systems.
Findings
Successfully implemented within Ciao/CiaoPP framework.
Extended class of functions for resource analysis.
Validated on energy consumption specifications for embedded programs.
Abstract
Many applications require conformance with specifications that constrain the use of resources, such as execution time, energy, bandwidth, etc. We have presented a configurable framework for static resource usage verification where specifications can include lower and upper bound, data size-dependent resource usage functions. To statically check such specifications, our framework infers the same type of resource usage functions, which safely approximate the actual resource usage of the program, and compares them against the specification. We review how this framework supports several languages and compilation output formats by translating them to an intermediate representation based on Horn clauses and using the configurability of the framework to describe the resource semantics of the input language. We provide a more detailed formalization and extend the framework so that both resource…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
