Random Models for Evaluating Efficient Büchi Universality Checking
Automata-theoretic formal verification approaches the problem of guaranteeing that a program conforms to its specification by reducing conformance to language containment. We can prove conformance by representing both programs and specifications as automata and proving that the specification contains the program. This connection to the theory of automata on infinite words motivated an extensive research program into the algorithmic theory of automata on infinite words, with a focus on algorithms that perform well in practice. The focus on practical performance is important because of the large gap between worst-case complexity and practice for many automata-theoretic algorithms. Unfortunately, there are few benchmark instances of automata in industrial verification. To overcome this challenge, Tabakov and Vardi proposed a model for generating random automata as test cases.
The Tabakov-Vardi (T-V) model, however, is just one random model, based on a specific, rather simple model of random graphs. Other models of random graphs have been studied over the years. While the T-V model has the advantage of simplicity, it is not clear that performance analysis conducted on this model is robust, and an analogous analysis over other random models might yield different conclusions. To address this problem, we introduce three novel models of random automata, yielding automata that are richer in structure than the automata generated by the T-V model. By generating large corpora of random automata and using them to evaluate the performance of universality-checking algorithms, we show that the T-V model is a robust random model for evaluating performance of universality-checking algorithms.
Work supported in part by NSF grants CCF-1319459 and IIS-1527668, by NSF Expeditions in Computing project “ExCAPE: Expeditions in Computer Augmented Program Engineering”, as well as the Data Analysis and Visualization Cyberinfrastructure funded by NSF grant OCI-0959097 and Rice University.
- 2.Doyen, L., Raskin, J.: Antichains for the automata-based approach to model-checking. arXiv preprint arXiv:0902.3958 (2009)
- 3.Fisher, C., Fogarty, S., Vardi, M.: Random models for efficient Büchi universality checking. Technical report. Department of Computer Science, Rice University, Houston, TX, October 2016. http://www.cs.rice.edu/~vardi
- 7.Kleinberg, J., Kumar, R., Raghavan, P., Rajagopalan, S., Tomkins, A.: The web as a graph: measurements, models, and methods. In: Asano, T., Imai, H., Lee, D.T., Nakano, S., Tokuyama, T. (eds.) COCOON 1999. LNCS, vol. 1627, pp. 1–17. Springer, Heidelberg (1999). doi: 10.1007/3-540-48686-0_1
- 10.Leslie, T.: Efficient approaches to subset construction. Technical report. University of Waterloo, Canada (1995)Google Scholar
- 11.de Wulf, M., Doyen, L., Henzinger, T.A., Raskin, J.-F.: Antichains: a new algorithm for checking universality of finite automata. In: Ball, T., Jones, R.B. (eds.) CAV 2006. LNCS, vol. 4144, pp. 17–30. Springer, Heidelberg (2006). doi: 10.1007/11817963_5
- 13.Michel, M.: Complementation is more difficult with automata on infinite words. CNET, Paris (1988). 15Google Scholar
- 14.Abdulla, P.A., Chen, Y.-F., Clemente, L., Holík, L., Hong, C.-D., Mayr, R., Vojnar, T.: Advanced ramsey-based Büchi automata inclusion testing. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 187–202. Springer, Heidelberg (2011). doi: 10.1007/978-3-642-23217-6_13 CrossRefGoogle Scholar
- 15.Safra, S.: On the complexity of \(\omega \)-automata. In: 29th Annual Symposium on Foundations of Computer Science, pp. 319–327. IEEE (1988)Google Scholar
- 16.Sistla, A.P., Vardi, M.Y., Wolper, P.: The complementation problem for Büchi automata with applications to temporal logic. Theor. Comput. Sci. 49(2), 217–237 (1987)Google Scholar
- 18.Tabakov, D., Vardi, M.Y.: Model checking Büchi specifications. In: Proceedings of 1st International Conference on Language and Automata Theory and Applications, pp. 565–576 (2007)Google Scholar
- 19.Vardi, M., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of the First Symposium on Logic in Computer Science, pp. 322–331. IEEE Computer Society (1986)Google Scholar