Abstract
Using game semantics, we investigate the problem of verifying contextual equivalences in Interface Middleweight Java (IMJ), an imperative object calculus in which program phrases are typed using interfaces. Working in the setting where data types are non-recursive and restricted to finite domains, we identify the frontier between decidability and undecidability by reference to the structure of interfaces present in typing judgments. In particular, we show how to determine the decidability status of problem instances (over a fixed type signature) by examining the position of methods inside the term type and the types of its free identifiers. Our results build upon the recent fully abstract game semantics of IMJ. Decidability is proved by translation into visibly pushdown register automata over infinite alphabets with fresh-input recognition.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Since the space we can devote in this paper to the exposition of the game model is limited, we kindly refer the reader to [11] for a thorough account.
- 2.
The partitioning depends on the type of the move (e.g. only P-calls can be pushes, and only O-returns can be pops) and is made explicit in the automata construction.
- 3.
As we see next, these actions do not necessarily happen in this order (pops happen first).
- 4.
This is a technical convenience of the interpretation: as we see next, we translate each canonical term into a family of automata, one per (symbolic) initial move-with-store (here, the unique initial move is \({\star }^\emptyset \)). Initial states take the initial move as given and are therefore P-states.
References
Ábrahám, E., Bonsangue, M.M., de Boer, F.S., Grüner, A., Steffen, M.: Observability, connectivity, and replay in a sequential calculus of classes. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2004. LNCS, vol. 3657, pp. 296–316. Springer, Heidelberg (2005)
Bierman, G., Parkinson, M., Pitts, A.: MJ: An imperative core calculus for Java and Java with effects. Technical report 563, Computer Laboratory, University of Cambridge (2002)
Bouajjani, A., Fratani, S., Qadeer, S.: Context-bounded analysis of multithreaded programs with dynamic linked structures. In: Damm, W., Hermanns, H. (eds.) CAV 2007. LNCS, vol. 4590, pp. 207–220. Springer, Heidelberg (2007)
Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Formal Aspects Comput. 13, 341–363 (2002)
Hopkins, D., Murawski, A.S., Ong, C.-H.L.: A fragment of ML decidable by visibly pushdown automata. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011, Part II. LNCS, vol. 6756, pp. 149–161. Springer, Heidelberg (2011)
Jagadeesan, R., Pitcher, C., Riely, J.: Open bisimulation for aspects. In: AOSD. ACM (2007)
Jeffrey, A., Rathke, J.: Java JR: fully abstract trace semantics for a core java language. In: Sagiv, M. (ed.) ESOP 2005. LNCS, vol. 3444, pp. 423–438. Springer, Heidelberg (2005)
Koutavas, V., Wand, M.: Reasoning about class behavior. In: FOOL/WOOD (2007)
Murawski, A.S., Ong, C.-H.L., Walukiewicz, I.: Idealized algol with ground recursion, and DPDA equivalence. In: Caires, L., Italiano, G.F., Monteiro, L., Palamidessi, C., Yung, M. (eds.) ICALP 2005. LNCS, vol. 3580, pp. 917–929. Springer, Heidelberg (2005)
Murawski, A.S., Tzevelekos, N.: Algorithmic games for full ground references. In: Czumaj, A., Mehlhorn, K., Pitts, A., Wattenhofer, R. (eds.) ICALP 2012, Part II. LNCS, vol. 7392, pp. 312–324. Springer, Heidelberg (2012)
Murawski, A.S., Tzevelekos, N.: Game semantics for Interface Middleweight Java. In: POPL, pp. 517–528. ACM (2014)
Segoufin, L.: Automata and logics for words and trees over an infinite alphabet. In: Ésik, Z. (ed.) CSL 2006. LNCS, vol. 4207, pp. 41–57. Springer, Heidelberg (2006)
Sénizergues, G.: L(A)=L(B)? decidability results from complete formal systems. Theor. Comput. Sci. 251(1–2), 1–166 (2001)
Tzevelekos, N.: Fresh-register automata. In: POPL, pp. 295–306 (2011)
Welsch, Y., Poetzsch-Heffter, A.: Full abstraction at package boundaries of object-oriented languages. In: Simao, A., Morgan, C. (eds.) SBMF 2011. LNCS, vol. 7021, pp. 28–43. Springer, Heidelberg (2011)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Murawski, A.S., Ramsay, S.J., Tzevelekos, N. (2015). Game Semantic Analysis of Equivalence in IMJ. In: Finkbeiner, B., Pu, G., Zhang, L. (eds) Automated Technology for Verification and Analysis. ATVA 2015. Lecture Notes in Computer Science(), vol 9364. Springer, Cham. https://doi.org/10.1007/978-3-319-24953-7_30
Download citation
DOI: https://doi.org/10.1007/978-3-319-24953-7_30
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-24952-0
Online ISBN: 978-3-319-24953-7
eBook Packages: Computer ScienceComputer Science (R0)