Verification under TSO with an infinite Data Domain (2401.10423v1)
Abstract: We examine verification of concurrent programs under the total store ordering (TSO) semantics used by the x86 architecture. In our model, threads manipulate variables over infinite domains and they can check whether variables are related for a range of relations. We show that, in general, the control state reachability problem is undecidable. This result is derived through a reduction from the state reachability problem of lossy channel systems with data (which is known to be undecidable). In the light of this undecidability, we turn our attention to a more tractable variant of the reachability problem. Specifically, we study context bounded runs, which provide an under-approximation of the program behavior by limiting the possible interactions between processes. A run consists of a number of contexts, with each context representing a sequence of steps where a only single designated thread is active. We prove that the control state reachability problem under bounded context switching is PSPACE complete.
- Data communicating processes with unreliable channels. In LICS, pages 166–175. ACM, 2016. doi:10.1145/2933575.2934535.
- A load-buffer semantics for total store ordering. LMCS, 14(1), 2018.
- Parameterized verification under TSO with data types. In TACAS 2023, volume 13993 of LNCS, pages 588–606. Springer, 2023. doi:10.1007/978-3-031-30823-9_30.
- The best of both worlds: Trading efficiency and optimality in fence insertion for TSO. In ESOP 2015, volume 9032 of LNCS, pages 308–332. Springer, 2015. doi:10.1007/978-3-662-46669-8_13.
- Parameterized verification under TSO is PSPACE-complete. Proc. ACM Program. Lang., 4(POPL):26:1–26:29, 2020. doi:10.1145/3371094.
- Dense-timed pushdown automata. In LICS, pages 35–44. IEEE Computer Society, 2012. doi:10.1109/LICS.2012.15.
- Algorithmic analysis of programs with well quasi-ordered domains. Inf. Comput., 160(1-2):109–127, 2000. doi:10.1006/inco.1999.2843.
- On the coverability problem for constrained multiset rewriting. In Proc. AVIS’06, The fifth Int. Workshop on on Automated Verification of Infinite-State Systems, 2006.
- Verifying programs with unreliable channels. In LICS, pages 160–170. IEEE Computer Society, 1993. doi:10.1109/LICS.1993.287591.
- Model checking parameterized systems. In Edmund M. Clarke, Thomas A. Henzinger, Helmut Veith, and Roderick Bloem, editors, Handbook of Model Checking, pages 685–725. Springer, 2018. doi:10.1007/978-3-319-10575-8_21.
- A theory of timed automata. Theor. Comput. Sci., 126(2):183–235, 1994. doi:10.1016/0304-3975(94)90010-8.
- On the verification problem for weak memory models. In SIGPLAN-SIGACT, pages 7–18. ACM, 2010. doi:10.1145/1706299.1706303.
- Getting rid of store-buffers in TSO analysis. In CAV, volume 6806 of LNCS, pages 99–115. Springer, 2011. doi:10.1007/978-3-642-22110-1_9.
- Checking and enforcing robustness against TSO. In ESOP 2013, volume 7792 of LNCS, pages 533–553. Springer, 2013. doi:10.1007/978-3-642-37036-6_29.
- Reachability analysis of pushdown automata: Application to model-checking. In CONCUR, volume 1243 of LNCS, pages 135–150. Springer, 1997. doi:10.1007/3-540-63141-0_10.
- Sebastian Burckhardt. Principles of eventual consistency. FTPL, 1(1-2):1–150, 2014. doi:10.1561/2500000011.
- Karlis Cerans. Deciding properties of integral relational automata. In ICALP94 Proceedings, volume 820 of LNCS, pages 35–46. Springer, 1994. doi:10.1007/3-540-58201-0_56.
- TSO-CC: consistency directed cache coherence for TSO. In HPCA, pages 165–176. IEEE Computer Society, 2014. doi:10.1109/HPCA.2014.6835927.
- Well-structured transition systems everywhere! Theor. Comput. Sci., 256(1-2):63–92, 2001. doi:10.1016/S0304-3975(00)00102-X.
- Dexter Kozen. Lower bounds for natural proof systems. In 18th Annual Symposium on Foundations of Computer Science (SFCS 1977), pages 254–266, 1977. doi:10.1109/SFCS.1977.16.
- Parameterized verification under release acquire is PSPACE-complete. In Alessia Milani and Philipp Woelfel, editors, PODC, pages 482–492. ACM, 2022. doi:10.1145/3519270.3538445.
- Reducing context-bounded concurrent reachability to sequential reachability. In CAV, volume 5643 of LNCS, pages 477–492. Springer, 2009. doi:10.1007/978-3-642-02658-4_36.
- Taming release-acquire consistency. In SIGPLAN-SIGACT, pages 649–662. ACM, 2016. doi:10.1145/2837614.2837643.
- Reducing concurrent analysis under a context bound to sequential analysis. FMSD, 35(1):73–97, 2009. doi:10.1007/s10703-009-0078-9.
- Leslie Lamport. A new solution of dijkstra’s concurrent programming problem. Commun. ACM, 17(8):453–455, aug 1974. doi:10.1145/361082.361093.
- Nets with tokens which carry data. Fundam. Informaticae, 88(3):251–274, 2008. URL: http://content.iospress.com/articles/fundamenta-informaticae/fi88-3-03.
- Iterative context bounding for systematic testing of multithreaded programs. In PLDI, pages 446–455. ACM, 2007. doi:10.1145/1250734.1250785.
- A better x86 memory model: x86-TSO. In TPHOLs, volume 5674 of LNCS, pages 391–407. Springer, 2009. doi:10.1007/978-3-642-03359-9_27.
- Context-bounded model checking of concurrent software. In TACAS, volume 3440 of LNCS, pages 93–107. Springer, 2005.
- ”an optimal algorithm for mutual exclusion in computer networks,”. Commun. ACM, 24:9–17, 01 1981. doi:10.1145/358527.358537.
- Racer: TSO consistency via race detection. In MICRO. IEEE Computer Society, 2016. doi:10.1109/MICRO.2016.7783736.
- Understanding POWER multiprocessors. In ACM SIGPLAN, PLDI, pages 175–186. ACM, 2011. doi:10.1145/1993498.1993520.
- x86-TSO: a rigorous and usable programmer’s model for x86 multiprocessors. Commun. ACM, 53(7):89–97, 2010. doi:10.1145/1785414.1785443.