2,989 research outputs found
Itauto: An Extensible Intuitionistic SAT Solver
We present the design and implementation of itauto, a Coq reflexive tactic for intuitionistic propositional logic. The tactic inherits features found in modern SAT solvers: definitional conjunctive normal form; lazy unit propagation and conflict driven backjumping. Formulae are hash-consed using native integers thus enabling a fast equality test and a pervasive use of Patricia Trees. We also propose a hybrid proof by reflection scheme whereby the extracted solver calls user-defined tactics on the leaves of the propositional proof search thus enabling theory reasoning and the generation of conflict clauses. The solver has decent efficiency and is more scalable than existing tactics on synthetic benchmarks and preliminary experiments are encouraging for existing developments
Metamodel Instance Generation: A systematic literature review
Modelling and thus metamodelling have become increasingly important in
Software Engineering through the use of Model Driven Engineering. In this paper
we present a systematic literature review of instance generation techniques for
metamodels, i.e. the process of automatically generating models from a given
metamodel. We start by presenting a set of research questions that our review
is intended to answer. We then identify the main topics that are related to
metamodel instance generation techniques, and use these to initiate our
literature search. This search resulted in the identification of 34 key papers
in the area, and each of these is reviewed here and discussed in detail. The
outcome is that we are able to identify a knowledge gap in this field, and we
offer suggestions as to some potential directions for future research.Comment: 25 page
Improve SAT-solving with Machine Learning
In this project, we aimed to improve the runtime of Minisat, a
Conflict-Driven Clause Learning (CDCL) solver that solves the Propositional
Boolean Satisfiability (SAT) problem. We first used a logistic regression model
to predict the satisfiability of propositional boolean formulae after fixing
the values of a certain fraction of the variables in each formula. We then
applied the logistic model and added a preprocessing period to Minisat to
determine the preferable initial value (either true or false) of each boolean
variable using a Monte-Carlo approach. Concretely, for each Monte-Carlo trial,
we fixed the values of a certain ratio of randomly selected variables, and
calculated the confidence that the resulting sub-formula is satisfiable with
our logistic regression model. The initial value of each variable was set based
on the mean confidence scores of the trials that started from the literals of
that variable. We were particularly interested in setting the initial values of
the backbone variables correctly, which are variables that have the same value
in all solutions of a SAT formula. Our Monte-Carlo method was able to set 78%
of the backbones correctly. Excluding the preprocessing time, compared with the
default setting of Minisat, the runtime of Minisat for satisfiable formulae
decreased by 23%. However, our method did not outperform vanilla Minisat in
runtime, as the decrease in the conflicts was outweighed by the long runtime of
the preprocessing period.Comment: 2 pages, SIGCSE SRC 201
Fast Automatic Verification of Large-Scale Systems with Lookup Tables
Modern safety-critical systems are difficult to formally verify, largely due to their large scale. In particular, the widespread use of lookup tables in embedded systems across diverse industries, such as aeronautics and automotive systems, create a critical obstacle to the scalability of formal verification. This paper presents a novel approach for the formal verification of large-scale systems with lookup tables. We use a learning-based technique to automatically learn abstractions of the lookup tables and use the abstractions to then prove the desired property. If the verification fails, we propose a falsification heuristic to search for a violation of the specification. In contrast with previous work on lookup table verification, our technique is completely automatic, making it ideal for deployment in a production environment. To our knowledge, our approach is the only technique that can automatically verify large-scale systems lookup with tables.
We illustrate the effectiveness of our technique on a benchmark which cannot be handled by the commercial tool SLDV, and we demonstrate the performance improvement provided by our technique
- …