skip to main content
10.1145/940071.940109acmconferencesArticle/Chapter ViewAbstractPublication PagesfseConference Proceedingsconference-collections
Article

Verified systems by composition from verified components

Published:01 September 2003Publication History

ABSTRACT

This paper presents an approach to integration of model checking into component-based development of software systems. This approach assists in development of highly reliable component-based software systems and reduces the complexity of verifying these systems by utilizing their compositional structures. Temporal properties of a software component are specified, verified, and packaged with the component. Selection of a component for reuse considers not only its functionality but also its temporal properties. When a component is composed from other components, a property of the component is verified on an abstraction of the component. The abstraction is constructed from environment assumptions of the component and verified properties of its sub-components. A general component model that enables component verification is defined. Component verification is discussed in the context of the instantiation of the general component model on an Asynchronous Interleaving Message-passing computation model. This approach has been applied to improve reliability of instances of TinyOS, a component-based run-time system for networked sensors. A case study on TinyOS is included, which illustrates the applicability of this approach, the detection of a bug, and the reduction in model checking complexity.

References

  1. M. Abadi and L. Lamport. Conjoining specifications. In Proc. of ACM TOPLAS, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. R. Alur and T. Henzinger. Reactive modules. In Proc. of IEEE LICS, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. N. Amla, E. A. Emerson, K. S. Namjoshi, and R. Trefler. Assume-guarantee based compositional reasoning for synchronous timing diagrams. In Proc. of TACAS, volume 2031 of LNCS, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Shing Chi Cheung, Dimitra Giannakopoulou, and Jeff Kramer. Verification of liveness properties using compositional reachability analysis. In Proc. of ESEC/SIGSOFT FSE, 1997. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Shing Chi Cheung and Jeff Kramer. Enhancing compositional reachability analysis with context constraints. In Proc. of SIGSOFT FSE, 1993. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Shing Chi Cheung and Jeff Kramer. Compositional reachability analysis of finite-state distributed systems with user-specified constraints. In Proc. of SIGSOFT FSE, 1995. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Shing Chi Cheung and Jeff Kramer. Context constraints for compositional reachability analysis. ACM TOSEM 5(4), 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Shing Chi Cheung and Jeff Kramer. Checking safety properties using compositional reachability analysis. ACM TOSEM 8(1), 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. E. M. Clarke and E. A. Emerson. Design and synthesis of synchronization skeletons using branching time temporal logic. In Proc. of Logic of Programs Workshop, 1981. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Edmund M. Clarke, Orna Grumberg, and Doron Peled. Model Checking. The MIT Press, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. W. P. de Rover, F. de Boer, U. Hannemann, J. Hooman, Y. Lakhnech, M. Poel, and J. Zwiers. Concurrency Verification: Introduction to Compositional and Non-compositional Proof Methods. Cambridge Univ. Press, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. Kathi Fisler and Shriram Krishnamurthi. Modular verification of collaboration-based software designs. In Proc. of SIGSOFT FSE, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. D. Gannakopoulou, C. Pasareanu, and H. Barringer. Assumption generation for software component verification. In Proc. of ASE, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. S. Graf and B. Steffen. Compositional minimization of finite state systems. In Proc. of CAV, volume 531 of LNCS, 1990. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. H. Hardin, Z. Har'El, and R. P. Kurshan. COSPAN. In Proc. of CAV, volume 1102 of LNCS, 1996.Google ScholarGoogle Scholar
  16. J. Hill, R. Szewczyk, A. Woo, S. Hollar, D. Culler, and K. Pister. System architecture directions for networked sensors. In Proc. of ASPLOS-IX, 2000. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. ITU. ITU-T Recommendation Z.100 (03/93) - Specification and Description Language (SDL). ITU, 1993.Google ScholarGoogle Scholar
  18. Robert P. Kurshan. Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach. Princeton University Press, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. K. L. McMillan. A methodology for hardware verification using compositional model checking. Cadence TR, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. J. Mellor and M. J. Balcer. Executable UML: A Foundation for Model Driven Architecture. Addison Wesley, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. Pnueli. In transition from global to modular reasoning about programs. In Proc. of Logics and Models of Concurrent Systems. NATO ASI Series, 1985. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. J. P. Quielle and J. Sifakis. Specification and verification of concurrent systems in CESAR. In Proc. of Symposium on Programming, 1982. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Clemens Szyperski. Component Software - Beyond Object-Oriented Programming. Addison-Wesley, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. F. Xie and J. C. Browne. Integrated state space reduction for model checking executable object-oriented software system designs. In Proc. of FASE, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. F. Xie, J. C. Browne, and R. P. Kurshan. Translation-based compositional reasoning for software systems. In Proc. of FME, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. F. Xie, V. Levin, and J. C. Browne. Model checking for an executable subset of UML. In Proc. of ASE, 2001. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. F. Xie, V. Levin, and J. C. Browne. ObjectCheck: a model checking tool for executable object-oriented software system designs. In Proc. of FASE, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. W. Yeh and M. Young. Compositional reachability analysis using process algebra. In Proc. of Symposium on Testing, Analysis, and Verification, 1991. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Verified systems by composition from verified components

                Recommendations

                Comments

                Login options

                Check if you have access through your login credentials or your institution to get full access on this article.

                Sign in
                • Published in

                  cover image ACM Conferences
                  ESEC/FSE-11: Proceedings of the 9th European software engineering conference held jointly with 11th ACM SIGSOFT international symposium on Foundations of software engineering
                  September 2003
                  394 pages
                  ISBN:1581137435
                  DOI:10.1145/940071
                  • cover image ACM SIGSOFT Software Engineering Notes
                    ACM SIGSOFT Software Engineering Notes  Volume 28, Issue 5
                    September 2003
                    382 pages
                    ISSN:0163-5948
                    DOI:10.1145/949952
                    Issue’s Table of Contents

                  Copyright © 2003 ACM

                  Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

                  Publisher

                  Association for Computing Machinery

                  New York, NY, United States

                  Publication History

                  • Published: 1 September 2003

                  Permissions

                  Request permissions about this article.

                  Request Permissions

                  Check for updates

                  Qualifiers

                  • Article

                  Acceptance Rates

                  ESEC/FSE-11 Paper Acceptance Rate33of168submissions,20%Overall Acceptance Rate112of543submissions,21%

                  Upcoming Conference

                  FSE '24

                PDF Format

                View or Download as a PDF file.

                PDF

                eReader

                View online with eReader.

                eReader