Skip to main navigation Skip to search Skip to main content

Skeletal approximation enumeration for SMT solver testing

  • Peisen Yao
  • , Heqing Huang*
  • , Wensheng Tang
  • , Qingkai Shi
  • , Rongxin Wu
  • , Charles Zhang
  • *Corresponding author for this work

Research output: Chapters, Conference Papers, Creative and Literary WorksRGC 32 - Refereed conference paper (with host publication)peer-review

Abstract

Ensuring the equality of SMT solvers is critical due to its broad spectrum of applications in academia and industry, such as symbolic execution and program verification. Existing approaches to testing SMT solvers are either too costly or find difficulties generalizing to different solvers and theories, due to the test oracle problem. To complement existing approaches and overcome their weaknesses, this paper introduces skeletal approximation enumeration (SAE), a novel lightweight and general testing technique for all first-order theories. To demonstrate its practical utility, we have applied the SAE technique to test Z3 and CVC4, two comprehensively tested, state-of-the-art SMT solvers. By the time of writing, our approach had found 71 confirmed bugs in Z3 and CVC4,55 of which had already been fixed. © 2021 ACM.
Original languageEnglish
Title of host publicationESEC/FSE 2021
Subtitle of host publicationProceedings of the 29th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering
PublisherAssociation for Computing Machinery
Pages1141-1153
ISBN (Print)978-1-4503-8562-6
DOIs
Publication statusPublished - Aug 2021
Externally publishedYes
Event29th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2021 - Virtual, Online, Greece
Duration: 23 Aug 202128 Aug 2021

Conference

Conference29th ACM Joint Meeting European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2021
PlaceGreece
CityVirtual, Online
Period23/08/2128/08/21

Funding

We thank the anonymous reviewers for their insightful comments. We also appreciate the developers of Z3 and CVC4 for discussing and addressing our bug reports. Rongxin Wu is supported by the Leading-edge Technology Program of Jiangsu Natural Science Foundation (BK20202001) and NSFC61902329. Other authors are supported by the RGC16206517 and ITS/440/18FP grants from the Hong Kong Research Grant Council, Ant Group through ant Research Program, and the donations from Microsoft and Huawei. Heqing Huang is the corresponding author.

Research Keywords

  • metamorphic testing
  • mutation-based testing
  • SMT solver testing

RGC Funding Information

  • RGC-funded

Fingerprint

Dive into the research topics of 'Skeletal approximation enumeration for SMT solver testing'. Together they form a unique fingerprint.

Cite this