Results 1  10
of
14
Types and HigherOrder Recursion Schemes for Verification of HigherOrder Programs
, 2009
"... We propose a new verification method for temporal properties of higherorder functional programs, which takes advantage of Ong’s recent result on the decidability of the modelchecking problem for higherorder recursion schemes (HORS’s). A program is transformed to an HORS that generates a tree repr ..."
Abstract

Cited by 63 (14 self)
 Add to MetaCart
We propose a new verification method for temporal properties of higherorder functional programs, which takes advantage of Ong’s recent result on the decidability of the modelchecking problem for higherorder recursion schemes (HORS’s). A program is transformed to an HORS that generates a tree representing all the possible event sequences of the program, and then the HORS is modelchecked. Unlike most of the previous methods for verification of higherorder programs, our verification method is sound and complete. Moreover, this new verification framework allows a smooth integration of abstract model checking techniques into verification of higherorder programs. We also present a typebased verification algorithm for HORS’s. The algorithm can deal with only a fragment of the properties expressed by modal μcalculus, but the algorithm and its correctness proof are (arguably) much simpler than those of Ong’s gamesemanticsbased algorithm. Moreover, while the HORS model checking problem is nEXPTIME in general, our algorithm is linear in the size of HORS, under the assumption that the sizes of types and specifications are bounded by a constant.
Collapsible Pushdown Automata and Recursion Schemes
 23RD ANNUAL IEEE SYMPOSIUM ON LOGIC IN COMPUTER SCIENCE
, 2008
"... Collapsible pushdown automata (CPDA) are a new kind of higherorder pushdown automata in which every symbol in the stack has a link to a stack situated somewhere below it. In addition to the higherorder stack operations push i and pop i, CPDA have an important operation called collapse, whose effec ..."
Abstract

Cited by 54 (17 self)
 Add to MetaCart
Collapsible pushdown automata (CPDA) are a new kind of higherorder pushdown automata in which every symbol in the stack has a link to a stack situated somewhere below it. In addition to the higherorder stack operations push i and pop i, CPDA have an important operation called collapse, whose effect is to “collapse ” a stack s to the prefix as indicated by the link from the topmost symbol of s. Our first result is that CPDA are equiexpressive with recursion schemes as generators of (possibly infinite) ranked trees. In one direction, we give a simple algorithm that transforms an ordern CPDA to an ordern recursion scheme that generates the same tree, uniformly for all n ≥ 0. In the other direction, using ideas from game semantics, we give an effective transformation of ordern recursion schemes (not assumed
ModelChecking HigherOrder Functions
, 2009
"... We propose a novel typebased model checking algorithm for higherorder recursion schemes. As shown by Kobayashi, verification problems of higherorder functional programs can easily be translated into model checking problems of recursion schemes. Thus, the model checking algorithm serves as a basis ..."
Abstract

Cited by 28 (13 self)
 Add to MetaCart
We propose a novel typebased model checking algorithm for higherorder recursion schemes. As shown by Kobayashi, verification problems of higherorder functional programs can easily be translated into model checking problems of recursion schemes. Thus, the model checking algorithm serves as a basis for verification of higherorder functional programs. To our knowledge, this is the first practical algorithm for model checking recursion schemes: all the previous algorithms always suffer from the nEXPTIME bottleneck, not only in the worst case, and there was no implementation of the algorithms. We have implemented a model checker for recursion schemes based on the proposed algorithm, and applied it to verification of functional programs, including reachability, flow analysis and resource usage verification problems. According to our experiments, the model checker is surprisingly fast: it could automatically verify a number of small but tricky higherorder functional programs in less than a second.
Symbolic backwardsreachability analysis for higherorder pushdown systems
 IN FOSSACS
, 2007
"... Higherorder pushdown systems (PDSs) generalise pushdown systems through the use of higherorder stacks; that is, a nested “stack of stacks ” structure. These systems may be used to model higherorder programs and are closely related to the Caucal hierarchy of infinite graphs and safe higherorder ..."
Abstract

Cited by 15 (5 self)
 Add to MetaCart
(Show Context)
Higherorder pushdown systems (PDSs) generalise pushdown systems through the use of higherorder stacks; that is, a nested “stack of stacks ” structure. These systems may be used to model higherorder programs and are closely related to the Caucal hierarchy of infinite graphs and safe higherorder recursion schemes. We generalise higherorder PDSs to higherorder Alternating PDSs (APDSs) and consider the backwardsreachability problem over these systems. This builds on and extends previous work into pushdown systems and contextfree higherorder processes in a nontrivial manner. In particular, we show that the set of configurations from which a regular set of higherorder APDS configurations is reachable is regular and computable in nEXPTIME. In fact, the problem is nEXPTIMEcomplete. We show that this work has several applications in the verification of higherorder PDSs, such as lineartime modelchecking, alternationfree µcalculus modelchecking and the computation of winning regions of reachability games.
A saturation method for collapsible pushdown systems
 In Proc. of ICALP’12, volume 7392 of LNCS
, 2012
"... Abstract. We introduce a natural extension of collapsible pushdown systems called annotated pushdown systems that replaces collapse links with stack annotations. We believe this new model has many advantages. We present a saturation method for global backwards reachability analysis of these models ..."
Abstract

Cited by 12 (4 self)
 Add to MetaCart
(Show Context)
Abstract. We introduce a natural extension of collapsible pushdown systems called annotated pushdown systems that replaces collapse links with stack annotations. We believe this new model has many advantages. We present a saturation method for global backwards reachability analysis of these models that can also be used to analyse collapsible pushdown systems. Beginning with an automaton representing a set of configurations, we build an automaton accepting all configurations that can reach this set. We also improve upon previous saturation techniques for higherorder pushdown systems by significantly reducing the size of the automaton constructed and simplifying the algorithm and proofs.
Saturation of Concurrent Collapsible Pushdown Systems
"... Multistack pushdown systems are a wellstudied model of concurrent computation using threads with firstorder procedure calls. While, in general, reachability is undecidable, there are numerous restrictions on stack behaviour that lead to decidability. To model higherorder procedures calls, a gene ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
Multistack pushdown systems are a wellstudied model of concurrent computation using threads with firstorder procedure calls. While, in general, reachability is undecidable, there are numerous restrictions on stack behaviour that lead to decidability. To model higherorder procedures calls, a generalisation of pushdown stacks called collapsible pushdown stacks are required. Reachability problems for multistack collapsible pushdown systems have been little studied. Here, we study ordered, phasebounded and scopebounded multistack collapsible pushdown systems using saturation techniques, showing decidability of control state reachability and giving a regular representation of all configurations that can reach a given control state.
CSHORe: A collapsible approach to verifying higherorder programs
, 2013
"... Higherorder recursion schemes (HORS) have recently received much attention as a useful abstraction of higherorder functional programs with a number of new verification techniques employing HORS modelchecking as their centrepiece. This paper contributes to the ongoing quest for a truly scalable ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Higherorder recursion schemes (HORS) have recently received much attention as a useful abstraction of higherorder functional programs with a number of new verification techniques employing HORS modelchecking as their centrepiece. This paper contributes to the ongoing quest for a truly scalable modelchecker for HORS by offering a different, automata theoretic perspective. We introduce the first practical modelchecking algorithm that acts on a generalisation of pushdown automata equiexpressive with HORS called collapsible pushdown systems (CPDS). At its core is a substantial modification of a recently studied saturation algorithm for CPDS. In particular it is able to use information gathered from an approximate forward reachability analysis to guide its backward search. Moreover, we introduce an algorithm that prunes the CPDS prior to modelchecking and a method for extracting counterexamples in negative instances. We compare our tool with the stateoftheart verification tools for HORS and obtain encouraging results. In contrast to some of the main competition tackling the same problem, our algorithm is fixedparameter tractable, and we also offer significantly improved performance over the only previously published tool of which we are aware that also enjoys this property. The tool and additional material are available from
Collapse Operation Increases Expressive Power of Deterministic Higher Order Pushdown Automata
 In 28th International Symposium on Theoretical Aspects of Computer Science (STACS 2011), T. Schwentick and C. Dürr, Eds. Leibniz International Proceedings in Informatics (LIPIcs
"... We show that collapsible deterministic second level pushdown automata can recognize more languages than deterministic second level pushdown automata (without collapse). This implies that there exists a tree generated by a second level recursion scheme which is not generated by any second level safe ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
We show that collapsible deterministic second level pushdown automata can recognize more languages than deterministic second level pushdown automata (without collapse). This implies that there exists a tree generated by a second level recursion scheme which is not generated by any second level safe recursion scheme.
Evaluation is MSOL compatible
"... We consider simplytyped lambda calculus with fixpoint operators. Evaluation of a term gives as a result the Böhm tree of the term. We show that evaluation is compatible with monadic secondorder logic (MSOL). This means that for a fixed finite vocabulary of terms, the MSOL properties of Böhm trees ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We consider simplytyped lambda calculus with fixpoint operators. Evaluation of a term gives as a result the Böhm tree of the term. We show that evaluation is compatible with monadic secondorder logic (MSOL). This means that for a fixed finite vocabulary of terms, the MSOL properties of Böhm trees of terms are effectively MSOL properties of terms themselves. Theorems of this kind have been known for some graph operations: unfolding, and Muchnik iteration. Similarly to those results, our main theorem has diverse applications. It can be used to show decidability results, to construct classes of graphs with decidable MSOL theory, or to obtain MSOL formulas expressing behavioral properties of terms. Another application is decidability of a controlflow synthesis problem. 1