Skip to main content

Models for Contract Conformance

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4313))

Abstract

We have implemented a contract checker for asynchronous, message-passing applications to check that service implementations conform to behavioural contracts. Our contract checker is based on a process algebraic theory of conformance and is implemented on top of a software model checker, Zing. The purpose of this paper is to explain the model construction implemented by our contract checker and how it is related to a mathematical theory of conformance. In addition, we point out current and future research directions in model construction for conformance checking in the presence of channel-passing.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Zing Language Specification, http://research.microsoft.com/zing

  2. Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: A Model Checker for Concurrent Software. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 484–487. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  3. Andrews, T., Qadeer, S., Rajamani, S.K., Rehof, J., Xie, Y.: Zing: Exploiting Program Structure for Model Checking Concurrent Software. In: Gardner, P., Yoshida, N. (eds.) CONCUR 2004. LNCS, vol. 3170, pp. 1–15. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  4. Ball, T., Rajamani, S.K.: The SLAM project: Debugging system software via static analysis. In: POPL 2002: Principles of Programming Languages, pp. 1–3. ACM, New York (2002)

    Google Scholar 

  5. 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 & Hall, Boca Raton (1997)

    Google Scholar 

  6. 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)

    Article  MATH  MathSciNet  Google Scholar 

  7. Chaki, S., Rajamani, S.K., Rehof, J.: Types as models: Model checking message-passing programs. In: POPL 2002: ACM Principles of Programming Languages. ACM, New York (2002)

    Google Scholar 

  8. Corbett, J., Dwyer, M., Hatcliff, J., Pasareanu, C., Robby, S.L., Zheng, H.: Bandera: Extracting finite-state models from Java source code. In: ICSE 2000: International Conference on Software Engineering, pp. 439–448. ACM, New York (2000)

    Chapter  Google Scholar 

  9. Dwyer, M., Hatcliff, J., Joehanes, R., Laubach, S., Pasareanu, C., Robby, W.V., Zheng, H.: Tool-supported program abstraction for finite-state verification. In: ICSE 2001: International Conference on Software Engineering, pp. 177–187. ACM, New York (2001)

    Chapter  Google Scholar 

  10. Fournet, C., Hoare, C.A.R., Rajamani, S.K., Rehof, J.: Stuck-free conformance theory for CCS. Technical Report MSR-TR-2004-09, Microsoft Research (2004)

    Google Scholar 

  11. Fournet, C., Hoare, C.A.R., Rajamani, S.K., Rehof, J.: Stuck-Free Conformance. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 242–254. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  12. Hatcliff, J., Dwyer, M.B.: Using the Bandera Tool Set to Model-Check Properties of Concurrent Java Software. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, p. 39. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  13. Hoare, C.A.R.: Communicating Sequential Processes. Prentice Hall, Englewood Cliffs (1985)

    MATH  Google Scholar 

  14. Holzmann, G.: The model checker SPIN. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  15. Igarashi, A., Kobayashi, N.: A generic type system for the Pi-calculus. In: POPL 2001: Principles of Programming Languages, pp. 128–141. ACM, New York (2001)

    Google Scholar 

  16. Iosif, R., Sisto, R.: dSPIN: A Dynamic Extension of SPIN. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 261–276. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  17. Larsen, K.G., Skou, A.: Bisimulation through probabilistic testing. In: POPL 1989: ACM Principles of Programming Languages, pp. 344–352. ACM, New York (1989)

    Google Scholar 

  18. Milner, R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  19. Milner, R.: Communicating and Mobile Systems: the π-Calculus. Cambridge University Press, Cambridge (1999)

    Google Scholar 

  20. Phillips, I.: Refusal testing. Theoretical Computer Science 50(2), 241–284 (1987)

    Article  MATH  MathSciNet  Google Scholar 

  21. Robby, D.M., Hatcliff, J.: Bogor: An extensible and highly-modular model checking framework. In: Johansson, T. (ed.) FSE 2003. LNCS, vol. 2887, pp. 267–276. Springer, Heidelberg (2003)

    Google Scholar 

  22. Roscoe, A.W.: The Theory and Practice of Concurrency. Prentice Hall, Englewood Cliffs (1998)

    Google Scholar 

  23. Stoller, S.D.: Model-checking multi-threaded distributed Java programs. International Journal on Software Tools for Technology Transfer 4(1), 71–91 (2002)

    Article  Google Scholar 

  24. Visser, W., Havelund, K., Brat, G., Park, S.: Model checking programs. In: ASE 2000: Automated Software Engineering, pp. 3–12 (2000)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Rajamani, S.K., Rehof, J. (2006). Models for Contract Conformance. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods. ISoLA 2004. Lecture Notes in Computer Science, vol 4313. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11925040_12

Download citation

  • DOI: https://doi.org/10.1007/11925040_12

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-48928-3

  • Online ISBN: 978-3-540-48929-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics