VeriFast: a powerful, sound, predictable, fast verifier for C and java

  • Authors:
  • Bart Jacobs;Jan Smans;Pieter Philippaerts;Frédéric Vogels;Willem Penninckx;Frank Piessens

  • Affiliations:
  • Department of Computer Science, Leuven, Belgium;Department of Computer Science, Leuven, Belgium;Department of Computer Science, Leuven, Belgium;Department of Computer Science, Leuven, Belgium;Department of Computer Science, Leuven, Belgium;Department of Computer Science, Leuven, Belgium

  • Venue:
  • NFM'11 Proceedings of the Third international conference on NASA Formal methods
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

VeriFast is a prototype verification tool for single-threaded and multithreaded C and Java programs. In this paper, we first describe the basic symbolic execution approach in some formal detail. Then we zoom in on two technical aspects: the approach to permission accounting, including fractional permissions, precise predicates, and counting permissions; and the approach to lemma function termination in the presence of dynamically-bound lemma function calls. Finally, we describe three ongoing efforts: application to JavaCard programs, integration of shape analysis, and application to Linux device drivers.