Stuck-Free Conformance

  • Cédric Fournet
  • Tony Hoare
  • Sriram K. Rajamani
  • Jakob Rehof
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3114)


We present a novel refinement relation (stuck-free conformance) for CCS processes, which satisfies the substitutability property: If I conforms to S, and P is any environment such that P | S is stuck-free, then P | I is stuck-free. Stuck-freedom is related to the CSP notion of deadlock, but it is more discriminative by taking orphan messages in asynchronous systems into account. We prove that conformance is a precongruence on CCS processes, thereby supporting modular refinement. We distinguish conformance from the related preorders, stable failures refinement in CSP and refusal preorder in CCS. We have implemented conformance checking in a new software model checker, zing, and we report on how we used it to find errors in distributed programs.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alur, R., Henzinger, T.A., Kupferman, O., Y. Vardi, M.: Alternating refinement relations. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 163–178. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  2. 2.
    Brinksma, E., Heerink, L., Tretmans, J.: Developments in testing transition systems. In: Testing of Communicating Systems, IFIP TC6 10th International Workshop on Testing of Communicating Systems, pp. 143–166. Chapman and Hall, Boca Raton (1997)Google Scholar
  3. 3.
    Brookes, S.D., Hoare, C.A.R., Roscoe, A.W.: A theory of communicating sequential processes. Journal of the ACM 31(3), 560–599 (1984)MATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    de Alfaro, L., Henzinger, T.A.: Interface theories for component-based design. In: Henzinger, T.A., Kirsch, C.M. (eds.) EMSOFT 2001. LNCS, vol. 2211, pp. 148–165. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  5. 5.
    Fournet, C., Hoare, C.A.R., Rajamani, S.K., Rehof, J.: Stuck-free conformance theory for CCS. Technical report, Microsoft Research (2004)Google Scholar
  6. 6.
    Hoare, C.A.R.: Communicating Sequential Processes. Prentice-Hall, Englewood Cliffs (1985)MATHGoogle Scholar
  7. 7.
    Larsen, K.G., Skou, A.: Bisimulation through probabilistic testing. In: POPL 1989: ACM Principles of Programming Languages, pp. 344–352. ACM Press, New York (1989)Google Scholar
  8. 8.
    Milner, R.: Communication and Concurrency. Prentice-Hall, Englewood Cliffs (1989)MATHGoogle Scholar
  9. 9.
    Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, Cambridge (1999)Google Scholar
  10. 10.
    Peng, W., Puroshothaman, S.: Towards dataflow analysis of communicating finite state machines. In: PODC 1989, pp. 45–58. ACM Press, New York (1989)CrossRefGoogle Scholar
  11. 11.
    Phillips, I.: Refusal testing. Theoretical Computer Science 50(2), 241–284 (1987)MATHCrossRefMathSciNetGoogle Scholar
  12. 12.
    Rajamani, S.K., Rehof, J.: Conformance checking for models of asynchronous message passing software. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 166–179. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  13. 13.
    Roscoe, W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2004

Authors and Affiliations

  • Cédric Fournet
    • 1
  • Tony Hoare
    • 1
  • Sriram K. Rajamani
    • 1
  • Jakob Rehof
    • 1
  1. 1.Microsoft Research 

Personalised recommendations