Execution Time Program Verification With Tight Bounds
Ana Carolina Silva, Manuel Barbosa, Mario Florido

TL;DR
This paper introduces a proof system for verifying execution time bounds in imperative programs, covering worst-case, exact, and amortized analyses, validated through an implementation and real-world case studies.
Contribution
It develops a Hoare logic framework for execution time bounds, integrating cost-aware semantics and a VC generator, with practical validation on real-time and cryptographic software.
Findings
Proof system accurately verifies execution time bounds.
Implementation demonstrates practical applicability.
Case studies confirm effectiveness on real-world software.
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.
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsReal-Time Systems Scheduling · Formal Methods in Verification · Embedded Systems Design Techniques
