Synchronizability of Communicating Finite State Machines is not Decidable (1702.07213v7)
Abstract: A system of communicating finite state machines is synchronizable if its send trace semantics, i.e.the set of sequences of sendings it can perform, is the same when its communications are FIFO asynchronous and when they are just rendez-vous synchronizations. This property was claimed to be decidable in several conference and journal papers for either mailboxes or peer-to-peer communications, thanks to a form of small model property. In this paper, we show that this small model property does not hold neither for mailbox communications, nor for peer-to-peer communications, therefore the decidability of synchronizability becomes an open question. We close this question for peer-to-peer communications, and we show that synchronizability is actually undecidable. We show that synchronizability is decidable if the topology of communications is an oriented ring. We also show that, in this case, synchronizability implies the absence of unspecified receptions and orphan messages, and the channel-recognizability of the reachability set.
- Automated verification of automata communicating via FIFO and bag buffers. Formal Methods in System Design, 52(3):260–276, 2018.
- Automated analysis of asynchronously communicating systems. In SPIN’16, pages 1–18, 2016.
- Choreography conformance via synchronizability. In Procs. of WWW 2011, pages 795–804, 2011. doi:10.1145/1963405.1963516.
- On deciding synchronizability for asynchronously communicating systems. Theor. Comput. Sci., 656:60–75, 2016. doi:10.1016/j.tcs.2016.09.023.
- Deciding choreography realizability. In Procs. of POPL’12, pages 191–202, 2012. doi:10.1145/2103656.2103680.
- Synchronizability for verification of asynchronously communicating systems. In Procs. of VMCAI 2012, 2012. doi:10.1007/978-3-642-27940-9_5.
- On the completeness of verifying message passing programs under bounded asynchrony. In CAV 2018, pages 372–391, 2018.
- Symbolic verification of communication protocols with infinite state spaces using qdds. Formal Methods in System Design, 14(3):237–255, 1999. doi:10.1023/A:1008719024240.
- On communicating finite-state machines. Technical Report 1053, Tech. Rep. RZ, IBM Zurich Research Lab., Ruschlikon, Switzerland, January 1981.
- On communicating finite-state machines. J. ACM, 30(2):323–342, April 1983. doi:10.1145/322374.322380.
- A reduction theorem for the verification of round-based distributed algorithms. In Olivier Bournez and Igor Potapov, editors, Reachability Problems, 3rd International Workshop, RP 2009, Palaiseau, France, September 23-25, 2009. Proceedings, volume 5797 of Lecture Notes in Computer Science, pages 93–106. Springer, 2009. doi:10.1007/978-3-642-04420-5_10.
- Verification of programs with half-duplex communication. Inf. Comput., 202(2):166–190, 2005. doi:10.1016/j.ic.2005.05.006.
- Decidable topologies for communicating automata with FIFO and bag channels. In Procs. of CONCUR 2014, pages 281–296, 2014. doi:10.1007/978-3-662-44584-6_20.
- Mixing lossy and perfect fifo channels. In Procs. of CONCUR 2008, pages 340–355, 2008. doi:10.1007/978-3-540-85361-9_28.
- Multiparty session types meet communicating automata. In Procs. of ESOP 2012, pages 194–213, 2012. doi:10.1007/978-3-642-28869-2_10.
- Synchronizability of conversations among web services. IEEE Trans. Software Eng., 31(12):1042–1055, 2005. doi:10.1109/TSE.2005.141.
- A kleene theorem and model checking algorithms for existentially bounded communicating automata. Inf. Comput., 204(6):920–956, 2006. doi:10.1016/j.ic.2006.01.005.
- On communicating automata with bounded channels. Fundamenta Informaticae, 2010.
- Mcscm: A general framework for the verification of communicating machines. In Procs. of TACAS 2012, pages 478–484, 2012. doi:10.1007/978-3-642-28756-5_34.
- Reachability analysis of communicating pushdown systems. Logical Methods in Computer Science, 8(3), 2012. doi:10.2168/LMCS-8(3:23)2012.
- Synchronizing the asynchronous. In Sven Schewe and Lijun Zhang, editors, 29th International Conference on Concurrency Theory, CONCUR 2018, September 4-7, 2018, Beijing, China, volume 118 of LIPIcs, pages 21:1–21:17. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik, 2018. doi:10.4230/LIPIcs.CONCUR.2018.21.
- Richard J. Lipton. Reduction: A method of proving properties of parallel programs. Commun. ACM, 18(12):717–721, 1975. doi:10.1145/361227.361234.
- Context-bounded analysis of concurrent queue systems. In Procs. of TACAS 2008, pages 299–314, 2008. doi:10.1007/978-3-540-78800-3_21.
- Elements of the theory of computation, 2nd Edition. Prentice Hall, 1998.
- Slack elasticity in concurrent computing. Mathematics of Program Construction, pages 272–285, 1998. doi:10.1007/BFb0054295.
- Compatibility checking for asynchronously communicating software. In José Luiz Fiadeiro, Zhiming Liu, and Jinyun Xue, editors, Formal Aspects of Component Software - 10th International Symposium, FACS 2013, Nanchang, China, October 27-29, 2013, Revised Selected Papers, volume 8348 of Lecture Notes in Computer Science, pages 310–328. Springer, 2013. doi:10.1007/978-3-319-07602-7_19.
- Jan Pachl. Protocol description and analysis based on a state transition model with channel expressions. In Proc. of Protocol Specification, Testing, and Verification, VII, 1987.
- Realisability of choreographies. In International Symposium on Foundations of Information and Knowledge Systems, pages 263–280. Springer, 2020.
- Stephen F. Siegel. Efficient verification of halting properties for MPI programs with wildcard receives. In Procs. of VMCAI 2005, pages 413–429, 2005. doi:10.1007/978-3-540-30579-8_27.
- Precise dynamic analysis for slack elasticity: Adding buffering without adding bugs. In Rainer Keller, Edgar Gabriel, Michael Resch, and Jack Dongarra, editors, Recent Advances in the Message Passing Interface, pages 152–159, Berlin, Heidelberg, 2010. Springer Berlin Heidelberg. doi:10.1007/978-3-642-15646-5_16.