English
Related papers

Related papers: Who Verifies the Verifiers? A Computer-Checked Imp…

200 papers

Debugging and repairing faults when programs fail to formally verify can be complex and time-consuming. Automated Program Repair (APR) can ease this burden by automatically identifying and fixing faults. However, traditional APR techniques…

Software Engineering · Computer Science 2025-09-10 Valentina Wu , Alexandra Mendes , Alexandre Abreu

Large Language Models (LLMs) show promise in automated software engineering, yet their guarantee of correctness is frequently undermined by erroneous or hallucinated code. To enforce model honesty, formal verification requires LLMs to…

Software Engineering · Computer Science 2026-04-27 Md Erfan , Md Kamal Hossain Chowdhury , Ahmed Ryan , Md Rayhanur Rahman

Automatic and efficient verification of multiplier designs, especially through a provably correct method, is a difficult problem. We show how to utilize a theorem prover, ACL2, to implement an efficient rewriting algorithm for multiplier…

Logic in Computer Science · Computer Science 2022-05-25 Mertcan Temel

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

Applying pre- and inprocessing techniques to simplify CNF formulas both before and during search can considerably improve the performance of modern SAT solvers. These algorithms mostly aim at reducing the number of clauses, literals, and…

Logic in Computer Science · Computer Science 2013-10-18 Andreas Wotzlaw , Alexander van der Grinten , Ewald Speckenmeyer

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ä

The proliferation of decentralized financial (DeFi) systems and smart contracts has underscored the critical need for software correctness. Bugs in such systems can lead to catastrophic financial losses. Formal verification offers a path to…

Logic in Computer Science · Computer Science 2025-10-30 Evgeny Ukhanov

This research idea paper proposes leveraging Large Language Models (LLMs) to enhance the productivity of Dafny developers. Although the use of verification-aware languages, such as Dafny, has increased considerably in the last decade, these…

Software Engineering · Computer Science 2024-01-03 Álvaro Silva , Alexandra Mendes , João F. Ferreira

In this paper we show how prescritive type checking and constraint solving can be combined to increase automation during software verification. We do so by defining a type system and implementing a typechecker for {log} (read `setlog'), a…

Logic in Computer Science · Computer Science 2025-01-22 Maximiliano Cristiá , Gianfranco Rossi

Automated verification tools based on SMT solvers have made significant progress in verifying complex software systems. However, these tools face a fundamental tension between automation and performance when dealing with quantifier…

Software Engineering · Computer Science 2025-12-04 Alexander Y. Bai , Chris Hawblitzel , Andrea Lattuada

A new framework for presenting and analyzing the functionality of a modern DLL-based SAT solver is proposed. Our approach exploits the inherent relation between backtracking and resolution. We show how to derive the algorithm of a modern…

Logic in Computer Science · Computer Science 2011-10-27 Nachum Dershowitz , Alexander Nadel

We present DafnyPro, an inference-time framework that enhances LLMs for generating verification annotations in Dafny. DafnyPro comprises three key components: a diff-checker that prevents modifications to base program logic, a pruner that…

Software Engineering · Computer Science 2026-01-12 Debangshu Banerjee , Olivier Bouissou , Stefan Zetzsche

Most automated program verifiers for separation logic use either symbolic execution or verification condition generation to extract proof obligations, which are then handed over to an SMT solver. Existing verification algorithms are…

Programming Languages · Computer Science 2024-05-28 Marco Eilers , Malte Schwerhoff , Peter Müller

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

The article "Interpolation and SAT-Based Model Checking" (McMillan, 2003) describes a formal-verification algorithm, which was originally devised to verify safety properties of finite-state transition systems. It derives interpolants from…

Software Engineering · Computer Science 2024-03-14 Dirk Beyer , Nian-Ze Lee , Philipp Wendler

Verification-aware programming languages such as Dafny and F* provide means to formally specify and prove properties of a program. Although the problem of checking an implementation against a specification can be defined mechanically, there…

Programming Languages · Computer Science 2024-10-17 Shuvendu K. Lahiri

Gradual verification, which supports explicitly partial specifications and verifies them with a combination of static and dynamic checks, makes verification more incremental and provides earlier feedback to developers. While an abstract,…

Programming Languages · Computer Science 2023-11-14 Conrad Zimmerman , Jenna DiVincenzo , Jonathan Aldrich

The search for increased trustworthiness of SAT solvers is very active and uses various methods. Some of these methods obtain a proof from the provers then check it, normally by replicating the search based on the proof's information.…

Logic in Computer Science · Computer Science 2017-12-06 Tomer Libal , Xaviera Steele

Incremental SAT and QBF solving potentially yields improvements when sequences of related formulas are solved. An incremental application is usually tailored towards some specific solver and decomposes a problem into incremental solver…

Logic in Computer Science · Computer Science 2015-12-04 Uwe Egly , Florian Lonsing , Johannes Oetsch

Advanced test-time computing strategies are essential for scaling reasoning models, but their effectiveness is capped by the models' poor self-evaluation. We propose a pairwise Explanatory Verifier, trained via reinforcement learning…

Artificial Intelligence · Computer Science 2025-09-25 Anisha Garg , Engin Tekin , Yash More , David Bick , Nishit Neema , Ganesh Venkatesh