Completing the temporal picture
Selected papers of the 16th international colloquium on Automata, languages, and programming
The temporal logic of reactive and concurrent systems
The temporal logic of reactive and concurrent systems
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Temporal verification of reactive systems: safety
Temporal verification of reactive systems: safety
Ten Years of Hoare's Logic: A Survey—Part I
ACM Transactions on Programming Languages and Systems (TOPLAS)
An axiomatic basis for computer programming
Communications of the ACM
CAV '01 Proceedings of the 13th International Conference on Computer Aided Verification
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
First-Order and Temporal Logics for Nested Words
LICS '07 Proceedings of the 22nd Annual IEEE Symposium on Logic in Computer Science
Sound, complete and scalable path-sensitive analysis
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
The temporal logic of programs
SFCS '77 Proceedings of the 18th Annual Symposium on Foundations of Computer Science
Adding nesting structure to words
Journal of the ACM (JACM)
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Summarization for termination: no return!
Formal Methods in System Design
Weighted pushdown systems and their application to interprocedural dataflow analysis
SAS'03 Proceedings of the 10th international conference on Static analysis
Summaries for while programs with recursion
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
FSTTCS'04 Proceedings of the 24th international conference on Foundations of Software Technology and Theoretical Computer Science
Regular languages of nested words: fixed points, automata, and synchronization
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
Procedure-modular verification of control flow safety properties
Proceedings of the 12th Workshop on Formal Techniques for Java-Like Programs
CVPP: a tool set for compositional verification of control-flow safety properties
FoVeOOS'10 Proceedings of the 2010 international conference on Formal verification of object-oriented software
ProMoVer: modular verification of temporal safety properties
SEFM'11 Proceedings of the 9th international conference on Software engineering and formal methods
Reducing behavioural to structural properties of programs with procedures
Theoretical Computer Science
Hi-index | 0.00 |
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.