Results 1  10
of
22
Verification on Infinite Structures
, 2000
"... In this chapter, we present a hierarchy of infinitestate systems based on the primitive operations of sequential and parallel composition; the hierarchy includes a variety of commonlystudied classes of systems such as contextfree and pushdown automata, and Petri net processes. We then examine the ..."
Abstract

Cited by 68 (2 self)
 Add to MetaCart
In this chapter, we present a hierarchy of infinitestate systems based on the primitive operations of sequential and parallel composition; the hierarchy includes a variety of commonlystudied classes of systems such as contextfree 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 branchingtime temporal logics.
Summarizing procedures in concurrent programs
 In Proceedings of the ACM Symposium on the Principles of Programming Languages
, 2004
"... ..."
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 48 (19 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 finitestate 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
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 11 (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
Interactive, Scalable, Declarative Program Analysis: From Prototype to Implementation
, 2007
"... Static analyses provide the semantic foundation for tools ranging from optimizing compilers to refactoring browsers and advanced debuggers. Unfortunately, developing new analysis specifications and implementations is often difficult and errorprone. Since analysis specifications are generally writte ..."
Abstract

Cited by 10 (2 self)
 Add to MetaCart
Static analyses provide the semantic foundation for tools ranging from optimizing compilers to refactoring browsers and advanced debuggers. Unfortunately, developing new analysis specifications and implementations is often difficult and errorprone. Since analysis specifications are generally written in a declarative style, logic programming presents an attractive model for producing executable specifications of analyses. However, prior work on using logic programming for program analysis has focused exclusively on solving constraints derived from program texts by an external preprocessor. In this paper, we present DIMPLE, an analysis framework for Java bytecodes implemented in the Yap Prolog system [8]. DIMPLE provides both a representation of Java bytecodes in a database of relations and a declarative domainspecific language for specifying new analyses as queries over this database. DIMPLE thus enables researchers to use logic programming for every step of the analysis development process, from specification to prototype to implementation. We demonstrate that our approach facilitates rapid prototyping of new program analyses and produces executable analysis implementations that are speedcompetitive with specialized analysis toolkits.
Summarization For Termination: No Return!
"... We propose a program analysis method for proving termination of recursive programs. The analysis is based on a reduction of termination to two separate problems: reachability of recursive programs, and termination of nonrecursive programs. Our reduction works through a program transformation that ..."
Abstract

Cited by 7 (1 self)
 Add to MetaCart
We propose a program analysis method for proving termination of recursive programs. The analysis is based on a reduction of termination to two separate problems: reachability of recursive programs, and termination of nonrecursive programs. Our reduction works through a program transformation that modifies the call sites and removes return edges. In the new, nonrecursive program, a procedure call may nondeterministically enter the procedure body (which means that it will never return) or apply a summary statement.
Global model checking of ordered multipushdown systems
 Schloss Dagstuhl  LeibnizZentrum fuer Informatik
, 2010
"... In this paper, we address the verification problem of ordered multipushdown systems: A multistack extension of pushdown systems that comes with a constraint on stack operations such that a pop can only be performed on the first nonempty stack. First, we show that for an ordered multipushdown syst ..."
Abstract

Cited by 6 (1 self)
 Add to MetaCart
In this paper, we address the verification problem of ordered multipushdown systems: A multistack extension of pushdown systems that comes with a constraint on stack operations such that a pop can only be performed on the first nonempty stack. First, we show that for an ordered multipushdown system the set of all predecessors of a regular set of configurations is an effectively constructible regular set. Then, we exploit this result to solve the global model checking which consists in computing the set of all configurations of an ordered multipushdown system that satisfy a given wregular property (expressible in lineartime temporal logics or the lineartime µcalculus). As an immediate consequence of this result, we obtain an 2ETIME upper bound for the model checking problem of wregular properties for ordered multipushdown systems (matching its lowerbound).
Recurrent reachability analysis in regular model checking
 In LPAR’08
"... Abstract. We consider the problem of recurrent reachability over infinite systems given by regular relations on words and trees, i.e, whether a given regular set of states can be reached infinitely often from a given initial state in the given transition system. Under the condition that the transiti ..."
Abstract

Cited by 5 (3 self)
 Add to MetaCart
Abstract. We consider the problem of recurrent reachability over infinite systems given by regular relations on words and trees, i.e, whether a given regular set of states can be reached infinitely often from a given initial state in the given transition system. Under the condition that the transitive closure of the transition relation is regular, we show that the problem is decidable, and the set of all initial states satisfying the property is regular. Moreover, our algorithm constructs an automaton for this set in polynomial time, assuming that a transducer of the transitive closure can be computed in polytime. We then demonstrate that transition systems generated by pushdown systems, regular ground tree rewrite systems, and the wellknown process algebra PA satisfy our condition and transducers for their transitive closures can be computed in polytime. Our result also implies that model checking EFlogic extended by recurrent reachability predicate (EGF) over such systems is decidable. 1
Precise fixpointbased analysis of programs with threadcreation
 IN PROC. OF CONCUR 2007
, 2007
"... We present a fixpointbased algorithm for contextsensitive interprocedural kill/genanalysis of programs with thread creation. Our algorithm is precise up to abstraction of synchronization common in this line of research; it can handle forward as well as backward problems. We exploit a structural p ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
We present a fixpointbased algorithm for contextsensitive interprocedural kill/genanalysis of programs with thread creation. Our algorithm is precise up to abstraction of synchronization common in this line of research; it can handle forward as well as backward problems. We exploit a structural property of kill/genproblems that allows us to analyze the influence of environment actions independently from the local transfer of data flow information. While this idea has been used for programs with parbegin/parend blocks before in work of Knoop/Steffen/Vollmer and Seidl/Steffen, considerable refinement and modification is needed to extend it to thread creation, in particular for backward problems. Our algorithm computes annotations for all program points in time depending linearly on the program size, thus being faster than a recently proposed automata based algorithm by Bouajjani et. al..
The Complexity of Copy Constant Detection in Parallel Programs
 In STACS 2001, LNCS 2010
, 2001
"... Despite of the wellknown stateexplosion problem, certain simple but important dataflow 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 wellknown stateexplosion problem, certain simple but important dataflow 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 dataflow analysis problems.