Abstract
We present Homer, an observational-equivalence model checker for the 3rd-order fragment of Idealized Algol (IA) augmented with iteration. It works by first translating terms of the fragment into a precise representation of their game semantics as visibly pushdown automata (VPA). The VPA-translates are then passed to a VPA toolkit (which we have implemented) to test for equivalence. Thanks to the fully abstract game semantics, observational equivalence of these IA-terms reduces to the VPA Equivalence Problem. Our checker is thus sound and complete; because it model checks open terms, our approach is also compositional. Further, if the terms are inequivalent, Homer will produce both a game-semantic and an operational-semantic counter-example, in the form of a play and a separating context respectively. We showcase these features on a number of examples and (where appropriate) compare its performance with similar tools. To the best of our knowledge, Homer is the first implementation of a model checker of 3rd-order programs.
We thank A. Murawski for useful discussions and Microsoft Research PhD Scholarship Programme for funding this work. Homer builds on and extends Hopkins’ dissertation [7].
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Abramsky, S., McCusker, G.: Linearity, sharing and state. In: Algol-Like Langs. (1997)
Abramsky, S., et al.: Applying Game Semantics to Compositional Software Modelling and Verification. In: Jensen, K., Podelski, A. (eds.) TACAS 2004. LNCS, vol. 2988, pp. 421–435. Springer, Heidelberg (2004)
Alur, R., Madhusudan, P.: Visibly pushdown languages. In: Proc. STOC (2004)
Bakewell, A., Ghica, D.R.: On-the-fly techniques for game-based software model checking. In: Proc. TACAS (2009)
Dimovski, A.S., Ghica, D.R., Lazic, R.: Data-abstraction refinement. In: Hankin, C., Siveroni, I. (eds.) SAS 2005. LNCS, vol. 3672, pp. 102–117. Springer, Heidelberg (2005)
Ghica, D.R., McCusker, G.: Reasoning about Idealized Algol Using Regular Languages. In: Welzl, E., Montanari, U., Rolim, J.D.P. (eds.) ICALP 2000. LNCS, vol. 1853, p. 103. Springer, Heidelberg (2000)
Hopkins, D.: A model checker for a higher-order procedural language. MCompSc dissertation, University of Oxford (2009), http://users.comlab.ox.ac.uk/luke.ong/publications/HopkinsReport.pdf
Murawski, A., Walukiewicz, I.: Third-order idealized algol with iteration is decidable. In: Sassone, V. (ed.) FOSSACS 2005. LNCS, vol. 3441, pp. 202–218. Springer, Heidelberg (2005)
Reynolds, J.C.: The essence of Algol. In: Algorithmic Languages. North-Holland, Amsterdam (1981)
Okasaki, C.: Even higher-order functions for parsing. J. Funct. Program. (1998)
Cataldo, A.: The Power of Higher-Order Composition Languages in System Design. Ph.D thesis, UC Bekerley (2006)
Schwoon, S.: Model-Checking Pushdown Systems. Ph.D thesis, Tech. Univ. of Munich (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hopkins, D., Ong, C.H.L. (2009). Homer: A Higher-Order Observational Equivalence Model checkER. In: Bouajjani, A., Maler, O. (eds) Computer Aided Verification. CAV 2009. Lecture Notes in Computer Science, vol 5643. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02658-4_51
Download citation
DOI: https://doi.org/10.1007/978-3-642-02658-4_51
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-02657-7
Online ISBN: 978-3-642-02658-4
eBook Packages: Computer ScienceComputer Science (R0)