2022/10/20 by Ana Carolina Silva, Silva, Ana Carolina, Manuel Barbosa +3
Computer Science · #Embedded Systems Design Techniques #FOS: Computer and information sciences #Formal Methods in Verification #Programming Languages (cs.PL) #Real-Time Systems Scheduling
paper · pdf · doi:10.48550/arxiv.2210.11105
openalex publication_date 2022/10/20 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/28
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.