Temporal Reasoning for Procedural Programs

  • Rajeev Alur
  • Swarat Chaudhuri
Conference paper

DOI: 10.1007/978-3-642-11319-2_7

Part of the Lecture Notes in Computer Science book series (LNCS, volume 5944)
Cite this paper as:
Alur R., Chaudhuri S. (2010) Temporal Reasoning for Procedural Programs. In: Barthe G., Hermenegildo M. (eds) Verification, Model Checking, and Abstract Interpretation. VMCAI 2010. Lecture Notes in Computer Science, vol 5944. Springer, Berlin, Heidelberg


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Rajeev Alur
    • 1
  • Swarat Chaudhuri
    • 2
  1. 1.University of PennsylvaniaUSA
  2. 2.Pennsylvania State UniversityUSA

Personalised recommendations