Structured specifications for better verification of heap-manipulating programs

  • Authors:
  • Cristian Gherghina;Cristina David;Shengchao Qin;Wei-Ngan Chin

  • Affiliations:
  • Department of Computer Science, National University of Singapore;Department of Computer Science, National University of Singapore;School of Computing, University of Teesside;Department of Computer Science, National University of Singapore

  • Venue:
  • FM'11 Proceedings of the 17th international conference on Formal methods
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Conventional specifications typically have a flat structure that is based primarily on the underlying logic. Such specifications lack structures that could have provided better guidance to the verification process. In this work, we propose to add three new structures to a specification framework for separation logic to achieve a more precise and better guided verification for pointer-based programs. The newly introduced structures empower users with more control over the verification process in the following ways: (i) case analysis can be invoked to take advantage of disjointness conditions in the logic. (ii) early, as opposed to late, instantiation can minimise on the use of existential quantification. (iii) formulae that are staged provide better reuse of the verification process. Initial experiments have shown that structured specifications can lead to more precise verification without incurring any performance overhead.