Automatic verification of probabilistic concurrent finite state programs

The verification problem for probabilistic concurrent finite-state program is to decide whether such a program satisfies its linear temporal logic specification. We describe an automata-theoretic approach, whereby probabilistic quantification over sets of computations is reduced to standard quantification over individual computations. Using new determinization construction for ω-automata, we manage to improve the time complexity of the algorithm by two exponentials. The time complexity of the final algorithm is polynomial in the size of the program and doubly exponential in the size of the specification.

[1]  Janos Simon,et al.  Space-Bounded Hierarchies and Probabilistic Computations , 1984, J. Comput. Syst. Sci..

[2]  Michael Rodeh,et al.  A distributed abstract data type implemented by a probabilistic communication scheme , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[3]  Leslie Lamport,et al.  Proving Liveness Properties of Concurrent Programs , 1982, TOPL.

[4]  Michael O. Rabin,et al.  Randomized byzantine generals , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[5]  S. Hart,et al.  Termination of Probabilistic Concurrent Programs. , 1982 .

[6]  Yishai A. Feldman,et al.  A decidable propositional probabilistic dynamic logic , 1983, STOC.

[7]  Saharon Shelah,et al.  Reasoning with Time and Chance , 1982, Inf. Control..

[8]  J. R. Büchi Decision methods in the theory of ordinals , 1965 .

[9]  Samuel Eilenberg,et al.  Automata, languages, and machines. A , 1974, Pure and applied mathematics.

[10]  A. Prasad Sistla,et al.  Deciding branching time logic , 1984, STOC '84.

[11]  J. Richard Büchi,et al.  The monadic second order theory of ω1 , 1973 .

[12]  Dexter Kozen A Probabilistic PDL , 1985, J. Comput. Syst. Sci..

[13]  Pierre Wolper,et al.  Reasoning about infinite computation paths , 1983, 24th Annual Symposium on Foundations of Computer Science (sfcs 1983).

[14]  Amir Pnueli,et al.  The Glory of the Past , 1985, Logic of Programs.

[15]  M. Rabin Automata on Infinite Objects and Church's Problem , 1972 .

[16]  Amir Pnueli,et al.  On the extremely fair treatment of probabilistic algorithms , 1983, STOC.

[17]  Pierre Wolper,et al.  The Complementation Problem for Büchi Automata with Appplications to Temporal Logic , 1987, Theor. Comput. Sci..

[18]  Amir Pnueli,et al.  Symmetric and Economical Solutions to the Mutual Exclusion Problem in a Distributed System , 1984, Theor. Comput. Sci..

[19]  Robert S. Streett,et al.  Propositional Dynamic Logic of Looping and Converse Is Elementarily Decidable , 1982, Inf. Control..

[20]  Chin-Laung Lei,et al.  Modalities for model checking (extended abstract): branching time strikes back , 1985, POPL.

[21]  Robert S. Streett Propositional Dynamic Logic of looping and converse , 1981, STOC '81.

[22]  Amir Pnueli,et al.  Checking that finite state concurrent programs satisfy their linear specification , 1985, POPL.

[23]  Daniel Lehmann,et al.  On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem , 1981, POPL '81.

[24]  Paul G. Spirakis,et al.  Real-Time Synchronization of Interprocess Communications , 1984, TOPL.

[25]  Zohar Manna,et al.  How to cook a temporal proof system for your pet language , 1983, POPL '83.

[26]  Albert R. Meyer,et al.  The Equivalence Problem for Regular Expressions with Squaring Requires Exponential Space , 1972, SWAT.

[27]  Yuri Gurevich,et al.  Trees, automata, and games , 1982, STOC '82.

[28]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[29]  J. R. Büchi,et al.  Solving sequential conditions by finite-state strategies , 1969 .

[30]  J. Richard Büchi State-Strategies for Games in $F_{\sigma\delta} \bigcap G_{\delta\sigma}$ , 1983 .

[31]  Amir Pnueli The Temporal Semantics of Concurrent Programs , 1981, Theor. Comput. Sci..

[32]  Boris A. Trakhtenbrot,et al.  Finite automata : behavior and synthesis , 1973 .

[33]  David E. Muller,et al.  Infinite sequences and finite machines , 1963, SWCT.

[34]  M. Rabin Decidability of second-order theories and automata on infinite trees , 1968 .

[35]  Robert McNaughton,et al.  Testing and Generating Infinite Sequences by a Finite Automaton , 1966, Inf. Control..

[36]  Micha Sharir,et al.  Verification of Probabilistic Programs , 1984, SIAM J. Comput..

[37]  Yaacov Choueka,et al.  Theories of Automata on omega-Tapes: A Simplified Approach , 1974, J. Comput. Syst. Sci..

[38]  Micha Sharir,et al.  Probabilistic temporal logics for finite and bounded models , 1984, STOC '84.

[39]  Micha Sharir,et al.  Termination of Probabilistic Concurrent Program , 1983, TOPL.

[40]  S. Sieber On a decision method in restricted second-order arithmetic , 1960 .

[41]  J. Richard Büchi State-Strategies for Games in F G , 1983, J. Symb. Log..

[42]  J. Kemeny,et al.  Denumerable Markov chains , 1969 .

[43]  Michael O. Rabin N-process synchronization by 4.log2N-valued shared variable , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[44]  Leslie Lamport,et al.  Specifying Concurrent Program Modules , 1983, TOPL.

[45]  A. Prasad Sistla,et al.  Automatic verification of finite state concurrent system using temporal logic specifications: a practical approach , 1983, POPL '83.

[46]  Amir Pnueli,et al.  Verification of multiprocess probabilistic protocols , 1984, PODC '84.

[47]  Saharon Shelah,et al.  On the temporal analysis of fairness , 1980, POPL '80.

[48]  Pierre Wolper Temporal Logic Can Be More Expressive , 1983, Inf. Control..