Skip to main content

Compositional Reasoning

  • Chapter
  • First Online:
Handbook of Model Checking

Abstract

State Explosion is a fundamental challenge for model checking methods. This term refers to the potentially exponential growth of the state space of a program as a function of the number of its components. Compositional reasoning is a technique which aims to ameliorate the effects of state explosion. In its essence, it replaces reasoning on the global state space of a program with localized reasoning: each component is analyzed separately, based on assumptions about the behavior of the other components. The challenge for a fully automated method is the construction of the right assumptions: they should be strong enough to prove a desired property, while being simple enough for efficient analysis. This chapter describes the ideas underlying compositional reasoning, foundational algorithms for generating assumptions, and applications.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Lamport, L.: Composing specifications. Trans. Program. Lang. Syst. 15(1), 73–132 (1993)

    Article  Google Scholar 

  2. Abadi, M., Merz, S.: An abstract account of composition. In: Wiedermann, J., Hájek, P. (eds.) Intl. Symp. on Mathematical Foundations of Computer Science (MFCS). LNCS, vol. 969, pp. 499–508. Springer, Heidelberg (1995)

    Google Scholar 

  3. Abdulla, P.A., Haziza, F., Holík, L.: All for the price of few. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 7737, pp. 476–495. Springer, Heidelberg (2013)

    Chapter  Google Scholar 

  4. de Alfaro, L., Henzinger, T.A.: Interface automata. In: Intl. Symp. on Foundations of Software Engineering (FSE), pp. 109–120. ACM, New York (2001)

    Google Scholar 

  5. Alur, R., Cerný, P., Madhusudan, P., Nam, W.: Synthesis of interface specifications for Java classes. In: Palsberg, J., Abadi, M. (eds.) Symp. on Principles of Programming Languages (POPL), pp. 98–109. ACM, New York (2005)

    MATH  Google Scholar 

  6. Alur, R., Henzinger, T.A.: Reactive modules. Form. Methods Syst. Des. 15(1), 7–48 (1999)

    Article  Google Scholar 

  7. Alur, R., Henzinger, T.A., Kupferman, O.: Alternating-time temporal logic. J. ACM 49(5), 672–713 (2002)

    Article  MathSciNet  Google Scholar 

  8. Alur, R., Henzinger, T.A., Mang, F.Y.C., Qadeer, S., Rajamani, S.K., Tasiran, S.: Mocha: modularity in model checking. In: Hu, A.J., Vardi, M.Y. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), pp. 521–525 (1998)

    Chapter  Google Scholar 

  9. Amla, N., Emerson, E.A., Namjoshi, K.S., Trefler, R.J.: Abstract patterns of compositional reasoning. In: Amadio, R.M., Lugiez, D. (eds.) Intl. Conf. on Concurrency Theory (CONCUR). LNCS, vol. 2761, pp. 423–438. Springer, Heidelberg (2003)

    Google Scholar 

  10. Angluin, D.: Learning regular sets from queries and counterexamples. Inf. Comput. 75(2), 87–106 (1987)

    Article  MathSciNet  Google Scholar 

  11. Aziz, A., Balarin, F., Brayton, R., DiBenedetto, M., Saldanha, A., Sangiovanni-Vincentelli, A.: Supervisory control of finite state machines. In: Wolper, P. (ed.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 939, pp. 279–292. Springer, Heidelberg (1995)

    Chapter  Google Scholar 

  12. Beyer, D., Henzinger, T.A., Singh, V.: Algorithms for interface synthesis. In: Damm and Hermanns [77], pp. 4–19

    Google Scholar 

  13. Bobaru, M.G., Pasareanu, C.S., Giannakopoulou, D.: Automated assume-guarantee reasoning by abstraction refinement. In: Gupta, A., Malik, S. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), vol. 5123, pp. 135–148. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  14. Brookes, S.: A semantics for concurrent separation logic. Theor. Comput. Sci. 375(1–3), 227–270 (2007). doi:10.1016/j.tcs.2006.12.034

    Article  MathSciNet  MATH  Google Scholar 

  15. Chaki, S., Strichman, O.: Three optimizations for assume-guarantee reasoning with L*. Form. Methods Syst. Des. 32(3), 267–284 (2008)

    Article  Google Scholar 

  16. Chen, Y.F., Clarke, E.M., Farzan, A., Tsai, M.H., Tsay, Y.K., Wang, B.Y.: Automated assume-guarantee reasoning through implicit learning. In: Touili, T., Cook, B., Jackson, P. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), vol. 6174, pp. 511–526. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  17. Chen, Y.F., Farzan, A., Clarke, E.M., Tsay, Y.K., Wang, B.Y.: Learning minimal separating DFAs for compositional verification. In: Kowalewski, S., Philippou, A. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 5505, pp. 31–45. Springer, Heidelberg (2009)

    Google Scholar 

  18. Cheung, S.C., Kramer, J.: Compositional reachability analysis of finite-state distributed systems with user-specified constraints. SIGSOFT Softw. Eng. Notes 20(4), 140–150 (1995)

    Article  Google Scholar 

  19. Cho, H., Hachtel, G.D., Macii, E., Plessier, B., Somenzi, F.: Algorithms for approximate FSM traversal based on state space decomposition. Trans. Comput.-Aided Des. Integr. Circuits Syst. 15(12), 1465–1478 (1996)

    Article  Google Scholar 

  20. Clarke, E.M., Filkorn, T., Jha, S.: Exploiting symmetry in temporal logic model checking. In: Courcoubetis, C. (ed.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 697, pp. 450–462. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  21. Cleaveland, R., Roscoe, A., Smolka, S.A.: Process algebra and model checking. In: Clarke, E.M., Henzinger, T.A., Veith, H., Bloem, R. (eds.) Handbook of Model Checking. Springer, Heidelberg (2018)

    Google Scholar 

  22. Cobleigh, J.M., Giannakopoulou, D., Pasareanu, C.S.: Learning assumptions for compositional verification. In: Garavel, H., Hatcliff, J. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 2619, pp. 331–346. Springer, Heidelberg (2003)

    MATH  Google Scholar 

  23. Cohen, A., Namjoshi, K.S.: Local proofs for global safety properties. In: Damm and Hermanns [83], pp. 55–67. Full version in Formal Methods in System Design 34(2) (2009)

    Article  Google Scholar 

  24. Cohen, A., Namjoshi, K.S.: Local proofs for linear-time properties of concurrent programs. In: Gupta, A., Malik, S. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 5123, pp. 149–161. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  25. Cohen, A., Namjoshi, K.S., Sa’ar, Y.: A dash of fairness for compositional reasoning. In: Touili, T., Cook, B., Jackson, P. (eds.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 6174, pp. 543–557. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  26. Cohen, A., Namjoshi, K.S., Sa’ar, Y., Zuck, L.D., Kisyova, K.I.: Parallelizing a symbolic compositional model-checking algorithm. In: Barner, S., Harris, I.G., Kroening, D., Raz, O. (eds.) Intl. Haifa Verification Conference (HVC). LNCS, vol. 6504, pp. 46–59. Springer, Heidelberg (2010)

    Google Scholar 

  27. Cousot, P., Cousot, R.: Invariance proof methods and analysis techniques for parallel programs. In: Biermann, A., Guiho, G., Kodratoff, Y. (eds.) Automatic Program Construction Techniques, pp. 243–271. Macmillan, New York (1984). Chap. 12

    MATH  Google Scholar 

  28. Damm, W., Hermanns, H. (eds.): Computer Aided Verification, Proceedings of the 19th International Conference, CAV 2007, Berlin, Germany, July 3–7, 2007. LNCS, vol. 4590. Springer, Heidelberg (2007)

    MATH  Google Scholar 

  29. Dams, D., Grumberg, O.: Abstraction and abstraction refinement. In: Clarke, E.M., Henzinger, T.A., Veith, H., Bloem, R. (eds.) Handbook of Model Checking. Springer, Heidelberg (2018)

    Google Scholar 

  30. Dijkstra, E., Scholten, C.: Predicate Calculus and Program Semantics. Springer, Heidelberg (1990)

    Book  Google Scholar 

  31. Dijkstra, E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Commun. ACM 18(8), 453–457 (1975)

    Article  MathSciNet  Google Scholar 

  32. Emerson, E.A., Sistla, A.P.: Symmetry and model checking. In: Courcoubetis, C. (ed.) Intl. Conf. on Computer-Aided Verification (CAV). LNCS, vol. 697, pp. 463–478. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  33. Farzan, A., Chen, Y.F., Clarke, E.M., Tsay, Y.K., Wang, B.Y.: Extending automated compositional verification to the full class of omega-regular languages. In: Ramakrishnan, C.R., Rehof, J. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 4963, pp. 2–17. Springer, Heidelberg (2008)

    Google Scholar 

  34. Farzan, A., Kincaid, Z.: Verification of parameterized concurrent programs by modular reasoning about data and control. In: Field, J., Hicks, M. (eds.) Symp. on Principles of Programming Languages (POPL), pp. 297–308. ACM, New York (2012)

    MATH  Google Scholar 

  35. Farzan, A., Kincaid, Z., Podelski, A.: Inductive data flow graphs. In: Giacobazzi, R., Cousot, R. (eds.) Symp. on Principles of Programming Languages (POPL), pp. 129–142. ACM, New York (2013)

    Google Scholar 

  36. Feng, L., Han, T., Kwiatkowska, M.Z., Parker, D.: Learning-based compositional verification for synchronous probabilistic systems. In: Bultan, T., Hsiung, P. (eds.) Intl. Symp. Automated Technology for Verification and Analysis (ATVA). LNCS, vol. 6996, pp. 511–521. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  37. Flanagan, C., Freund, S.N., Qadeer, S., Seshia, S.A.: Modular verification of multithreaded programs. Theor. Comput. Sci. 338(1–3), 153–183 (2005)

    Article  MathSciNet  Google Scholar 

  38. Flanagan, C., Qadeer, S.: Thread-modular model checking. In: Ball, T., Rajamani, S.K. (eds.) Intl. Symposium on Model Checking of Software (SPIN). LNCS, vol. 2648, pp. 213–224. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  39. Garg, P., Madhusudan, P.: Compositionality entails sequentializability. In: Abdulla, P.A., Leino, K.R.M. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 6605, pp. 26–40. Springer, Heidelberg (2011)

    Google Scholar 

  40. Giannakopoulou, D., Pasareanu, C.S.: Interface generation and compositional verification in JavaPathfinder. In: Chechik, M., Wirsing, M. (eds.) Intl. Conf. Fundamental Approaches to Software Engineering (FASE). LNCS, vol. 5503, pp. 94–108. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  41. Giannakopoulou, D., Pasareanu, C.S., Barringer, H.: Component verification with automatically generated assumptions. Autom. Softw. Eng. 12(3), 297–320 (2005)

    Article  Google Scholar 

  42. Giannakopoulou, D., Rakamaric, Z., Raman, V.: Symbolic learning of component interfaces. In: Miné, A., Schmidt, D. (eds.) Intl. Symp. on Static Analysis (SAS). LNCS, vol. 7460, pp. 248–264. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  43. Golubitsky, M., Stewart, I.: Nonlinear dynamics of networks: the groupoid formalism. Bull. Am. Math. Soc. 43, 305–364 (2006)

    Article  MathSciNet  Google Scholar 

  44. Graf, S., Steffen, B.: Compositional minimization of finite state systems. In: Clarke, E.M., Kurshan, R.P. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), vol. 531, pp. 186–196. Springer, Heidelberg (1990)

    Chapter  Google Scholar 

  45. Grumberg, O., Long, D.E.: Model checking and modular verification. Trans. Program. Lang. Syst. 16(3), 843–871 (1994)

    Article  Google Scholar 

  46. Gupta, A., McMillan, K.L., Fu, Z.: Automated assumption generation for compositional verification. Form. Methods Syst. Des. 32(3), 285–301 (2008)

    Article  Google Scholar 

  47. Gupta, A., Popeea, C., Rybalchenko, A.: Predicate abstraction and refinement for verifying multi-threaded programs. In: Ball, T., Sagiv, M. (eds.) Symp. on Principles of Programming Languages (POPL), pp. 331–344. ACM, New York (2011)

    Google Scholar 

  48. Henzinger, T.A., Jhala, R., Majumdar, R.: Permissive interfaces. In: Wermelinger, M., Gall, H.C. (eds.) Intl. Symp. on Foundations of Software Engineering (FSE), pp. 31–40. ACM, New York (2005)

    Google Scholar 

  49. Henzinger, T.A., Liu, X., Qadeer, S., Rajamani, S.K.: Formal specification and verification of a dataflow processor array. In: White and Sentovich [53], pp. 494–499

    Google Scholar 

  50. Henzinger, T.A., Qadeer, S., Rajamani, S.K.: You assume, we guarantee: methodology and case studies. In: Hu, A.J., Vardi, M.Y. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), vol. 1427, pp. 440–451. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  51. Henzinger, T.A., Qadeer, S., Rajamani, S.K.: Decomposing refinement proofs using assume-guarantee reasoning. In: Sentovich, E. (ed.) International Conference on Computer Aided Design (ICCAD), pp. 245–252. IEEE, Piscataway (2000)

    Google Scholar 

  52. Henzinger, T.A., Qadeer, S., Rajamani, S.K., Tasiran, S.: An assume-guarantee rule for checking simulation. In: Gopalakrishnan, G., Windley, P.J. (eds.) Formal Methods in Computer Aided Design (FMCAD). LNCS, vol. 1522, pp. 421–432. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  53. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)

    Article  Google Scholar 

  54. Howar, F., Giannakopoulou, D., Rakamaric, Z.: Hybrid learning: interface generation through static, dynamic, and symbolic analysis. In: Intl. Symp. on Software Testing and Analysis (ISSTA), pp. 268–279. ACM, New York (2013)

    Google Scholar 

  55. Inverardi, P., Wolf, A.L., Yankelevich, D.: Static checking of system behaviors using derived component assumptions. Trans. Softw. Eng. Methodol. 9(3), 239–272 (2000)

    Article  Google Scholar 

  56. Ip, C.N., Dill, D.L.: Better verification through symmetry. In: Agnew, D., Claesen, L.J.M., Camposano, R. (eds.) CHDL. IFIP Transactions, vol. A-32, pp. 97–111. North-Holland, Amsterdam (1993)

    Google Scholar 

  57. Jones, C.B.: Tentative steps toward a development method for interfering programs. Trans. Program. Lang. Syst. 5(4), 596–619 (1983)

    Article  Google Scholar 

  58. Komuravelli, A., Pasareanu, C.S., Clarke, E.M.: Learning probabilistic systems from tree samples. In: Symp. on Logic in Computer Science, vol. LICS, pp. 441–450. IEEE, Piscataway (2012)

    Google Scholar 

  59. Kurshan, R.: Reducibility in analysis of coordination. In: Varaiya, P., Kurzhanski, A. (eds.) Discrete Event Systems: Models and Applications. Lecture Notes in Control and Information Sciences, vol. 103, pp. 19–39. Springer, Heidelberg (1988)

    Chapter  Google Scholar 

  60. Lamport, L.: Proving the correctness of multiprocess programs. Trans. Softw. Eng. 3(2), 125–143 (1977)

    Article  MathSciNet  Google Scholar 

  61. Lamport, L.: Composition: a way to make proofs harder. In: de Roever, W.P., Langmaack, H., Pnueli, A. (eds.) Compositionality: The Significant Difference (COMPOS ’97). LNCS, vol. 1536, pp. 402–423. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  62. Larsen, K., Xinxin, L.: Equation solving using modal transition systems. In: Symp. on Logic in Computer Science, vol. LICS, pp. 108–117. IEEE, Piscataway (1990)

    Google Scholar 

  63. Lin, S.W., André, É., Liu, Y., Sun, J., Dong, J.S.: Learning assumptions for compositional verification of timed systems. Trans. Softw. Eng. 40(2), 137–153 (2014)

    Article  Google Scholar 

  64. Magee, J., Kramer, J.: Concurrency: State Models & Java Programs. Wiley, New York (1999)

    MATH  Google Scholar 

  65. Maier, P.: Compositional circular assume-guarantee rules cannot be sound and complete. In: Gordon, A.D. (ed.) Intl. Conf. on Foundations of Software Science and Computational Structures (FoSSaCS). LNCS, vol. 2620, pp. 343–357. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  66. McMillan, K.L.: Verification of an implementation of Tomasulo’s algorithm by compositional model checking. In: Hu, A.J., Vardi, M.Y. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), vol. 1427, pp. 110–121. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  67. McMillan, K.L.: Circular compositional reasoning about liveness. In: Pierre, L., Kropf, T. (eds.) Correct Hardware Design and Verification Methods (CHARME). LNCS, vol. 1703, pp. 342–345. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  68. Merlin, P., Bochmann, G.V.: On the construction of submodule specifications and communication protocols. Trans. Program. Lang. Syst. 5(1), 1–25 (1983)

    Article  Google Scholar 

  69. Misra, J., Chandy, K.M.: Proofs of networks of processes. Trans. Softw. Eng. 7(4), 417–426 (1981)

    Article  MathSciNet  Google Scholar 

  70. Moon, I.H., Kukula, J.H., Shiple, T.R., Somenzi, F.: Least fixpoint approximations for reachability analysis. In: White and Sentovich [84], pp. 41–44

    Google Scholar 

  71. Nam, W., Madhusudan, P., Alur, R.: Automatic symbolic compositional verification by learning assumptions. Form. Methods Syst. Des. 32(3), 207–234 (2008)

    Article  Google Scholar 

  72. Namjoshi, K.S.: Symmetry and completeness in the analysis of parameterized systems. In: Cook, B., Podelski, A. (eds.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 4349, pp. 299–313 (2007)

    Chapter  Google Scholar 

  73. Namjoshi, K.S., Trefler, R.J.: On the completeness of compositional reasoning methods. Trans. Comput. Log. 11(3), 16:1–16:22 (2010)

    MathSciNet  MATH  Google Scholar 

  74. Namjoshi, K.S., Trefler, R.J.: Local symmetry and compositional verification. In: Kuncak, V., Rybalchenko, A. (eds.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 7148, pp. 348–362 (2012)

    Chapter  Google Scholar 

  75. Namjoshi, K.S., Trefler, R.J.: Uncovering symmetries in irregular process networks. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) Intl. Conf. on Verification, Model Checking and Abstract Interpretation (VMCAI). LNCS, vol. 7737, pp. 496–514 (2013)

    Chapter  Google Scholar 

  76. Owicki, S.S., Gries, D.: Verifying properties of parallel programs: an axiomatic approach. Commun. ACM 19(5), 279–285 (1976)

    Article  MathSciNet  Google Scholar 

  77. Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, Reading (1994)

    MATH  Google Scholar 

  78. Pasareanu, C.S., Giannakopoulou, D., Bobaru, M.G., Cobleigh, J.M., Barringer, H.: Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning. Form. Methods Syst. Des. 32(3), 175–205 (2008)

    Article  Google Scholar 

  79. Piterman, N., Pnueli, A.: Temporal logic and fair discrete systems. In: Clarke, E.M., Henzinger, T.A., Veith, H., Bloem, R. (eds.) Handbook of Model Checking. Springer, Heidelberg (2018)

    Google Scholar 

  80. Pnueli, A.: In transition from global to modular temporal reasoning about programs. In: Apt, K. (ed.) Logics and Models of Concurrent Systems, pp. 123–144. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  81. Pnueli, A., Ruah, S., Zuck, L.: Automatic deductive verification with invisible invariants. In: Margaria, T., Yi, W. (eds.) Intl. Conf. on Tools and Algorithms for the Construction and Analysis of Systems (TACAS). LNCS, vol. 2031, pp. 82–97. Springer, Heidelberg (2001)

    Google Scholar 

  82. Rivest, R.L., Schapire, R.E.: Inference of finite automata using homing sequences. Inf. Comput. 103(2), 299–347 (1993)

    Article  MathSciNet  Google Scholar 

  83. de Roever, W.P., de Boer, F.S., Hannemann, U., Hooman, J., Lakhnech, Y., Poel, M., Zwiers, J.: Concurrency Verification: Introduction to Compositional and Noncompositional Methods. Cambridge Tracts in Theoretical Computer Science, vol. 54. Cambridge University Press, Cambridge (2001)

    MATH  Google Scholar 

  84. Scott, D., Strachey, C.: Toward a mathematical semantics for computer languages. Tech. Rep. PRG-6, Oxford Programming Research Group (1971)

    Google Scholar 

  85. Singh, R., Giannakopoulou, D., Pasareanu, C.S.: Learning component interfaces with may and must abstractions. In: Touili, T., Cook, B., Jackson, P. (eds.) Intl. Conf. on Computer-Aided Verification (CAV), vol. 6174, pp. 527–542. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  86. White, J.K., Sentovich, E. (eds.): Proceedings of the 1999 IEEE/ACM International Conference on Computer-Aided Design, 1999, San Jose, California, USA, November 7–11, 1999. IEEE, Piscataway (1999)

    Google Scholar 

  87. Xiao, H., Sun, J., Liu, Y., Lin, S.W., Sun, C.: Tzuyu: learning stateful typestates. In: Denney, E., Bultan, T., Zeller, A. (eds.) Intl. Conf. on Automated Software Engineering (ASE), pp. 432–442. IEEE, Piscataway (2013)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Kedar S. Namjoshi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Giannakopoulou, D., Namjoshi, K.S., Păsăreanu, C.S. (2018). Compositional Reasoning. In: Clarke, E., Henzinger, T., Veith, H., Bloem, R. (eds) Handbook of Model Checking. Springer, Cham. https://doi.org/10.1007/978-3-319-10575-8_12

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-10575-8_12

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-10574-1

  • Online ISBN: 978-3-319-10575-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics