EconPapers    
Economics at your fingertips  
 

A Verified Implementation of the DPLL Algorithm in Dafny

Cezar-Constantin Andrici and Ștefan Ciobâcă
Additional contact information
Cezar-Constantin Andrici: Max Planck Institute for Security and Privacy, 44799 Bochum, Germany
Ștefan Ciobâcă: Faculty of Computer Science, Alexandru Ioan Cuza University, 700506 Iași, Romania

Mathematics, 2022, vol. 10, issue 13, 1-26

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.

Keywords: DPLL; Dafny; formal verification; auto-active verification; satisfiability solving (search for similar items in EconPapers)
JEL-codes: C (search for similar items in EconPapers)
Date: 2022
References: View complete reference list from CitEc
Citations:

Downloads: (external link)
https://www.mdpi.com/2227-7390/10/13/2264/pdf (application/pdf)
https://www.mdpi.com/2227-7390/10/13/2264/ (text/html)

Related works:
This item may be available elsewhere in EconPapers: Search for items with the same title.

Export reference: BibTeX RIS (EndNote, ProCite, RefMan) HTML/Text

Persistent link: https://EconPapers.repec.org/RePEc:gam:jmathe:v:10:y:2022:i:13:p:2264-:d:850381

Access Statistics for this article

Mathematics is currently edited by Ms. Emma He

More articles in Mathematics from MDPI
Bibliographic data for series maintained by MDPI Indexing Manager ().

 
Page updated 2025-03-19
Handle: RePEc:gam:jmathe:v:10:y:2022:i:13:p:2264-:d:850381