Affiliation:
1. University of Pennsylvania
2. University of Illinois, Urbana-Champaign
Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference26 articles.
1. R. Alur S. Chaudhuri and P. Madhusudan. Visibly pushdown tree languages. http://www.cis.upenn.edu/~swarat/pubs/vptl.ps+.]] R. Alur S. Chaudhuri and P. Madhusudan. Visibly pushdown tree languages. http://www.cis.upenn.edu/~swarat/pubs/vptl.ps+.]]
2. A Temporal Logic of Nested Calls and Returns
3. Visibly pushdown languages
Cited by
12 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. A Navigation Logic for Recursive Programs with Dynamic Thread Creation;Lecture Notes in Computer Science;2023-12-30
2. Temporal logics with language parameters;Information and Computation;2023-12
3. Interval Temporal Logic for Visibly Pushdown Systems;ACM Transactions on Computational Logic;2023-04-17
4. Colored nested words;Formal Methods in System Design;2021-11
5. A Branching Time Variant of CaRet;Model Checking Software;2018