Bounded Model Checking Using Satisfiability Solving
Formal Methods in System Design
Formal certification of a compiler back-end or: programming a compiler with a proof assistant
Conference record of the 33rd ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A persistent union-find data structure
ML '07 Proceedings of the 2007 workshop on Workshop on ML
Garbage collection: Java application servers' Achilles heel
Science of Computer Programming
Deriving State Machines from TinyOS Programs Using Symbolic Execution
IPSN '08 Proceedings of the 7th international conference on Information processing in sensor networks
Proceedings of the 3rd workshop on Programming languages meets program verification
Scaling up the formal verification of Lustre programs with SMT-based techniques
Proceedings of the 2008 International Conference on Formal Methods in Computer-Aided Design
veriT: An Open, Trustable and Efficient SMT-Solver
CADE-22 Proceedings of the 22nd International Conference on Automated Deduction
seL4: formal verification of an OS kernel
Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles
Fast and flexible proof checking for SMT
Proceedings of the 7th International Workshop on Satisfiability Modulo Theories
Cooperating Theorem Provers: A Case Study Combining HOL-Light and CVC Lite
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 4th ACM SIGPLAN workshop on Programming languages meets program verification
Rocket-fast proof checking for SMT solvers
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Formal verification of a modern SAT solver by shallow embedding into Isabelle/HOL
Theoretical Computer Science
Industrial-strength certified SAT solving through verified SAT proof checking
ICTAC'10 Proceedings of the 7th International colloquium conference on Theoretical aspects of computing
The Mechanical Verification of a DPLL-Based Satisfiability Solver
Electronic Notes in Theoretical Computer Science (ENTCS)
Automated testing and debugging of SAT and QBF solvers
SAT'10 Proceedings of the 13th international conference on Theory and Applications of Satisfiability Testing
Extending coq with imperative features and its application to SAT verification
ITP'10 Proceedings of the First international conference on Interactive Theorem Proving
Mechanical verification of SAT refutations with extended resolution
ITP'13 Proceedings of the 4th international conference on Interactive Theorem Proving
Verified programs with binders
Proceedings of the ACM SIGPLAN 2014 Workshop on Programming Languages meets Program Verification
Hi-index | 0.00 |
This paper presents versat, a formally verified SAT solver incorporating the essential features of modern SAT solvers, including clause learning, watched literals, optimized conflict analysis, non-chronological backtracking, and decision heuristics. Unlike previous related work on SAT-solver verification, our implementation uses efficient low-level data structures like mutable C arrays for clauses and other solver state, and machine integers for literals. The implementation and proofs are written in Guru, a verified-programming language. We compare versat to a state-of-the-art SAT solver that produces certified "unsat" answers. We also show through an empirical evaluation that versat can solve SAT problems on the modern scale.