Asynchronous Composition of LTL Properties over Infinite and Finite Traces (2312.14831v1)
Abstract: The verification of asynchronous software components poses significant challenges due to the way components interleave and exchange input/output data concurrently. Compositional strategies aim to address this by separating the task of verifying individual components on local properties from the task of combining them to achieve global properties. This paper concentrates on employing symbolic model checking techniques to verify properties specified in Linear-time Temporal Logic (LTL) on asynchronous software components that interact through data ports. Unlike event-based composition, local properties can now impose constraints on input from other components, increasing the complexity of their composition. We consider both the standard semantics over infinite traces as well as the truncated semantics over finite traces to allow scheduling components only finitely many times. We propose a novel LTL rewriting approach, which converts a local property into a global one while considering the interleaving of infinite or finite execution traces of components. We prove the semantic equivalence of local properties and their rewritten version projected on the local symbols. The rewriting is also optimized to reduce formula size and to leave it unchanged when the temporal property is stutter invariant. These methods have been integrated into the OCRA tool, 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.
- Partial order reduction for state/event ltl. In IFM, 2009.
- Model checking of hybrid systems using shallow synchronization. In John Hatcliff and Elena Zucca, editors, Formal Techniques for Distributed Systems, pages 155–169, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg.
- Symbolic model checking of relative safety ltl properties. In IFM 2023: 18th International Conference, IFM 2023, Leiden, The Netherlands, November 13-15, 2023, Proceedings, pages 302–320, Berlin, Heidelberg, 2023. Springer-Verlag. doi:10.1007/978-3-031-47705-8_16.
- Principles of Model Checking. MIT Press, 2008.
- Satisfiability Modulo Theories. In Handbook of Satisfiability, pages 825–885. IOS Press, January 2009. doi:10.3233/978-1-58603-929-5-825.
- Asynchronous Composition of Local Interface LTL Properties. In NFM, pages 508–526, 2022.
- The nuxmv symbolic model checker. volume 8559, pages 334–342, 07 2014. doi:10.1007/978-3-319-08867-9_22.
- Eva: a tool for the compositional verification of autosar models. In Sriram Sankaranarayanan and Natasha Sharygina, editors, Tools and Algorithms for the Construction and Analysis of Systems, pages 3–10, Cham, 2023. Springer Nature Switzerland.
- Ocra: A tool for checking the refinement of temporal contracts. pages 702–705, 11 2013. doi:10.1109/ASE.2013.6693137.
- Another Look at LTL Model Checking. Formal Methods in System Design, 10:47–71, 1994.
- Smt-based satisfiability of first-order ltl with event freezing functions and metric operators. Information and Computation, 272:104502, 12 2019. doi:10.1016/j.ic.2019.104502.
- Hydi: A language for symbolic hybrid systems with discrete interaction. pages 275–278, 08 2011. doi:10.1109/SEAA.2011.49.
- Contracts-refinement proof system for component-based embedded systems. Science of Computer Programming, 97:333–348, 2015. Object-Oriented Programming and Systems (OOPS 2010) Modeling and Analysis of Compositional Software (papers from EUROMICRO SEAA 12). URL: https://www.sciencedirect.com/science/article/pii/S0167642314002901, doi:10.1016/j.scico.2014.06.011.
- Contracts-refinement proof system for component-based embedded systems. Science of Computer Programming, 97:333–348, 2015. URL: https://www.sciencedirect.com/science/article/pii/S0167642314002901, doi:10.1016/j.scico.2014.06.011.
- Patterns in property specifications for finite-state verification. Proceedings - International Conference on Software Engineering, 02 1970. doi:10.1145/302405.302672.
- Interface automata. In ESEC / SIGSOFT FSE, pages 109–120. ACM, 2001.
- Linear Temporal Logic and Linear Dynamic Logic on Finite Traces. In Proceedings of the Twenty-Third International Joint Conference on Artificial Intelligence, IJCAI ’13. AAAI Press, 2013.
- Reasoning with temporal logic on truncated paths. In International Conference on Computer Aided Verification, 2003. URL: https://api.semanticscholar.org/CorpusID:9153840.
- The Definition of a Temporal Clock Operator. In ICALP, volume 2719 of Lecture Notes in Computer Science, pages 857–870. Springer, 2003.
- Temporal Reasoning on Incomplete Paths: 8th International Symposium, ISoLA 2018, Limassol, Cyprus, November 5-9, 2018, Proceedings, Part II, pages 28–52. 11 2018. doi:10.1007/978-3-030-03421-4_3.
- B. Jonsson and Yih-Kuen Tsay. Assumption/guarantee specifications in linear-time temporal logic. Theor. Comput. Sci., 167:47–72, 1996.
- Model checking of safety properties. Formal Methods in System Design, 19(3):291–314, 2001.
- Leslie Lamport. Temporal logic of actions. ACM Transactions on Programming Languages and Systems (TOPLAS), 16:872–923, 05 1994. doi:10.1145/177492.177726.
- Leslie Lamport. The operators of tla. 06 1997.
- Timo Latvala. Efficient Model Checking of Safety Properties. In SPIN, volume 2648 of Lecture Notes in Computer Science, pages 74–88. Springer, 2003.
- Assume-guarantee reasoning with scheduled components. In NASA Formal Methods, 2022. URL: https://api.semanticscholar.org/CorpusID:248991390.
- The Glory of the Past. In Logics of Programs, pages 196–218, 1985.
- Kenneth L. McMillan. Circular Compositional Reasoning about Liveness. In CHARME, volume 1703 of Lecture Notes in Computer Science, pages 342–345. Springer, 1999.
- Z. Manna and A. Pnueli. The temporal logic of reactive and concurrent systems - specification. Springer, 1992.
- The temporal logic of reactive and concurrent systems - specification. Springer, 1992.
- Assume-Guarantee Model Checking of Software: A Comparative Case Study. In SPIN, volume 1680 of Lecture Notes in Computer Science, pages 168–183. Springer, 1999.
- Amir Pnueli. The temporal logic of programs. pages 46–57, 09 1977. doi:10.1109/SFCS.1977.32.
- Concurrency Verification: Introduction to Compositional and Noncompositional Methods. 01 2001.
- Kristin Y. Rozier. Linear temporal logic symbolic model checking. Computer Science Review, 5(2):163–203, 2011. URL: https://www.sciencedirect.com/science/article/pii/S1574013710000407, doi:10.1016/j.cosrev.2010.06.002.
- A formal model of composing components: The tla+ approach. Innovations in Systems and Software Engineering, 5:139–148, 06 2009. doi:10.1007/s11334-009-0089-0.
- Stefano Tonetta. Linear-time Temporal Logic with Event Freezing Functions. In GandALF, volume 256 of EPTCS, pages 195–209, 2017.