IDEAS home Printed from https://ideas.repec.org/a/gam/jmathe/v10y2022i13p2264-d850381.html
   My bibliography  Save this article

A Verified Implementation of the DPLL Algorithm in Dafny

Author

Listed:
  • Cezar-Constantin Andrici

    (Max Planck Institute for Security and Privacy, 44799 Bochum, Germany
    Cezar-Constantin Andrici: Part of the work was performed while affiliated to the Alexandru Ioan Cuza University in Iași.)

  • Ștefan Ciobâcă

    (Faculty of Computer Science, Alexandru Ioan Cuza University, 700506 Iași, Romania)

Abstract

We present a DPLL SAT solver, which we call TrueSAT, developed in the verification-enabled programming language Dafny. We have fully verified the functional correctness of our solver by constructing machine-checked proofs of its soundness, completeness, and termination. We present a benchmark of the execution time of TrueSAT and we show that it is competitive against an equivalent DPLL solver implemented in C++, although it is still slower than state-of-the-art CDCL solvers. Our solver serves as a significant case study of a machine-verified software system. The benchmark also shows that auto-active verification is a promising approach to increasing trust in SAT solvers, because it combines execution speed with a high degree of trustworthiness.

Suggested Citation

  • Cezar-Constantin Andrici & Ștefan Ciobâcă, 2022. "A Verified Implementation of the DPLL Algorithm in Dafny," Mathematics, MDPI, vol. 10(13), pages 1-26, June.
  • Handle: RePEc:gam:jmathe:v:10:y:2022:i:13:p:2264-:d:850381
    as

    Download full text from publisher

    File URL: https://www.mdpi.com/2227-7390/10/13/2264/pdf
    Download Restriction: no

    File URL: https://www.mdpi.com/2227-7390/10/13/2264/
    Download Restriction: no
    ---><---

    Corrections

    All material on this site has been provided by the respective publishers and authors. You can help correct errors and omissions. When requesting a correction, please mention this item's handle: RePEc:gam:jmathe:v:10:y:2022:i:13:p:2264-:d:850381. See general information about how to correct material in RePEc.

    If you have authored this item and are not yet registered with RePEc, we encourage you to do it here. This allows to link your profile to this item. It also allows you to accept potential citations to this item that we are uncertain about.

    We have no bibliographic references for this item. You can help adding them by using this form .

    If you know of missing items citing this one, you can help us creating those links by adding the relevant references in the same way as above, for each refering item. If you are a registered author of this item, you may also want to check the "citations" tab in your RePEc Author Service profile, as there may be some citations waiting for confirmation.

    For technical questions regarding this item, or to correct its authors, title, abstract, bibliographic or download information, contact: MDPI Indexing Manager (email available below). General contact details of provider: https://www.mdpi.com .

    Please note that corrections may take a couple of weeks to filter through the various RePEc services.

    IDEAS is a RePEc service. RePEc uses bibliographic data supplied by the respective publishers.