A Weakest Precondition Calculus for Programs and Linear Temporal Specifications

📅 2026-02-11
📈 Citations: 0
Influential: 0
📄 PDF
🤖 AI Summary
Existing automated verification tools struggle to effectively support the verification of linear temporal properties for structured, data-intensive programs. This work proposes the first weakest-precondition calculus tailored for linear temporal logic, integrating symbolic execution with automated theorem proving to automatically translate program annotations into decidable verification conditions, thereby enabling fully automatic verification without manual intervention. The calculus unifies program semantics with temporal specifications, establishing an end-to-end automated verification workflow. Its effectiveness is demonstrated across multiple representative case studies, offering a scalable and fully automated solution for verifying temporal properties of structured programs.

Technology Category

Application Category

📝 Abstract
Auto-active program verification rests on the ability to effectively the translation from annotated programs into verification conditions that are then discharged by automated theorem provers in the background. Characteristic such tools, e.g., Why3, Dafny, and Viper, is that this process does not involve user interaction, expecting all guiding hints like invariants to be given upfront. For sequential correctness, this paradigm is well established, thanks to approaches like weakest precondition generation and symbolic execution. However, to capture temporal properties, the specification language of choice for a broader system perspective, additional concerns and challenges are introduced into the translation and proof. Approaches based on symbolic model-checking can verify such properties on system models, e.g., using automata constructions. However, ascribing temporal properties to structured and data-intensive programs is more difficult. Several program calculi have been proposed in the literature, each of which on their own falls short in some regard of supporting an auto-active workflow. However, all essential ideas, while perhaps some are not widely acknowledged, are in fact found in the literature. In this paper, we demonstrate how to assemble these ideas into a weakest-precondition calculus for linear temporal properties and demonstrate it with examples.
Problem

Research questions and friction points this paper is trying to address.

weakest precondition
linear temporal logic
program verification
auto-active verification
temporal specifications
Innovation

Methods, ideas, or system contributions that make the work stand out.

weakest precondition
linear temporal logic
auto-active verification
program calculus
temporal specifications
🔎 Similar Papers
No similar papers found.