Results 1 - 10
of
18
Verification on Infinite Structures
, 2000
"... In this chapter, we present a hierarchy of infinite-state systems based on the primitive operations of sequential and parallel composition; the hierarchy includes a variety of commonly-studied classes of systems such as context-free and pushdown automata, and Petri net processes. We then examine the ..."
Abstract
-
Cited by 50 (3 self)
- Add to MetaCart
In this chapter, we present a hierarchy of infinite-state systems based on the primitive operations of sequential and parallel composition; the hierarchy includes a variety of commonly-studied classes of systems such as context-free and pushdown automata, and Petri net processes. We then examine the equivalence and regularity checking problems for these classes, with special emphasis on bisimulation equivalence, stressing the structural techniques which have been devised for solving these problems. Finally, we explore the model checking problem over these classes with respect to various linear- and branching-time temporal logics.
Precise Interprocedural Analysis through Linear Algebra
, 2004
"... We apply linear algebra techniques to precise interprocedural dataflow analysis. Specifically, we describe analyses that determine for each program point identities that are valid among the program variables whenever control reaches that program point. Our analyses fully interpret assignment stateme ..."
Abstract
-
Cited by 50 (10 self)
- Add to MetaCart
We apply linear algebra techniques to precise interprocedural dataflow analysis. Specifically, we describe analyses that determine for each program point identities that are valid among the program variables whenever control reaches that program point. Our analyses fully interpret assignment statements with affine expressions on the right hand side while considering other assignments as non-deterministic and ignoring conditions at branches. Under this abstraction, the analysis computes the set of all affine relations and, more generally, all polynomial relations of bounded degree precisely. The running time of our algorithms is linear in the program size and polynomial in the number of occurring variables. We also show how to deal with affine preconditions and local variables and indicate how to handle parameters and return values of procedures.
Regular Symbolic Analysis of Dynamic Networks of Pushdown Processes
, 2005
"... Abstract. We introduce two abstract models for multithreaded programs based on dynamic networks of pushdown systems. We address the problem of symbolic reachability analysis for these models. More precisely, we consider the problem of computing effective representations of their reachability sets us ..."
Abstract
-
Cited by 31 (13 self)
- Add to MetaCart
Abstract. We introduce two abstract models for multithreaded programs based on dynamic networks of pushdown systems. We address the problem of symbolic reachability analysis for these models. More precisely, we consider the problem of computing effective representations of their reachability sets using finite-state automata. We show that, while forward reachability sets are not regular in general, backward reachability sets starting from regular sets of configurations are always regular. We provide algorithms for computing backward reachability sets using word/tree automata, and show how these algorithms can be applied for flow analysis of multithreaded programs. 1
On Optimal Slicing of Parallel Programs
- STOC'01
, 2001
"... Optimal program slicing determines for a statement S in a program pi whether or not S affects a specified set of statements, given that all conditionals in pi are interpreted as non-deterministic choices. Only recently ..."
Abstract
-
Cited by 19 (6 self)
- Add to MetaCart
Optimal program slicing determines for a statement S in a program pi whether or not S affects a specified set of statements, given that all conditionals in pi are interpreted as non-deterministic choices. Only recently
Model checking multithreaded programs with asynchronous atomic methods
- In 18th International Conference on Computer Aided Verification (CAV’06). LNCS
, 2006
"... Abstract. In order to make multithreaded programming manageable, programmers often follow a design principle where they break the problem into tasks which are then solved asynchronously and concurrently on different threads. This paper investigates the problem of model checking programs that follow ..."
Abstract
-
Cited by 15 (5 self)
- Add to MetaCart
Abstract. In order to make multithreaded programming manageable, programmers often follow a design principle where they break the problem into tasks which are then solved asynchronously and concurrently on different threads. This paper investigates the problem of model checking programs that follow this idiom. We present a programming language SPL that encapsulates this design pattern. SPL extends simplified form of sequential Java to which we add the capability of making asynchronous method invocations in addition to the standard synchronous method calls and the ability to execute asynchronous methods in threads atomically and concurrently. Our main result shows that the control state reachability problem for finite SPL programs is decidable. Therefore, such multithreaded programs can be model checked using the counterexample guided abstraction-refinement framework. 1
Context-Sensitive Slicing of Concurrent Programs
, 2003
"... Program slicing is a technique to identify statements that may influence the computations at other statements. Precise slicing has been shown to be undecidable for concurrent programs. This work presents the first context-sensitive approach to slice concurrent programs accurately. It extends the wel ..."
Abstract
-
Cited by 14 (1 self)
- Add to MetaCart
Program slicing is a technique to identify statements that may influence the computations at other statements. Precise slicing has been shown to be undecidable for concurrent programs. This work presents the first context-sensitive approach to slice concurrent programs accurately. It extends the well known structures of the control flow graph and the (interprocedural) program dependence graph for concurrent programs with interference. This new technique does not require serialization or inlining.
Grammars as processes
- In Formal and Natural Computing, volume 2300 of LNCS
, 2002
"... ETAPS conference and he was taking part in a meeting. The next day I was giving a talk with the title “Grammars as Processes”, and Grzegorz, who had seen it announced in the program, asked me about it. We had little time, and so I could barely sketch the contents. I think Grzegorz would have liked t ..."
Abstract
-
Cited by 10 (0 self)
- Add to MetaCart
ETAPS conference and he was taking part in a meeting. The next day I was giving a talk with the title “Grammars as Processes”, and Grzegorz, who had seen it announced in the program, asked me about it. We had little time, and so I could barely sketch the contents. I think Grzegorz would have liked the talk, because it pointed out an interesting connection between two of his oldest loves, formal languages and concurrency theory, and showed how a model of computation derived from this connection has a natural application in the area of program analysis. He would have also liked to see how an abstract result obtained by Büchi in 1964 on regular canonical systems was the basis to new algorithms for the analysis of software. This paper is a written version of the talk, and it also surveys the new results
Reachability analysis of synchronized PA systems
- In Proceedings of Infinity 2004
, 2004
"... Abstract. We present a generic approach for the analysis of concurrent programs with (unbounded) dynamic creation of threads and recursive procedure calls. We define a model for such programs based on a set of term rewrite rules where terms represent control configurations. The reachability problem ..."
Abstract
-
Cited by 8 (3 self)
- Add to MetaCart
Abstract. We present a generic approach for the analysis of concurrent programs with (unbounded) dynamic creation of threads and recursive procedure calls. We define a model for such programs based on a set of term rewrite rules where terms represent control configurations. The reachability problem for this model is undecidable. Therefore, we propose a method for analyzing such models based on computing abstractions of their sets of computation paths. Our approach allows to compute such abstractions as least solutions of a system of (path language) constraints. More precisely, given a program and two regular sets of configurations (process terms) T and T , we provide (1) a construction of a system of constraints which characterizes precisely the set of computation paths leading from T to T , and (2) a generic framework, based on abstract interpretation, allowing to solve this system in various abstract domains leading to abstract analysis with different precision and cost. 1
The Complexity of Copy Constant Detection in Parallel Programs
- In STACS 2001, LNCS 2010
, 2001
"... Despite of the well-known state-explosion problem, certain simple but important data-flow analysis problems known as gen/kill problems can be solved e#ciently and completely for parallel programs with a shared state [7, 6, 2, 3, 13]. This paper shows that, in all probability, these surprising re ..."
Abstract
-
Cited by 4 (4 self)
- Add to MetaCart
Despite of the well-known state-explosion problem, certain simple but important data-flow analysis problems known as gen/kill problems can be solved e#ciently and completely for parallel programs with a shared state [7, 6, 2, 3, 13]. This paper shows that, in all probability, these surprising results cannot be generalized to significantly larger classes of data-flow analysis problems.

