Electronic Proceedings in Theoretical Computer Science (Jan 2017)

Predicting SMT Solver Performance for Software Verification

  • Andrew Healy,
  • Rosemary Monahan,
  • James F. Power

DOI
https://doi.org/10.4204/EPTCS.240.2
Journal volume & issue
Vol. 240, no. Proc. F-IDE 2016
pp. 20 – 37

Abstract

Read online

The Why3 IDE and verification system facilitates the use of a wide range of Satisfiability Modulo Theories (SMT) solvers through a driver-based architecture. We present Where4: a portfolio-based approach to discharge Why3 proof obligations. We use data analysis and machine learning techniques on static metrics derived from program source code. Our approach benefits software engineers by providing a single utility to delegate proof obligations to the solvers most likely to return a useful result. It does this in a time-efficient way using existing Why3 and solver installations - without requiring low-level knowledge about SMT solver operation from the user.