22 research outputs found
Btor2MLIR: A Format and Toolchain for Hardware Verification
Formats for representing and manipulating verification problems are extremely
important for supporting the ecosystem of tools, developers, and practitioners.
A good format allows representing many different types of problems, has a
strong toolchain for manipulating and translating problems, and can grow with
the community. In the world of hardware verification, and, specifically, the
Hardware Model Checking Competition (HWMCC), the Btor2 format has emerged as
the dominating format. It is supported by Btor2Tools, verification tools, and
Verilog design tools like Yosys. In this paper, we present an alternative
format and toolchain, called Btor2MLIR, based on the recent MLIR framework. The
advantage of Btor2MLIR is in reusing existing components from a mature compiler
infrastructure, including parsers, text and binary formats, converters to a
variety of intermediate representations, and executable semantics of LLVM. We
hope that the format and our tooling will lead to rapid prototyping of
verification and related tools for hardware verification.Comment: Formal Methods in Computer-Aided Design 202
Quantum Advantage for All
We show that the algorithmic complexity of any classical algorithm written in
a Turing-complete programming language polynomially bounds the number of
quantum bits that are required to run and even symbolically execute the
algorithm on a quantum computer. In particular, we show that any classical
algorithm that runs in time and
space requires no more than quantum bits to
execute, even symbolically, on a quantum computer. With
for all , the
quantum bits required to execute may therefore not exceed
and may come down to if memory
consumption by is bounded by a constant. Our construction works by encoding
symbolic execution of machine code in a finite state machine over the
satisfiability-modulo-theory (SMT) of bitvectors, for modeling CPU registers,
and arrays of bitvectors, for modeling main memory. The FSM is linear in the
size of the code, independent of execution time and space, and represents the
reachable machine states for any given input. The FSM may be explored by
bounded model checkers using SMT and SAT solvers as backend. However, for the
purpose of this paper, we focus on quantum computing by unrolling and
bit-blasting the FSM into (1)~satisfiability-preserving quadratic unconstrained
binary optimization (QUBO) models targeting adiabatic forms of quantum
computing such as quantum annealing, and (2)~semantics-preserving quantum
circuits (QCs) targeting gate-model quantum computers. With our compact QUBOs,
real quantum annealers can now execute simple but real code even symbolically,
yet only with potential but no guarantee for exponential speedup, and with our
QCs as oracles, Grover's algorithm applies to symbolic execution of arbitrary
code, guaranteeing at least in theory a quadratic speedup
Stratified Certification for k-Induction
Our recently proposed certification framework for bit-level k-induction-based model checking has been shown to be quite effective in increasing the trust of verification results even though it partially involved quantifier reasoning. In this paper we show how to simplify the approach by assuming reset functions to be stratified. This way it can be lifted to word-level and in principle to other theories where quantifier reasoning is difficult. Our new method requires six simple SAT checks and one polynomial-time check, allowing certification to remain in co-NP while the previous approach required five SAT checks and one QBF check. Experimental results show a substantial performance gain for our new approach. Finally we present and evaluate our new tool CERTIFAIGER-WL which is able to certify k-induction-based word-level model checking.Peer reviewe
Effective Encodings of Constraint Programming Models to SMT
Satisfiability Modulo Theories (SMT) is a well-established methodology that generalises propositional satisfiability (SAT) by adding support for a variety of theories such as integer arithmetic and bit-vector operations. SMT solvers have made rapid progress in recent years. In part, the efficiency of modern SMT solvers derives from the use of specialised decision procedures for each theory. In this paper we explore how the Essence Prime constraint modelling language can be translated to the standard SMT-LIB language. We target four theories: bit-vectors (QF_BV), linear integer arithmetic (QF_LIA), non-linear integer arithmetic (QF_NIA), and integer difference logic (QF_IDL). The encodings are implemented in the constraint modelling tool Savile Row. In an extensive set of experiments, we compare our encodings for the four theories, showing some notable differences and complementary strengths. We also compare our new encodings to the existing work targeting SMT and SAT, and to a well-established learning CP solver. Our two proposed encodings targeting the theory of bit-vectors (QF_BV) both substantially outperform earlier work on encoding to QF_BV on a large and diverse set of problem classes
Effective encodings of constraint programming models to SMT
Funding: UK EPSRC grant EP/P015638/1.Satisfiability Modulo Theories (SMT) is a well-established methodology that generalises propositional satisfiability (SAT) by adding support for a variety of theories such as integer arithmetic and bit-vector operations. SMT solvers have made rapid progress in recent years. In part, the efficiency of modern SMT solvers derives from the use of specialised decision procedures for each theory. In this paper we explore how the Essence Prime constraint modelling language can be translated to the standard SMT-LIB language. We target four theories: bit-vectors (QF_BV), linear integer arithmetic (QF_LIA), non-linear integer arithmetic (QF_NIA), and integer difference logic (QF_IDL). The encodings are implemented in the constraint modelling tool Savile Row. In an extensive set of experiments, we compare our encodings for the four theories, showing some notable differences and complementary strengths. We also compare our new encodings to the existing work targeting SMT and SAT, and to a well-established learning CP solver. Our two proposed encodings targeting the theory of bit-vectors (QF_BV) both substantially outperform earlier work on encoding to QF_BV on a large and diverse set of problem classes.Postprin
Computer Aided Verification
This open access two-volume set LNCS 10980 and 10981 constitutes the refereed proceedings of the 30th International Conference on Computer Aided Verification, CAV 2018, held in Oxford, UK, in July 2018. The 52 full and 13 tool papers presented together with 3 invited papers and 2 tutorials were carefully reviewed and selected from 215 submissions. The papers cover a wide range of topics and techniques, from algorithmic and logical foundations of verification to practical applications in distributed, networked, cyber-physical, and autonomous systems. They are organized in topical sections on model checking, program analysis using polyhedra, synthesis, learning, runtime verification, hybrid and timed systems, tools, probabilistic systems, static analysis, theory and security, SAT, SMT and decisions procedures, concurrency, and CPS, hardware, industrial applications