256 research outputs found
Efficient CTL Verification via Horn Constraints Solving
The use of temporal logics has long been recognised as a fundamental approach
to the formal specification and verification of reactive systems. In this
paper, we take on the problem of automatically verifying a temporal property,
given by a CTL formula, for a given (possibly infinite-state) program. We
propose a method based on encoding the problem as a set of Horn constraints.
The method takes a program, modeled as a transition system, and a property
given by a CTL formula as input. It first generates a set of forall-exists
quantified Horn constraints and well-foundedness constraints by exploiting the
syntactic structure of the CTL formula. Then, the generated set of constraints
are solved by applying an off-the-shelf Horn constraints solving engine. The
program is said to satisfy the property if and only if the generated set of
constraints has a solution. We demonstrate the practical promises of the method
by applying it on a set of challenging examples. Although our method is based
on a generic Horn constraint solving engine, it is able to outperform
state-of-art methods specialised for CTL verification.Comment: In Proceedings HCVS2016, arXiv:1607.0403
New results on pushdown module checking with imperfect information
Model checking of open pushdown systems (OPD) w.r.t. standard branching
temporal logics (pushdown module checking or PMC) has been recently
investigated in the literature, both in the context of environments with
perfect and imperfect information about the system (in the last case, the
environment has only a partial view of the system's control states and stack
content). For standard CTL, PMC with imperfect information is known to be
undecidable. If the stack content is assumed to be visible, then the problem is
decidable and 2EXPTIME-complete (matching the complexity of PMC with perfect
information against CTL). The decidability status of PMC with imperfect
information against CTL restricted to the case where the depth of the stack
content is visible is open. In this paper, we show that with this restriction,
PMC with imperfect information against CTL remains undecidable. On the other
hand, we individuate an interesting subclass of OPDS with visible stack content
depth such that PMC with imperfect information against the existential fragment
of CTL is decidable and in 2EXPTIME. Moreover, we show that the program
complexity of PMC with imperfect information and visible stack content against
CTL is 2EXPTIME-complete (hence, exponentially harder than the program
complexity of PMC with perfect information, which is known to be
EXPTIME-complete).Comment: In Proceedings GandALF 2011, arXiv:1106.081
On undecidability results of real programming languages
Original article can be found at : http://www.vmars.tuwien.ac.at/ Copyright Institut fur Technische InformatikOften, it is argued that some problems in data-flow analysis such as e.g. worst case execution time analysis are undecidable (because the halting problem is) and therefore only a conservative approximation of the desired information is possible. In this paper, we show that the semantics for some important real programming languages â in particular those used for programming embedded devices â can be modeled as finite state systems or pushdown machines. This implies that the halting problem becomes decidable and therefore invalidates popular arguments for using conservative analysis
Branching-time model checking of one-counter processes
One-counter processes (OCPs) are pushdown processes which operate only on a
unary stack alphabet. We study the computational complexity of model checking
computation tree logic (CTL) over OCPs. A PSPACE upper bound is inherited from
the modal mu-calculus for this problem. First, we analyze the periodic
behaviour of CTL over OCPs and derive a model checking algorithm whose running
time is exponential only in the number of control locations and a syntactic
notion of the formula that we call leftward until depth. Thus, model checking
fixed OCPs against CTL formulas with a fixed leftward until depth is in P. This
generalizes a result of the first author, Mayr, and To for the expression
complexity of CTL's fragment EF. Second, we prove that already over some fixed
OCP, CTL model checking is PSPACE-hard. Third, we show that there already
exists a fixed CTL formula for which model checking of OCPs is PSPACE-hard. To
obtain the latter result, we employ two results from complexity theory: (i)
Converting a natural number in Chinese remainder presentation into binary
presentation is in logspace-uniform NC^1 and (ii) PSPACE is AC^0-serializable.
We demonstrate that our approach can be used to obtain further results. We show
that model-checking CTL's fragment EF over OCPs is hard for P^NP, thus
establishing a matching lower bound and answering an open question of the first
author, Mayr, and To. We moreover show that the following problem is hard for
PSPACE: Given a one-counter Markov decision process, a set of target states
with counter value zero each, and an initial state, to decide whether the
probability that the initial state will eventually reach one of the target
states is arbitrarily close to 1. This improves a previously known lower bound
for every level of the Boolean hierarchy by Brazdil et al
On Reachability Analysis of Pushdown Systems with Transductions: Application to Boolean Programs with Call-by-Reference
Pushdown systems with transductions (TrPDSs) are an extension of pushdown systems (PDSs) by associating each transition rule with a transduction, which allows to inspect and modify the stack content at each step of a transition rule. It was shown by Uezato and Minamide that TrPDSs can model PDSs with checkpoint and discrete-timed PDSs. Moreover, TrPDSs can be simulated by PDSs and the predecessor configurations pre^*(C) of a regular set C of configurations can be computed by a saturation procedure when the closure of the transductions in TrPDSs is finite. In this work, we comprehensively investigate the reachability problem of finite TrPDSs. We propose a novel saturation procedure to compute pre^*(C) for finite TrPDSs. Also, we introduce a saturation procedure to compute the successor configurations post^*(C) of a regular set C of configurations for finite TrPDSs. From these two saturation procedures, we present two efficient implementation algorithms to compute pre^*(C) and post^*(C). Finally, we show how the presence of transductions enables the modeling of Boolean programs with call-by-reference parameter passing. The TrPDS model has finite closure of transductions which results in model-checking approach for Boolean programs with call-by-reference parameter passing against safety properties
Model Checking Probabilistic Pushdown Automata
We consider the model checking problem for probabilistic pushdown automata
(pPDA) and properties expressible in various probabilistic logics. We start
with properties that can be formulated as instances of a generalized random
walk problem. We prove that both qualitative and quantitative model checking
for this class of properties and pPDA is decidable. Then we show that model
checking for the qualitative fragment of the logic PCTL and pPDA is also
decidable. Moreover, we develop an error-tolerant model checking algorithm for
PCTL and the subclass of stateless pPDA. Finally, we consider the class of
omega-regular properties and show that both qualitative and quantitative model
checking for pPDA is decidable
LTL Model-Checking for Dynamic Pushdown Networks Communicating via Locks
A Dynamic Pushdown Network (DPN) is a set of pushdown systems (PDSs) where each process can dynamically create new instances of PDSs. DPNs are a natural model of multi-threaded programs with (possibly recursive) procedure calls and thread creation. Extension of DPNs with locks allows processes to synchronize via locks. Thus, DPNs with locks are a well adapted formalism to model multi-threaded programs that synchronize via locks. Therefore, it is important to have model-checking algorithms for DPNs with locks. However, in general, the model-checking problem of DPNs with locks against reachability properties, and hence Linear Temporal Logic (LTL), is undecidable. To obtain de-cidable results, we study in this work the model-checking problem of DPNs with well-nested locks against single-indexed Linear Temporal Logic (LTL) properties of the form E f i s.t. f i is a LTL formula interpreted over the PDS i. We show that this model-checking problem is decidable. We propose an automata-based approach for computing the set of configurations of a DPN with locks that satisfy the corresponding single-indexed LTL formula
Module checking of pushdown multi-agent systems
In this paper, we investigate the module-checking problem of pushdown
multi-agent systems (PMS) against ATL and ATL* specifications. We establish
that for ATL, module checking of PMS is 2EXPTIME-complete, which is the same
complexity as pushdown module-checking for CTL. On the other hand, we show that
ATL* module-checking of PMS turns out to be 4EXPTIME-complete, hence
exponentially harder than both CTL* pushdown module-checking and ATL*
model-checking of PMS. Our result for ATL* provides a rare example of a natural
decision problem that is elementary yet but with a complexity that is higher
than triply exponential-time.Comment: arXiv admin note: substantial text overlap with arXiv:1709.0210
Module Checking of Pushdown Multi-agent Systems
In this paper, we investigate the module-checking problem of pushdown multi-agent systems (PMS) against ATL and ATL* specifications. We establish that for ATL, module checking of PMS is 2EXPTIME-complete, which is the same complexity as pushdown module-checking for CTL. On the other hand, we show that ATL* module-checking of PMS turns out to be 4EXPTIME-complete, hence exponentially harder than both CTL* pushdown module-checking and ATL* model-checking of PMS. Our result for ATL* provides a rare example of a natural decision problem that is elementary yet but with a complexity that is higher than triply exponential-time
- âŠ