English
Related papers

Related papers: Verifying the DPLL Algorithm in Dafny

200 papers

Formal software verification techniques are widely used to specify and prove the functional correctness of programs. However, nonfunctional properties such as time complexity are usually carried out with pen and paper. Inefficient code in…

Software Engineering · Computer Science 2021-08-09 Shiri Morshtein , Ran Ettinger , Shmuel Tyszberowicz

Boolean Satisfiability (SAT) solvers are now routinely used in the verification of large industrial problems. However, their application in safety-critical domains such as the railways, avionics, and automotive industries requires some form…

Logic in Computer Science · Computer Science 2009-12-17 Ashish Darbari , Bernd Fischer , Joao Marques-Silva

Feature extraction is a fundamental task in the application of machine learning methods to SAT solving. It is used in algorithm selection and configuration for solver portfolios and satisfiability classification. Many approaches have been…

Artificial Intelligence · Computer Science 2022-05-02 Benjamin Provan-Bessell , Marco Dalla , Andrea Visentin , Barry O'Sullivan

The Boolean Satisfiability problem (SAT), as the prototypical $\mathsf{NP}$-complete problem, is crucial in both theoretical computer science and practical applications. To address this problem, stochastic local search (SLS) algorithms,…

Artificial Intelligence · Computer Science 2026-04-17 Maximilian J. Kramer , Paul Boes , Jens Eisert

Formal verification has the potential to drastically reduce software bugs, but its high additional cost has hindered large-scale adoption. While Dafny presents a promise to significantly reduce the effort to write verified programs, users…

Software Engineering · Computer Science 2024-11-26 Gabriel Poesia , Chloe Loughridge , Nada Amin

We present a methodology to develop verified smart contracts. We write smart contracts, their specifications and implementations in the verification-friendly language Dafny. In our methodology the ability to write specifications,…

Logic in Computer Science · Computer Science 2022-08-08 Franck Cassez , Joanne Fuller , Horacio Mijail Anton Quiles

We present a formalization of modern SAT solvers and their properties in a form of abstract state transition systems. SAT solving procedures are described as transition relations over states that represent the values of the solver's global…

Logic in Computer Science · Computer Science 2015-07-01 Filip Maric , Predrag Janicic

Dafny is a verification-aware programming language that comes with a compiler and static program verifier. However, neither the compiler nor the verifier is proved correct; in fact, soundness bugs have been found in both tools. This paper…

Programming Languages · Computer Science 2025-12-08 Daniel Nezamabadi , Magnus O. Myreen , Yong Kiam Tan

Weighted Max-SAT is the optimization version of SAT and many important problems can be naturally encoded as such. Solving weighted Max-SAT is an important problem from both a theoretical and a practical point of view. In recent years, there…

Artificial Intelligence · Computer Science 2007-05-23 Javier Larrosa , Federico Heras , Simon de Givry

For typical first-order logical theories, satisfying assignments have a straightforward finite representation that can directly serve as a certificate that a given assignment satisfies the given formula. For non-linear real arithmetic…

Logic in Computer Science · Computer Science 2025-03-07 Enrico Lipparini , Stefan Ratschan

Fundamentally, every static program analyser searches for a proof through a combination of heuristics providing candidate solutions and a candidate validation technique. Essentially, the heuristic reduces a second-order problem to a…

Logic in Computer Science · Computer Science 2015-01-20 Cristina David , Daniel Kroening , Matt Lewis

Many procedures for SAT and SAT-related problems -- in particular for those requiring the complete enumeration of satisfying truth assignments -- rely their efficiency on the detection of partial assignments satisfying an input formula. In…

Logic in Computer Science · Computer Science 2020-03-10 Roberto Sebastiani

Synthesis of models and strategies is a very important problem in software engineering. The main element here is checking the satisfiability of formulae expressing the specification of a system to be implemented. This paper puts forward a…

Logic in Computer Science · Computer Science 2020-02-11 Magdalena Kacprzak , Artur Niewiadomski , Wojciech Penczek

Instances of logical cryptanalysis, circuit verification, and bounded model checking can often be succinctly represented as a combined satisfiability (SAT) problem where an instance is a combination of traditional clauses and parity…

Logic in Computer Science · Computer Science 2012-09-11 Tero Laitinen , Tommi Junttila , Ilkka Niemelä

State-of-the-art Boolean satisfiability (SAT) solvers constitute a practical and competitive approach for solving various real-world problems. To encourage their widespread adoption, the relatively high barrier of entry following from the…

Logic in Computer Science · Computer Science 2025-05-22 Christoph Jabs

A novel parallel algorithm for solving the classical Decision Boolean Satisfiability problem with clauses in conjunctive normal form is depicted. My approach for solving SAT is without using algebra or other computational search strategies…

Data Structures and Algorithms · Computer Science 2018-04-17 Carlos Barrón-Romero

Satisfiability-based verification techniques, leveraging modern Boolean satisfiability (SAT) and Satisfiability Modulo Theories (SMT) solvers, have demonstrated efficacy in addressing practical problem instances within program analysis.…

Logic in Computer Science · Computer Science 2025-09-23 Markus Krahl , Matthias Güdemann , Stefan Wallentowitz

The Dafny verifier provides strong correctness guarantees but often requires numerous manual helper assertions, creating a significant barrier to adoption. We investigate the use of Large Language Models (LLMs) to automatically infer…

Software Engineering · Computer Science 2025-11-04 Álvaro Silva , Alexandra Mendes , Ruben Martins

Boolean Satisfiability (SAT) and Satisfiability Modulo Theories (SMT) are widely used in automated verification, but there is a lack of interactive tools designed for educational purposes in this field. To address this gap, we present…

Artificial Intelligence · Computer Science 2023-08-16 Yiqi Zhao , Ziyan An , Meiyi Ma , Taylor Johnson

The amount of information in satisfiability problem (SAT) is considered. SAT can be polynomial-time solvable when the solving algorithm holds an exponential amount of information. It is also established that SAT Kolmogorov complexity is…

Computational Complexity · Computer Science 2024-07-26 Maciej Drozdowski