Verifying heap-manipulating programs with unknown procedure calls

  • Authors:
  • Shengchao Qin;Chenguang Luo;Guanhua He;Florin Craciun;Wei-Ngan Chin

  • Affiliations:
  • Teesside University, Middlesbrough, UK;Citigroup Inc. and Durham University;Durham University;Teesside University, Middlesbrough, UK;National University of Singapore

  • Venue:
  • ICFEM'10 Proceedings of the 12th international conference on Formal engineering methods and software engineering
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

Verification of programs with invocations to unknown procedures is a practical problem, because in many scenarios not all codes of programs to be verified are available. Those unknown calls also pose a challenge for their verification. This paper addresses this problem with an attempt to verify the full functional correctness of such programs using pointer-based data structures. Provided with a Hoare-style specification {φpr} prog {φpo} where program prog contains calls to some unknown procedure unknown, we infer a specification mspecu for unknown from the calling contexts, such that the problem of verifying prog can be safely reduced to the problem of proving that the procedure unknown (once its code is available) meets the derived specification mspecu. The expected specification mspecu for the unknown procedure unknown is automatically calculated using an abduction-based shape analysis specifically designed for a combined abstract domain. We have also done some experiments to validate the viability of our approach.