Skip to main content

Abstract Formal Framework for Method Overriding

  • Conference paper
Book cover Software Engineering and Computer Systems (ICSECS 2011)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 181))

Included in the following conference series:

  • 1509 Accesses

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Banerjee, S.: An Immune System Inspired Approach to Automated Program Verification (2009), (February 2011); ArXiv:0905.2649, ArXiv database

    Google Scholar 

  2. Castagna, G.: Covariance And Contravariance: Conflict Without A Cause. ACM Transactions on Programming Languages and Systems 17(3), 431–447 (1995)

    Article  Google Scholar 

  3. Cherem, S., Rugina, R.: A Verifier For Region-Annotated Java Bytecodes. Electronic Notes on Theoretical Computer Science 141(1), 183–201 (2005)

    Article  Google Scholar 

  4. Chin, W.N., David, C., et al.: Enhancing Modular OO Verification With Separation Logic. ACM SIGPLAN Notices 43(1), 87–99 (2008)

    Article  MATH  Google Scholar 

  5. Cousot, P.: Program Analysis: The Abstract Interpretation Perspective. ACM SIGPLAN Notices 32(1), 76 (1997)

    Article  Google Scholar 

  6. Dovland, J., Johnsen, E., et al.: Lazy Behavioral Subtyping. Journal of Logic and Algebraic Programming 79(7), 578–607 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  7. Hoare, C.A.R.: Proof Of Correctness Of Data Representations. Acta Informatica 1(4), 271–281 (1972)

    Article  MATH  Google Scholar 

  8. 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)

    Chapter  Google Scholar 

  9. 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)

    Chapter  Google Scholar 

  10. Liskov, B.: Data Abstraction And Hierarchy. ACM SIGPLAN Notices 23(5), 17–34 (1988)

    Article  Google Scholar 

  11. Liskov, B.H., Wing, J.M.: A Behavioral Notion Of Subtyping. ACM Transaction on Programming languages and Systems 16(6), 1811–1841 (1994)

    Article  Google Scholar 

  12. Logozzo, F.: Automatic Inference of Class Invariants. In: Steffen, B., Levi, G. (eds.) VMCAI 2004. LNCS, vol. 2937, pp. 211–222. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Logozzo, F.: An Approach To Behavioral Subtyping Based On Static Analysis. Electronic Notes in Theoretical Computer Science 116, 157–170 (2005)

    Article  Google Scholar 

  14. Muller, P.: Modular Specification And Verification Of Object-Oriented Programs. LNCS, vol. 2262. Springer-Verlag. PhD Thesis (2002)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. Parkinson, M.J., Bierman, G.M.: Separation Logic, Abstraction And Inheritance. ACM SIGPLAN Notices 43(1), 75–86 (2008)

    Article  MATH  Google Scholar 

  17. 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)

    Article  MathSciNet  MATH  Google Scholar 

  18. 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)

    Google Scholar 

  19. 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)

    Google Scholar 

  20. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics