arXiv · 2210.11105
Execution Time Program Verification With Tight Bounds
Abstract
This paper presents a proof system for reasoning about execution time bounds for a core imperative programming language. Proof systems are defined for three different scenarios: approximations of the worst-case execution time, exact time reasoning, and less pessimistic execution time estimation using amortized analysis. We define a Hoare logic for the three cases and prove its soundness with respect to an annotated cost-aware operational semantics. Finally, we define a verification conditions (VC) generator that generates the goals needed to prove program correctness, cost, and termination. Those goals are then sent to the Easycrypt toolset for validation. The practicality of the proof system is demonstrated with an implementation in OCaml of the different modules needed to apply it to example programs. Our case studies are motivated by real-time and cryptographic software.
Explore related subjects
Keep this discovery
Ana Carolina Silva, Manuel Barbosa, Mario Florido. 2022-10-20. Execution Time Program Verification With Tight Bounds. https://arxiv.org/abs/2210.11105
Cite the original work for its findings. Save a collection to share your selection of sources.