Abstract
The verification of asynchronous software components is very challenging due to the non-deterministic interleaving of components and concurrent access to shared variables. Compositional approaches decouple the problem of verifying local properties specified over the component interfaces from the problem of composing them to ensure some global property. In this paper, we focus on symbolic model checking techniques for Linear-time Temporal Logic [24] (LTL) properties on asynchronous software components communicating through data ports. Differently from event-based composition, the local properties can specify constraints on the input provided by other components, making their composition more complex.
We propose a new LTL rewriting that translates a local property into a global one taking into account interleaving with other processes. We demonstrate that for every possible global trace, the local LTL property is satisfied by its projection on the local symbols if and only if the rewritten LTL property is satisfied by the global trace. This rewriting is then optimized, reducing the size of the resulting formula and leaving it unchanged when the temporal property is stutter invariant. We also consider an alternative approach where the local formulas are first translated into fair transition systems and then composed. This work has been implemented inside the contract-based design model checking tool OCRA as part of the contract refinement verification suite. Finally, the different composition approaches were compared through an experimental evaluation that covers various types of specifications.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsNotes
- 1.
The proofs of the theorems and lemmas of this section can be found in the appendix of the completed version of the paper at: https://es-static.fbk.eu/people/bombardelli/papers/nfm22/nfm-extended.pdf.
- 2.
The tar files of the experimental evaluation results can be found at: https://es-static.fbk.eu/people/bombardelli/papers/nfm22/expeval.tar.gz.
- 3.
The detailed algorithms of the validation can be found in the appendix of the extended version of this paper at:
https://es-static.fbk.eu/people/bombardelli/papers/nfm22/nfm-extended.pdf.
References
Baier, C., Katoen, J.-P.: Principles of Model Checking. MIT Press, Cambridge (2008)
Barrett, C., Sebastiani, R., Seshia, S.A., Tinelli, C.: Satisfiability modulo theories. In: Handbook of Satisfiability, pp. 825–885. IOS Press, January 2009
Baumeister, J., Coenen, N., Bonakdarpour, B., Finkbeiner, B., Sánchez, C.: A temporal logic for asynchronous hyperproperties. In: Silva, A., Leino, K.R.M. (eds.) CAV 2021. LNCS, vol. 12759, pp. 694–717. Springer, Cham (2021). https://doi.org/10.1007/978-3-030-81685-8_33
Benes, N., Brim, L., Cerná, I., Sochor, J., Vareková, P., Buhnova, B.: Partial order reduction for state/event LTL. In: IFM (2009)
Bu, L., Cimatti, A., Li, X., Mover, S., Tonetta, S.: Model checking of hybrid systems using shallow synchronization. In: Hatcliff, J., Zucca, E. (eds.) FMOODS/FORTE -2010. LNCS, vol. 6117, pp. 155–169. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-13464-7_13
Cavada, R., et al.: The nuXmv symbolic model checker. In: Biere, A., Bloem, R. (eds.) CAV 2014. LNCS, vol. 8559, pp. 334–342. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08867-9_22
Cimatti, A., Dorigatti, M., Tonetta, S.: OCRA: a tool for checking the refinement of temporal contracts, pp. 702–705, November 2013
Cimatti, A., Griggio, A.: Software model checking via IC3. In: CAV, pp. 277–293 (2012)
Cimatti, A., Griggio, A., Magnago, E., Roveri, M., Tonetta, S.: SMT-based satisfiability of first-order LTL with event freezing functions and metric operators. Inf. Comput. 272, 104502 (2019)
Cimatti, A., Mover, S., Tonetta, S.: HyDI: a language for symbolic hybrid systems with discrete interaction, pp. 275–278, August 2011
Cimatti, A., Tonetta, S.: Contracts-refinement proof system for component-based embedded systems. Sci. Comput. Programm. 97, 333–348 (2015). Object-Oriented Programming and Systems (OOPS 2010) Modeling and Analysis of Compositional Software (papers from EUROMICRO SEAA 12)
Clarke, E., Grumberg, O., Hamaguchi, K.: Another look at LTL model checking. Technical report, USA (1994)
de Alfaro, L., Henzinger, T.A.: Interface automata. In: ESEC/SIGSOFT FSE, pp. 109–120. ACM (2001)
Dwyer, M., Avrunin, G., Corbett, J.: Patterns in property specifications for finite-state verification. In: Proceedings - International Conference on Software Engineering, February 1970
Eisner, C., Fisman, D., Havlicek, J., McIsaac, A., Van Campenhout, D.: The definition of a temporal clock operator. In: Baeten, J.C.M., Lenstra, J.K., Parrow, J., Woeginger, G.J. (eds.) ICALP 2003. LNCS, vol. 2719, pp. 857–870. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-45061-0_67
Jonsson, B., Tsay, Y.-K.: Assumption/guarantee specifications in linear-time temporal logic. Theor. Comput. Sci. 167, 47–72 (1996)
Lamport, L.: Temporal logic of actions. ACM Trans. Programm. Lang. Syst. (TOPLAS) 16(872–923), 6 (1994)
Lamport, L.: The operators of TLA, June 1997
Lichtenstein, O., Pnueli, A., Zuck, L.: The glory of the past. In: Logics of Programs, pp. 196–218 (1985)
Manna, Z., Pnueli, A.: The temporal logic of reactive and concurrent systems - specification. Springer (1992). https://doi.org/10.1007/978-1-4612-0931-7
McMillan, K.L.: Circular compositional reasoning about liveness. In: Pierre, L., Kropf, T. (eds.) CHARME 1999. LNCS, vol. 1703, pp. 342–346. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48153-2_30
Meinel, C., Theobald, T.: Algorithms and Data Structures in VLSI Design: OBDD - Foundations and Applications, January 1998
Păsăreanu, C.S., Dwyer, M.B., Huth, M.: Assume-guarantee model checking of software: a comparative case study. In: Dams, D., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 168–183. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48234-2_14
Pnueli, A.: The temporal logic of programs, pp. 46–57, September 1977
Roever, W.-P.: Concurrency Verification: Introduction to Compositional and Non-compositional Methods, January 2001
Rozier, K.Y.: Linear temporal logic symbolic model checking. Compu. Sci. Rev. 5(2), 163–203 (2011)
Rysavy, O., Rab, J.: A formal model of composing components: the TLA+ approach. Innov. Syst. Softw. Eng. 5, 139–148 (2009)
Tonetta, S.: Linear-time temporal logic with event freezing functions. In: Gand, A.L.F. (ed.) vol. 256. EPTCS, pp. 195–209 (2017)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2022 Springer Nature Switzerland AG
About this paper
Cite this paper
Bombardelli, A., Tonetta, S. (2022). Asynchronous Composition of Local Interface LTL Properties. In: Deshmukh, J.V., Havelund, K., Perez, I. (eds) NASA Formal Methods. NFM 2022. Lecture Notes in Computer Science, vol 13260. Springer, Cham. https://doi.org/10.1007/978-3-031-06773-0_27
Download citation
DOI: https://doi.org/10.1007/978-3-031-06773-0_27
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-06772-3
Online ISBN: 978-3-031-06773-0
eBook Packages: Computer ScienceComputer Science (R0)