Results 1  10
of
29
Pushdown Processes: Games and Model Checking
, 1996
"... Games given by transition graphs of pushdown processes are considered. It is shown that ..."
Abstract

Cited by 182 (7 self)
 Add to MetaCart
Games given by transition graphs of pushdown processes are considered. It is shown that
Decidability of Model Checking for InfiniteState Concurrent Systems
 Acta Informatica
"... We study the decidability of the model checking problem for linear and branching time logics, and two models of concurrent computation, namely Petri nets and Basic Parallel Processes. 1 Introduction Most techniques for the verification of concurrent systems proceed by an exhaustive traversal of the ..."
Abstract

Cited by 64 (1 self)
 Add to MetaCart
(Show Context)
We study the decidability of the model checking problem for linear and branching time logics, and two models of concurrent computation, namely Petri nets and Basic Parallel Processes. 1 Introduction Most techniques for the verification of concurrent systems proceed by an exhaustive traversal of the state space. Therefore, they are inherently incapable of considering systems with infinitely many states. Recently, some new methods have been developed in order to at least palliate this problem. Using them, several verification problems for some restricted infinitestate models have been shown to be decidable. These results can be classified into those showing the decidability of equivalence relations [8, 9, 24, 26], and those showing the decidability of model checking for different modal and temporal logics. In this paper, we contribute to this second group. The model checking problem has been studied so far for three infinitestate models: contextfree processes, pushdown processes, and...
Modular Model Checking of Software
 In Conference on Tools and Algorithms for the Construction and Analysis of Systems
, 1997
"... This work presents a modular approach to temporal logic model checking of software. Model checking is a method that automatically determines whether a finite state system satisfies a temporal logic specification. Model checking algorithms have been successfully used to verify complex systems. Howeve ..."
Abstract

Cited by 22 (0 self)
 Add to MetaCart
(Show Context)
This work presents a modular approach to temporal logic model checking of software. Model checking is a method that automatically determines whether a finite state system satisfies a temporal logic specification. Model checking algorithms have been successfully used to verify complex systems. However, their use is limited by the high space requirements needed to represent the verified system. When hardware designs are considered, a typical solution is to partition the design into units running in parallel, and handle each unit separately. For software systems such a solution is not always feasible. This is because a software system might be too large to fit into memory even when it consists of a single sequential unit. To avoid the high space requirements for software we suggest to partition the program text into sequentially composed subprograms. Based on this partition, we present a model checking algorithm for software that arrives at its conclusion by examining each subprogram in s...
Algorithmic Verification of Asynchronous Programs
"... Asynchronous programming is a ubiquitous systems programming idiom to manage concurrent interactions with the environment. In this style, instead of waiting for timeconsuming operations to complete, the programmer makes a nonblocking call to the operation and posts a callback task to a task buffer ..."
Abstract

Cited by 21 (3 self)
 Add to MetaCart
Asynchronous programming is a ubiquitous systems programming idiom to manage concurrent interactions with the environment. In this style, instead of waiting for timeconsuming operations to complete, the programmer makes a nonblocking call to the operation and posts a callback task to a task buffer that is executed later when the timeconsuming operation completes. A cooperative scheduler mediates the interaction by picking and executing callback tasks from the task buffer to completion (and these callbacks can post further callbacks to be executed later). Writing correct asynchronous programs is hard because the use of callbacks, while efficient, obscures program control flow. We provide a formal model underlying asynchronous programs and study verification problems for this model. We show that the safety verification problem for finitedata asynchronous programs is expspacecomplete. We show that liveness verification for finitedata asynchronous programs is decidable and polynomialtime equivalent to Petri Net reachability. Decidability is not obvious, since even if the data is finitestate, asynchronous programs constitute infinitestate transition systems: both the program stack and the task buffer of pending asynchronous calls can be potentially unbounded. Our main technical construction is a polynomialtime semanticspreserving reduction from asynchronous programs to Petri Nets and conversely. The reduction allows the use of algorithmic techniques on Petri Nets
The FixpointAnalysis Machine
 Proc. CONCUR'95, volume 962 of Lecture Notes in Computer Science
, 1995
"... . We present a fixpointanalysis machine, for the efficient computation of homogeneous, hierarchical, and alternating fixpoints over regular, contextfree/pushdown and macro models. Applications of such fixpoint computations include intra and interprocedural data flow analysis, model checking for ..."
Abstract

Cited by 18 (2 self)
 Add to MetaCart
. We present a fixpointanalysis machine, for the efficient computation of homogeneous, hierarchical, and alternating fixpoints over regular, contextfree/pushdown and macro models. Applications of such fixpoint computations include intra and interprocedural data flow analysis, model checking for various temporal logics, and the verification of behavioural relations between distributed systems. The fixpointanalysis machine identifies an adequate (parameterized) level for a uniform treatment of all those problems, which, despite its uniformity, outperforms the `standard iteration based' special purpose tools usually by factors around 10, even if the additional compilation time is taken into account. 1 Introduction and Motivation A great number of analysis and verification problems such as abstract interpretation, data flow analysis, model checking, determination of behavioural relations between distributed systems, hardware verification and synthesis, etc., boil down to the computa...
Automatic Verification of Recursive Procedures with one Integer Parameter
 Theoretical Computer Science
, 2001
"... Contextfree processes (BPA) have been used for dataflowanalysis in recursive procedures with applications in optimizing compilers [6]. We introduce a more refined model called BPA(ZZ) that can model not only recursive dependencies, but also the passing of integer parameters to subroutines. More ..."
Abstract

Cited by 17 (1 self)
 Add to MetaCart
(Show Context)
Contextfree processes (BPA) have been used for dataflowanalysis in recursive procedures with applications in optimizing compilers [6]. We introduce a more refined model called BPA(ZZ) that can model not only recursive dependencies, but also the passing of integer parameters to subroutines. Moreover, these parameters can be tested against conditions expressible in Presburgerarithmetic.
More Infinite Results
 UNIVERSITY OF PASSAU. UNIVERSITY OF PASSAU
, 1996
"... Recently there has been a spurt of activity in concurrency theory centered on the analysis of infinitestate systems. The following two problems have been intensely investigated: (1) given two infinitestate systems, are they equal with respect to a certain equivalence notion?, and (2) given an i ..."
Abstract

Cited by 13 (1 self)
 Add to MetaCart
Recently there has been a spurt of activity in concurrency theory centered on the analysis of infinitestate systems. The following two problems have been intensely investigated: (1) given two infinitestate systems, are they equal with respect to a certain equivalence notion?, and (2) given an infinitestate system and a property expressed in a certain temporal logic, does the system satisfy the property? In his CONCUR '96 paper, Faron Moller surveys some of the key results on the decidability and complexity of (1). The purpose of this paper for CONCUR's satellite INFINITY Workshop is to do the same with (2).
Decidability of bisimulation equivalence for pushdown processes
, 2000
"... We show that bisimulation equivalence is decidable for pushdown automata without ǫtransitions. 1 ..."
Abstract

Cited by 13 (0 self)
 Add to MetaCart
(Show Context)
We show that bisimulation equivalence is decidable for pushdown automata without ǫtransitions. 1
Using Assumptions to Distribute CTL Model Checking
 Parallel and Distributed Model Checking (PDMC'2002), Electronic Notes in Theoretical Computer Science
, 2002
"... In this work we discuss the problem of performing distributed CTL model checking by splitting the given state space into several "partial state spaces". The partial state space is modelled as a Kripke structure with border states. Each computer involved in the distributed computation owns ..."
Abstract

Cited by 8 (0 self)
 Add to MetaCart
(Show Context)
In this work we discuss the problem of performing distributed CTL model checking by splitting the given state space into several "partial state spaces". The partial state space is modelled as a Kripke structure with border states. Each computer involved in the distributed computation owns a partial state space and performs a model checking algorithm on this incomplete structure. To be able to proceed, the border states are augmented by assumptions about the truth of formulas and the computers exchange assumptions about relevant states as they compute more precise information. In the paper we give the basic definitions and present the distributed algorithm.
Verifying liveness for asynchronous programs
 IN: POPL 2009: PROC. 36TH ACM SIGACTSIGPLAN SYMP. ON PRINCIPLES OF PROGRAMMING LANGUAGES
, 2009
"... Asynchronous or “eventdriven” programming is a popular technique to efficiently and flexibly manage concurrent interactions. In these programs, the programmer can post tasks that get stored in a task buffer and get executed atomically by a nonpreemptive scheduler at a future point. We give a decis ..."
Abstract

Cited by 5 (1 self)
 Add to MetaCart
(Show Context)
Asynchronous or “eventdriven” programming is a popular technique to efficiently and flexibly manage concurrent interactions. In these programs, the programmer can post tasks that get stored in a task buffer and get executed atomically by a nonpreemptive scheduler at a future point. We give a decision procedure for the fair termination property of asynchronous programs. The fair termination problem asks, given an asynchronous program and a fairness condition on its executions, does the program always terminate on fair executions? The fairness assumptions rule out certain undesired bad behaviors, such as where the scheduler ignores a set of posted tasks forever, or where a nondeterministic branch is always chosen in one direction. Since every liveness property reduces to a fair termination property, our decision procedure extends to liveness properties of asynchronous programs. Our decision