Modular verification of OO programs with interfaces

  • Authors:
  • Qiu Zongyan;Hong Ali;Liu Yijing

  • Affiliations:
  • LMAM and Department of Informatics, School of Math., Peking University, China,State Key Laboratory of Computer Science, ISCAS, China;LMAM and Department of Informatics, School of Math., Peking University, China;LMAM and Department of Informatics, School of Math., Peking University, China

  • Venue:
  • ICFEM'12 Proceedings of the 14th international conference on Formal Engineering Methods: formal methods and software engineering
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Interface types in OO languages support polymorphism, abstraction and information hiding by separating interfaces from their implementations. The separation enhances modularity of programs, however, it causes also challenges to the formal verification. Here we present a study on interface types, and develop a specification and verification theory based on our former veriJ framework. We support multi-specifications for classes inherited from interfaces and the superclass, and keep the verification modularly without re-touching the verified code. The concepts developed in veriJ, namely the abstract specification and specification predicate, play important roles in this extension, and thus are proved widely useful and very natural in the formal proofs of OO programs.