Abstract
Automated verification on method overriding is important in Object- Oriented Programming Language (OOPL) to reduce human errors during software verification process. Static verification method fails to address the issue effectively. This paper examines the issues in developing semantics for verifying method overriding in OOPL. The purpose is to identify elements or components for verification process. A study conducted on literature reveals two main issues of verifying method overriding: subtyping and class invariant. Both issues are resolvable by integrating the elements of non-reverification, modularity, and programmer intervention into a framework. We propose an abstract formal framework with the integration of the three elements by using abstract interpretation and Lazy Behavioral Subtyping (LBS). The framework shows that the integration of less restriction of LBS and abstract interpretation is possible to achieve automated verification.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Banerjee, S.: An Immune System Inspired Approach to Automated Program Verification (2009), (February 2011); ArXiv:0905.2649, ArXiv database
Castagna, G.: Covariance And Contravariance: Conflict Without A Cause. ACM Transactions on Programming Languages and Systems 17(3), 431–447 (1995)
Cherem, S., Rugina, R.: A Verifier For Region-Annotated Java Bytecodes. Electronic Notes on Theoretical Computer Science 141(1), 183–201 (2005)
Chin, W.N., David, C., et al.: Enhancing Modular OO Verification With Separation Logic. ACM SIGPLAN Notices 43(1), 87–99 (2008)
Cousot, P.: Program Analysis: The Abstract Interpretation Perspective. ACM SIGPLAN Notices 32(1), 76 (1997)
Dovland, J., Johnsen, E., et al.: Lazy Behavioral Subtyping. Journal of Logic and Algebraic Programming 79(7), 578–607 (2010)
Hoare, C.A.R.: Proof Of Correctness Of Data Representations. Acta Informatica 1(4), 271–281 (1972)
Leino, K.R.M., Müller, P.: Object invariants in dynamic contexts. In: Vetta, A. (ed.) ECOOP 2004. LNCS, vol. 3086, pp. 491–515. Springer, Heidelberg (2004)
M. Leino, K.R., Schulte, W.: Using History Invariants to Verify Observers. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 80–94. Springer, Heidelberg (2007)
Liskov, B.: Data Abstraction And Hierarchy. ACM SIGPLAN Notices 23(5), 17–34 (1988)
Liskov, B.H., Wing, J.M.: A Behavioral Notion Of Subtyping. ACM Transaction on Programming languages and Systems 16(6), 1811–1841 (1994)
Logozzo, F.: Automatic Inference of Class Invariants. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 211–222. Springer, Heidelberg (2004)
Logozzo, F.: An Approach To Behavioral Subtyping Based On Static Analysis. Electronic Notes in Theoretical Computer Science 116, 157–170 (2005)
Muller, P.: Modular Specification And Verification Of Object-Oriented Programs. LNCS, vol. 2262. Springer-Verlag. PhD Thesis (2002)
Parkinson, M.: Class Invariants: The End Of The Road? In: Proceedings of the International Workshop on Aliasing, Confinement and Ownership in Object-oriented Programming, Berlin, Germany, pp. 9–10 (2007)
Parkinson, M.J., Bierman, G.M.: Separation Logic, Abstraction And Inheritance. ACM SIGPLAN Notices 43(1), 75–86 (2008)
Rodriguez-Carbonell, E., Kapur, D.: Automatic Generation Of Polynomial Invariants Of Bounded Degree Using Abstract Interpretation. Science of Computer Programming 64(1), 54–75 (2007)
Webber, A.B.: What Is A Class Invariant? In: Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering., pp. 86–89. Snowbird (2001)
Xing, J., Li, M., et al.: Automated Program Verification Using Generation Of Invariants. In: 10th International Conference on Quality Software, pp. 300–305. IEEE, Zhangjiajie, ChinaZhangjiajie, China (2010)
Dovland, J., Johnsen, E.B., Owe, O., Steffen, M.: Incremental reasoning for multiple inheritance. In: Leuschel, M., Wehrheim, H. (eds.) IFM 2009. LNCS, vol. 5423, pp. 215–230. Springer, Heidelberg (2009)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Hafizah, S., Baba, M.S., Gani, A. (2011). Abstract Formal Framework for Method Overriding. In: Zain, J.M., Wan Mohd, W.M.b., El-Qawasmeh, E. (eds) Software Engineering and Computer Systems. ICSECS 2011. Communications in Computer and Information Science, vol 181. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-22203-0_22
Download citation
DOI: https://doi.org/10.1007/978-3-642-22203-0_22
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-22202-3
Online ISBN: 978-3-642-22203-0
eBook Packages: Computer ScienceComputer Science (R0)