Core Concepts
Exploring the potential of quantum computing to accelerate the formal verification of classical software programs and detect common programming errors.
Abstract
The paper explores the possibility of using quantum computers to accelerate the formal verification of classical software programs. The authors aim to detect common programming errors such as use-after-free, null-pointer dereference, and division by zero by verifying that such flaws do not exist in the code.
The approach involves the following steps:
For a given code snippet and undesired behavior, a SAT instance is generated that is satisfiable precisely if the behavior is present in the code.
The SAT instance is converted into an optimization problem that can be solved on a quantum computer.
The authors test minimal examples of common errors, as well as synthetic instances with special properties, using different solvers and a quantum device.
They employ the Quantum Approximation Optimization Algorithm (QAOA), Grover's algorithm, and the Quantum Singular Value Transformation to find the optimal solution and a satisfying assignment.
The paper presents an end-to-end implementation of the verification task, from a C-file to the guarantee of a flaw or its likely absence. The authors also provide an initial assessment of the three different quantum-based approaches to solving the resulting optimization problem.