Model-Based API Testing for SMT Solvers

  • Aina Niemetz
  • , Mathias Preiner
  • , Armin Biere

Research output: Chapter in Book/Report/Conference proceedingConference proceedingspeer-review

Abstract

Verification back ends such as SMT solvers are typically highly complex pieces of software with performance, correctness and robustness as key requirements. Full verification of SMT solvers, however, is difficult due to their complex nature and still an open question. Grammar-based black-box input fuzzing proved to be effective to uncover bugs in SMT solvers but is entirely input-based and restricted to a certain input language. State-of-theart SMT solvers, however, usually provide a rich API, which often introduces additional functionality not supported by the input language. Previous work showed that applying model-based API fuzzing to SAT solvers is more effective than input fuzzing. In this paper, we introduce a model-based API testing framework for our SMT solver Boolector. Our experimental results show that model-based API fuzzing in combination with delta debugging techniques is effective for testing SMT solvers.
Original languageEnglish
Title of host publicationProc. 15th Intl. Workshop on Satisfiability Modulo Theories (SMT'17)
Number of pages10
Publication statusPublished - 2017

Publication series

Name15th Intl. Workshop on Satisfiability Modulo Theories

Fields of science

  • 102 Computer Sciences
  • 102001 Artificial intelligence
  • 102011 Formal languages
  • 102022 Software development
  • 102031 Theoretical computer science
  • 603109 Logic
  • 202006 Computer hardware

JKU Focus areas

  • Computation in Informatics and Mathematics

Cite this