A specialization calculus for pruning disjunctive predicates to support verification

  • Authors:
  • Wei-Ngan Chin;Cristian Gherghina;Răzvan Voicu;Quang Loc Le;Florin Craciun;Shengchao Qin

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

  • Venue:
  • CAV'11 Proceedings of the 23rd international conference on Computer aided verification
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Separation logic-based abstraction mechanisms, enhanced with userdefined inductive predicates, represent a powerful, expressive means of specifying heap-based data structures with strong invariant properties. However, expressive power comes at a cost: the manipulation of such logics typically requires the unfolding of disjunctive predicates which may lead to expensive proof search. We address this problem by proposing a predicate specialization technique that allows efficient symbolic pruning of infeasible disjuncts inside each predicate instance. Our technique is presented as a calculus whose derivations preserve the satisfiability of formulas, while reducing the subsequent cost of their manipulation. Initial experimental results have confirmed significant speed gains from the deployment of predicate specialization. While specialization is a familiar technique for code optimization, its use in program verification is new.