Grammars as Processes

In 1999 I met Grzegorz Rozenberg in Amsterdam, while I was attending the 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 ofhis 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 Buchi in 1964 on regular canonical systems was the basis to new algorithms for the analysis of software. This paper is a written version oft he talk, and it also surveys the new results obtained since 1999. Sections 3 and 4 are taken from the Ph. D. Thesis of Richard Mayr [21], and have also been published in [22].

[1]  Bernhard Steffen,et al.  Constraint-Based Inter-Procedural Analysis of Parallel Programs , 2000, Nord. J. Comput..

[2]  Bernhard Steffen,et al.  Data Flow Analysis as Model Checking , 1990, TACS.

[3]  Richard Mayr,et al.  Process rewrite systems , 1999, EXPRESS.

[4]  Javier Esparza,et al.  More infinite results , 2001, INFINITY.

[5]  David A. Schmidt,et al.  Program Analysis as Model Checking of Abstract Interpretations , 1998, SAS.

[6]  Javier Esparza,et al.  Efficient Algorithms for Model Checking Pushdown Systems , 2000, CAV.

[7]  Dominique Perrin,et al.  Finite Automata , 1958, Philosophy.

[8]  Andreas Podelski,et al.  Efficient algorithms for pre* and post* on interprocedural parallel flow graphs , 2000, POPL '00.

[9]  G. Ramalingam,et al.  Context-sensitive synchronization-sensitive analysis is undecidable , 2000, TOPL.

[10]  David A. Schmidt Data flow analysis is model checking of abstract interpretations , 1998, POPL '98.

[11]  J. C. M. Baeten,et al.  Process Algebra: Bibliography , 1990 .

[12]  Dung T. Huynh The Complexity of Equivalence Problems for Commutative Grammars , 1985, Inf. Control..

[13]  Philippe Schnoebelen,et al.  The regular viewpoint on PA-processes , 1998, Theor. Comput. Sci..

[14]  Markus Müller-Olm,et al.  On optimal slicing of parallel programs , 2001, STOC '01.

[15]  Didier Caucal,et al.  On the Regular Structure of Prefix Rewriting , 1990, Theor. Comput. Sci..

[16]  Dirk Siefkes,et al.  Finite Automata, Their Algebras and Grammars , 1990 .

[17]  Faron Moller,et al.  Infinite Results , 1996, CONCUR.

[18]  Giorgio Delzanno Automatic Verification of Parameterized Cache Coherence Protocols , 2000, CAV.

[19]  Dung T. Huynh,et al.  Commutative Grammars: The Complexity of Uniform Word Problems , 1984, Inf. Control..

[20]  J. R. Büchi Regular Canonical Systems , 1964 .

[21]  Jeffrey D. Ullman,et al.  Introduction to Automata Theory, Languages and Computation , 1979 .

[22]  Jens Knoop Optimal Interprocedural Program Optimization: A New Framework and Its Application , 1999 .

[23]  Jens Knoop,et al.  Optimal Interprocedural Program Optimization , 2000, Lecture Notes in Computer Science.

[24]  Friedrich Otto,et al.  String-Rewriting Systems , 1993, Text and Monographs in Computer Science.

[25]  Javier Esparza Petri Nets, Commutative Context-Free Grammars, and Basic Parallel Processes , 1997, Fundam. Informaticae.

[26]  Yoram Hirshfeld,et al.  Petri Nets and the Equivalence Problem , 1993, CSL.

[27]  Richard Mayr Decidability and complexity of model checking problems for infinite state systems , 1998 .

[28]  Alain Finkel,et al.  On the verification of broadcast protocols , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[29]  Jens Knoop,et al.  An Automata-Theoretic Approach to Interprocedural Data-Flow Analysis , 1999, FoSSaCS.

[30]  Faron Moller,et al.  Bisimulation Equivalence is Decidable for Basic Parallel Processes , 1993, CONCUR.