Handbook of theoretical computer science (vol. B)
Tree automata, Mu-Calculus and determinacy
SFCS '91 Proceedings of the 32nd annual symposium on Foundations of computer science
Symbolic model checking: 1020 states and beyond
Information and Computation - Special issue: Selections from 1990 IEEE symposium on logic in computer science
Handbook of logic in computer science (vol. 2)
Precise interprocedural dataflow analysis via graph reachability
POPL '95 Proceedings of the 22nd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Data flow analysis is model checking of abstract interpretations
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Model checking the full modal mu-calculus for infinite sequential processes
Theoretical Computer Science
Pushdown processes: games and model-checking
Information and Computation - Special issue on FLOC '96
The SLAM project: debugging system software via static analysis
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Symbolic Model Checking
MOPS: an infrastructure for examining security properties of software
Proceedings of the 9th ACM conference on Computer and communications security
Data Flow Analysis as Model Checking
TACS '91 Proceedings of the International Conference on Theoretical Aspects of Computer Software
Bebop: A Symbolic Model Checker for Boolean Programs
Proceedings of the 7th International SPIN Workshop on SPIN Model Checking and Software Verification
CONCUR '96 Proceedings of the 7th International Conference on Concurrency Theory
Temporal-Safety Proofs for Systems Code
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
Model checking LTL with regular valuations for pushdown systems
Information and Computation - TACS 2001
STOC '04 Proceedings of the thirty-sixth annual ACM symposium on Theory of computing
Stack size analysis for interrupt-driven programs
SAS'03 Proceedings of the 10th international conference on Static analysis
Model Checking: From Tools to Theory
25 Years of Model Checking
Summarization for termination: no return!
Formal Methods in System Design
A saturation method for the modal μ-calculus over pushdown systems
Information and Computation
Software model checking using languages of nested trees
ACM Transactions on Programming Languages and Systems (TOPLAS)
Propositional dynamic logic with recursive programs
FOSSACS'06 Proceedings of the 9th European joint conference on Foundations of Software Science and Computation Structures
A structural/temporal query language for Business Processes
Journal of Computer and System Sciences
CAV'06 Proceedings of the 18th international conference on Computer Aided Verification
Adding nesting structure to words
DLT'06 Proceedings of the 10th international conference on Developments in Language Theory
Alternating automata and a temporal fixpoint calculus for visibly pushdown languages
CONCUR'07 Proceedings of the 18th international conference on Concurrency Theory
Regular languages of nested words: fixed points, automata, and synchronization
ICALP'07 Proceedings of the 34th international conference on Automata, Languages and Programming
Reducing behavioural to structural properties of programs with procedures
Theoretical Computer Science
Synthesis of hierarchical systems
Science of Computer Programming
Hi-index | 0.00 |
We define a new fixpoint modal logic, the visibly pushdown μ-calculus (VP-μ), as an extension of the modal μ-calculus. The models of this logic are execution trees of structured programs where the procedure calls and returns are made visible. This new logic can express pushdown specifications on the model that its classical counterpart cannot, and is motivated by recent work on visibly pushdown languages [4]. We show that our logic naturally captures several interesting program specifications in program verification and dataflow analysis. This includes a variety of program specifications such as computing combinations of local and global program flows, pre/post conditions of procedures, security properties involving the context stack, and interprocedural dataflow analysis properties. The logic can capture flow-sensitive and inter-procedural analysis, and it has constructs that allow skipping procedure calls so that local flows in a procedure can also be tracked. The logic generalizes the semantics of the modal μ-calculus by considering summaries instead of nodes as first-class objects, with appropriate constructs for concatenating summaries, and naturally captures the way in which pushdown models are model-checked. The main result of the paper is that the model-checking problem for VP-μ is effectively solvable against pushdown models with no more effort than that required for weaker logics such as CTL. We also investigate the expressive power of the logic VP-μ: we show that it encompasses all properties expressed by a corresponding pushdown temporal logic on linear structures (caret [2]) as well as by the classical μ-calculus. This makes VP-μ the most expressive known program logic for which algorithmic software model checking is feasible. In fact, the decidability of most known program logics (μ-calculus, temporal logics LTL and CTL, caret, etc.) can be understood by their interpretation in the monadic second-order logic over trees. This is not true for the logic VP-μ, making it a new powerful tractable program logic.