Abstract
We propose a notion of conformance between a specification S and an implementation model I extracted from a message-passing program. In our framework, S and I are CCS processes, which soundly abstract the externally visible communication behavior of a message-passing program. We use the extracted models to check that programs do not get stuck, waiting to receive or trying to send messages in vain. We show that our definition of stuckness and conformance capture important correctness conditions of message-passing software. Our definition of conformance was motivated by the need for modular reasoning over models, leading to the requirement that conformance preserve substi-tutability with respect to stuck-freeness: If I conforms to S, and P is any environment such that P ∣ S is stuck-free, then it follows that P ∣ I is stuck-free. We present a simple algorithm for checking if I conforms to S, when I and S obey certain restrictions.
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
R. Alur, T. A. Henzinger, O. Kupferman, and M. Y. Vardi. Alternating refinement relations. In CONCUR 98: Concurrency Theory, LNCS 1466, pages 163–178. Springer-Verlag, 1998.
E. Brinksma, B. Jonsson, and F. Orava. Refinining interfaces of communicating systems. In TAPSOFT 91: Theory and Practice of Software Development, LNCS 494, pages 297–312. Springer-Verlag, 1991.
S. Chaki, S. K. Rajamani, and J. Rehof. Types as models: Model checking message-passing programs. In POPL 02: ACM Principles of Programming Languages, pages 45–57. ACM, 2002.
R. J. Cleaveland, J. Parrow, and B. Steffen. The Concurrency Workbench: a semantics-based tool for the verification of finite-state systems. ACM Transactions on Programming Languages and Systems, 15(1):36–72, 1993.
L. de Alfaro and T. A. Henzinger. Interface theories for component-based design. In EMSOFT 01: Embedded Software, LNCS, pages 148–165. Springer-Verlag, 2001.
D. L. Dill. Trace Theory for Automatic Verification of Speed-Independent Circuits. MIT Press, 1988.
M. Dwyer, J. Hatcliff, R. Joehanes, S. Laubach, C. Pasareanu, Robby, W. Visser, and H. Zheng. Tool-supported program abstraction for finite-state verification. In ICSE 01: International Conference on Software Engineering, pages 177–187. ACM, 2001.
C. A. R. Hoare. Communicating Sequential Processes. Prentice Hall, 1985.
G. J. Holzmann. Logic verification of ANSI-C code with Spin. In SPIN 00: SPIN Workshop, LNCS 1885, pages 131–147. Springer-Verlag, 2000.
L. Lamport. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering, SE-3(2):125–143, 1977.
Kim G. Larsen and Robin Milner. A compositional protocol verification using relativized bisimulation. Information and Computation, 99:80–108, 1992.
J. R. Larus, S. K. Rajamani, and J. Rehof. Behavioral types for structured asynchronous programming. Technical report, Microsoft Research, 2001.
R. Milner. Communication and Concurrency. Prentice Hall, 1989.
R. Milner. Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, 1999.
S. K. Rajamani and J. Rehof. Conformance checking for models of asynchronous message passing software. Technical report, Microsoft Research, 2002.
A. W. Roscoe. The Theory and Practice of Concurrency. Prentice Hall, 1998.
F. B. Schneider. Enforceable security policies. ACM Transactions on Information and System Security, 3(1):30–50, February 2000.
M. Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In LICS 86: Logic in Computer Science, pages 322–331. IEEE Computer Society Press, 1986.
W. Visser, K. Havelund, G. Brat, and S. Park. Model checking programs. In ICASE 00: Automated Software Engineering, pages 3–12, 2000.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2002 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Rajamani, S.K., Rehof, J. (2002). Conformance Checking for Models of Asynchronous Message Passing Software. In: Brinksma, E., Larsen, K.G. (eds) Computer Aided Verification. CAV 2002. Lecture Notes in Computer Science, vol 2404. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45657-0_13
Download citation
DOI: https://doi.org/10.1007/3-540-45657-0_13
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-43997-4
Online ISBN: 978-3-540-45657-5
eBook Packages: Springer Book Archive