
Departmental Papers (CIS)
Date of this Version
1-2010
Document Type
Conference Paper
Recommended Citation
Rajeev Alur and Swarat Chaudhuri, "Temporal Reasoning for Procedural Programs", Lecture Notes in Computer Science: Verification, Model Checking, and Abstract Interpretation 5944, 45-60. January 2010. http://dx.doi.org/10.1007/978-3-642-11319-2_7
Abstract
While temporal verification of programs is a topic with a long history, its traditional basis—semantics based on word languages—is ill-suited for modular reasoning about procedural programs. We address this issue by defining the semantics of procedural (potentially recursive) programs using languages of nested words and developing a framework for temporal reasoning around it. This generalization has two benefits. First, this style of reasoning naturally unifies Manna-Pnueli-style temporal reasoning with Hoare-style reasoning about structured programs. Second, it allows verification of "non-regular" properties of specific procedural contexts—e.g., "If a lock is acquired in a context, then it is released in the same context." We present proof rules for a variety of properties such as local safety, local response, and staircase reactivity; our rules are sufficient to prove all temporal properties over nested words. We show that our rules are sound and relatively complete.
Subject Area
CPS Formal Methods
Publication Source
Lecture Notes in Computer Science: Verification, Model Checking, and Abstract Interpretation
Volume
5944
Start Page
45
Last Page
60
DOI
10.1007/978-3-642-11319-2_7
Copyright/Permission Statement
The original publication is available at www.springerlink.com
Date Posted: 16 July 2012
Comments
From the 11th International Conference, VMCAI 2010, Madrid, Spain, January 17-19, 2010.