Skip to main content

A Synergy Between Model-Checking and Type Inference for the Verification of Value-Passing Higher-Order Processes

  • Conference paper
  • First Online:
Algebraic Methodology and Software Technology (AMAST 1999)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1548))

Abstract

In this paper, we present a formal verification framework for higher-order value-passing process algebra. This framework stems from an established synergy between type inference and model-checking. The language considered here is based on a sugared version of an implicitly typed λ-calculus extended with higher-order synchronous concurrency primitives. First, we endow such a syntax with a semantic theory made of a static semantics together with a dynamic semantics. The static semantics consists of an annotated type system. The dynamic semantics is operational and comes as a two-layered labeled transition system. The dynamic semantics is abstracted into a transitional semantics so as to make finite some infinite-state processes. We describe the syntax and the semantics of a verification logic that allows one to specify properties. The logic is an extension of the modal µ-calculus for handling higher-order processes, value-passing and return of results.

This research has been funded by a grant from FCAR (Fonds pour la Formation de Chercheurs et l’Aide la Recherche), Quebec, Canada.

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

Access this chapter

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

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. R. M. Amadio and M. Dam. Reasoning about higher-order processes. In Proc. of CAAP’95, Aarhus, Lecture Notes in Computer Science, 915, 1995.

    Google Scholar 

  2. B. Berthomieu. Implementing CCS, the LCS experiment. Technical Report 89425, LAAS CNRS, 1989.

    Google Scholar 

  3. D. Bolignano and M. Debbabi. A coherent type inference system for a concur-rent, functional and imperative programming language. In Proceedings of the AMAST’93 Conference. Springer Verlag, June 1993.

    Google Scholar 

  4. D. Bolignano and M. Debbabi. A semantic theory for CML. In Proceedings of the TACS’94 Conference. Springer Verlag, April1994.

    Google Scholar 

  5. R. Cridlig. Semantic analysis of shared-memory concurrent languages using ab-stract model-checking. In Symposium on Partial Evaluation and Program Manipulation, 1995.

    Google Scholar 

  6. R. Cridlig. Semantic analysis of concurrent ML by abstract model-checking. In International Workshop on Verification of Infinite State Systems, 1996.

    Google Scholar 

  7. Mads Dam. Model checking mobile processes. Information and Computation, 129(1):35–51, 25 August 1996.

    Google Scholar 

  8. M. Debbabi. Intégration des paradigmes de programmation parallèle, fonctionnelle et impérative: fondements sémantiques. PhD thesis, Université Paris Sud, Centre d’Orsay, July1994.

    Google Scholar 

  9. E. Allen Emerson and Chin-Laung Lei. Efficient model checking in fragments of the propositional mu-calculus (extended abstract). In Proceedings, Symposium on Logic in Computer Science, pages 267–278, Cambridge, Massachusetts, 16–18 June 1986. IEEE Computer Society.

    Google Scholar 

  10. William Ferreira, Matthew Hennessy, and Alan Jeffrey. A theory of weak bisim-ulation for core CML. ACM SIGPLAN Notices, 31(6):201–212, June 1996.

    Google Scholar 

  11. A. Giacalone, P. Mishra, and S. Prasad. Facile: A symmetric integration of concur-rent and functional programming. International Journal of Parallel Programming, 18(2):121–160, April 1989.

    Google Scholar 

  12. K. Havelund and K. G. Larsen. The fork calculus. In A. Lingas, R. Karlsson, and S. Carlsson, editors, Proceedings 20 th ICALP, volume 700 of Lecture Notes in Computer Science. Springer Verlag, 1993.

    Google Scholar 

  13. M. Hennessy and A. Ingólfsdóttir. A theory of communicating processes with value passing. In Proc. 17th ICALP, LNCS. Springer Verlag, 1990.

    Google Scholar 

  14. D. Kozen. Results on the propositional mu-calculus. Theoretical Computer Science, 23, 1983.

    Google Scholar 

  15. R. Milner. The polyadic π-calculus: A tutorial. Technical report, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1991.

    Google Scholar 

  16. R. Milner, J. Parrow, and D. Walker. A calculus of mobile processes. Technical report, Laboratory for Foundations of Computer Science, Department of Computer Science, University of Edinburgh, 1989.

    Google Scholar 

  17. Flemming Nielson and Hanne Riis Nielsen. From CML to process algebra. In E. Best, editor, Proceedings of CONCUR’93, LNCS 715, pages 493–508. Springer-Verlag, 1993.

    Google Scholar 

  18. Hanne Riis Nielson and Flemming Nielson. Higher-order concurrent programs with finite communication topology. In Conference Record of the 21st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL’94), pages 84–97, Portland, Oregon, January 17–21, 1994. ACM Press. Extended abstract.

    Google Scholar 

  19. J.H. Reppy. Concurrent programming with events-the Concurrent ML manual. Technical report, Department of Computer Science, Cornell University, November 1990.

    Google Scholar 

  20. J.H. Reppy. CML: A higher-order concurrent language. In Proceedings of the ACM SIGPLAN’ 91 PLDI, pages 294–305. SIGPLAN Notices 26(6), 1991.

    Google Scholar 

  21. D.A. Schmidt. Natural-semantics-based abstract interpretation. In Proc. 2d Static Analysis Symposium, Glasgow, Sept. 1995, Lecture Notes in Computer Science 983, pages 1–18. Springer-Verlag, Berlin, 1995.

    Google Scholar 

  22. D.A. Schmidt. Abstract interpretation of small-step semantics. In Proc. 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages, Stockholm, June 1996, Lecture Notes in Computer Science 1192, pages 76–99. Springer-Verlag, Berlin, 1997.

    Google Scholar 

  23. Bent Thomsen. A calculus of higher order communicating systems. In Conference Record of the Sixteenth Annual ACM Symposium on Principles of Programming Languages, pages 143–154, Austin, Texas, January 1989.

    Google Scholar 

  24. Bent Thomsen. Plain CHOCS. A second generation calculus for higher order processes. Acta Informatica, 30, 1993.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Debbabi, M., Benzakour, A., Ktari, B. (1998). A Synergy Between Model-Checking and Type Inference for the Verification of Value-Passing Higher-Order Processes. In: Haeberer, A.M. (eds) Algebraic Methodology and Software Technology. AMAST 1999. Lecture Notes in Computer Science, vol 1548. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-49253-4_17

Download citation

  • DOI: https://doi.org/10.1007/3-540-49253-4_17

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-65462-9

  • Online ISBN: 978-3-540-49253-5

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics