Overify: optimizing programs for fast verification

  • Authors:
  • Jonas Wagner;Volodymyr Kuznetsov;George Candea

  • Affiliations:
  • School of Computer and Communication Sciences, École Polytechnique Fédérale de Lausanne, Switzerland;School of Computer and Communication Sciences, École Polytechnique Fédérale de Lausanne, Switzerland;School of Computer and Communication Sciences, École Polytechnique Fédérale de Lausanne, Switzerland

  • Venue:
  • HotOS'13 Proceedings of the 14th USENIX conference on Hot Topics in Operating Systems
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Developers rely on automated testing and verification tools to gain confidence in their software. The input to such tools is often generated by compilers that have been designed to generate code that runs fast, not code that can be verified easily and quickly. This makes the verification tool's task unnecessarily hard. We propose that compilers support a new kind of switch, -OVERIFY, that generates code optimized for the needs of verification tools. We implemented this idea for one class of verification (symbolic execution) and found that, when run on the Coreutils suite of UNIX utilities, it reduces verification time by up to 95×.