Efficient verification of determinate processes

  • Huajun Qin
Selected Presentations
Part of the Lecture Notes in Computer Science book series (LNCS, volume 527)


Determinacy, or predictability, is often demanded from engineered concurrent systems. In this paper we use labeled transition systems to express the specifications and implementations of concurrent systems, and present three efficient algorithms (1) to determine if a process P has determinacy property as defined by Robin Milner; (2) to verify whether an implementation process P is observationally equivalent to a determinate specification process S; and (3) to compute the equivalence classes of determinate process P under observational equivalence. We deal only with finite state processes in this paper.

Suppose P has n states and m transitions, and S has n1 states and m1 transitions. The first algorithm has time complexity O(m+n log n) and space complexity O(m+n); the second algorithm has time complexity O(m+n+m1+n1 log n1) and space complexity O(m+n+m1+n1); and the third algorithm has time complexity O(m+n log n) and space complexity O(m+n). Empirical results are presented comparing the algorithms in practice with similar algorithms implemented in other tools.


Time Complexity Equivalence Relation Space Complexity Determinate System Label Transition System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [AHU74]
    A. V. Aho, J. E. Hopcroft, and J. D. Ullman. The Design and Analysis of Computer Algorithms. Addison-Wesley, 1974.Google Scholar
  2. [CW87]
    D. Coppersmith and S. Winograd. Matrix multiplication via arithmic progressions. In Proceedings 19th ACM Symposium on Theory of Computing, pages 1–6, New York City, NY, 1987.Google Scholar
  3. [dSV89]
    R. de Simone and D. Vergamini. Aboard AUTO. Technical Report 111, INRIA, Centre Sophia-Antipolis, Valbonne Cedex, 1989.Google Scholar
  4. [Eng85]
    J. Engelfriet. Determinacy → (observational equivalence = trace equivalence). Theoretical Computer Science, 36:21–25, 1985.Google Scholar
  5. [Fer89]
    J. Fernandez. An Implementation of an Efficient Algorithm for Bisimulation Equivalence. Technical Report, LGI-IMAG, Genoble, 1989.Google Scholar
  6. [FM90]
    J. C. Fernandez and Laurent Mounier. Verifying bisimulations “on the fly”. In Proceedings of FORTE'90, 1990.Google Scholar
  7. [GV90]
    Jan Friso Groote and Frits Vaandrager. An efficient algorithm for branching bisimulation and stuttering equivalence. In Proceedings of ICALP 90, 1990.Google Scholar
  8. [Hop71]
    J. E. Hopcroft. An n log n algorithm for minimizing states in a finite automata. In Z. Kohavi and A. Paz, editors, The of Machines and Computations, pages 189–196, Academic Press, New York, 1971.Google Scholar
  9. [KS83]
    P.C. Kanellakis and S.A. Smolka. CCS expressions, finite state processes, and three problems of equivalence. In the Second Annual ACM Symposium on Principles of Distributed Computing, pages 228–240, Aug. 1983.Google Scholar
  10. [Mil80]
    R. Milner. Calculus for communicating systems. In LNCS 92, Springer Verlag, 1980.Google Scholar
  11. [Mil88]
    R. Milner. Operational and Algebraic Semantics of Concurrent Processes. Technical Report ECS-LFCS-88-46, Laboratory for Foundations of Computer Science, Univ. of Edinburgh, Feb. 1988.Google Scholar
  12. [Mil89]
    R. Milner. Communication and Concurrency. Prentice-Hall International, 1989.Google Scholar
  13. [Mou91]
    Laurent Mounier. Private communication. 1991.Google Scholar
  14. [PT87]
    R. Paige and R. Tarjan. Three partition refinement algorithms. SIAM Journal on Computing, 16(6):973–989, 1987.Google Scholar
  15. [Qin91]
    H. Qin. Automated Design and Verification of Concurrent Systems. PhD thesis, State University of New York at Stony Brook, 1991. (in preparation).Google Scholar
  16. [Tar72]
    R. E. Tarjan. Depth first search and linear graph algorithms. SIAM J. Computing, 1(2):146–160, 1972.Google Scholar
  17. [vGW89]
    R. J. van Glabbeek and W. P. Weijland. Branching time and abstraction in bisimulation semantics (extended abstract). In G.X Ritter, editor, Information Processing 89, pages 613–618, Elsevier Science Publishers B.V., North Holland, 1989.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1991

Authors and Affiliations

  • Huajun Qin
    • 1
  1. 1.Department of Computer ScienceSUNY at Stony BrookStony BrookUSA

Personalised recommendations