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.
- 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
- 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
- 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
- 9.Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, Cambridge (1999)Google Scholar
- 13.Roscoe, W.: The Theory and Practice of Concurrency. Prentice-Hall, Englewood Cliffs (1998)Google Scholar