94 research outputs found
Proceedings of the 21st Conference on Formal Methods in Computer-Aided Design – FMCAD 2021
The Conference on Formal Methods in Computer-Aided Design (FMCAD) is an annual conference on the theory and applications of formal methods in hardware and system verification. FMCAD provides a leading forum to researchers in academia and industry for presenting and discussing groundbreaking methods, technologies, theoretical results, and tools for reasoning formally about computing systems. FMCAD covers formal aspects of computer-aided system design including verification, specification, synthesis, and testing
Understanding and Enhancing CDCL-based SAT Solvers
Modern conflict-driven clause-learning (CDCL) Boolean satisfiability (SAT) solvers routinely
solve formulas from industrial domains with millions of variables and clauses, despite the Boolean
satisfiability problem being NP-complete and widely regarded as intractable in general. At the
same time, very small crafted or randomly generated formulas are often infeasible for CDCL
solvers. A commonly proposed explanation is that these solvers somehow exploit the underlying
structure inherent in industrial instances. A better understanding of the structure of Boolean
formulas not only enables improvements to modern SAT solvers, but also lends insight as to why
solvers perform well or poorly on certain types of instances. Even further, examining solvers
through the lens of these underlying structures can help to distinguish the behavior of different
solving heuristics, both in theory and practice.
The first issue we address relates to the representation of SAT formulas. A given Boolean
satisfiability problem can be represented in arbitrarily many ways, and the type of encoding can
have significant effects on SAT solver performance. Further, in some cases, a direct encoding
to SAT may not be the best choice. We introduce a new system that integrates SAT solving
with computer algebra systems (CAS) to address representation issues for several graph-theoretic
problems. We use this system to improve the bounds on several finitely-verified conjectures
related to graph-theoretic problems. We demonstrate how our approach is more appropriate for
these problems than other off-the-shelf SAT-based tools.
For more typical SAT formulas, a better understanding of their underlying structural properties,
and how they relate to SAT solving, can deepen our understanding of SAT. We perform a largescale
evaluation of many of the popular structural measures of formulas, such as community
structure, treewidth, and backdoors. We investigate how these parameters correlate with CDCL
solving time, and whether they can effectively be used to distinguish formulas from different
domains. We demonstrate how these measures can be used as a means to understand the behavior
of solvers during search. A common theme is that the solver exhibits locality during search
through the lens of these underlying structures, and that the choice of solving heuristic can greatly
influence this locality. We posit that this local behavior of modern SAT solvers is crucial to their
performance.
The remaining contributions dive deeper into two new measures of SAT formulas. We first
consider a simple measure, denoted “mergeability,” which characterizes the proportion of input
clauses pairs that can resolve and merge. We develop a formula generator that takes as input a seed
formula, and creates a sequence of increasingly more mergeable formulas, while maintaining many
of the properties of the original formula. Experiments over randomly-generated industrial-like
instances suggest that mergeability strongly negatively correlates with CDCL solving time, i.e., as
the mergeability of formulas increases, the solving time decreases, particularly for unsatisfiable
instances.
Our final contribution considers whether one of the aforementioned measures, namely backdoor
size, is influenced by solver heuristics in theory. Starting from the notion of learning-sensitive
(LS) backdoors, we consider various extensions of LS backdoors by incorporating different branching
heuristics and restart policies. We introduce learning-sensitive with restarts (LSR) backdoors
and show that, when backjumping is disallowed, LSR backdoors may be exponentially smaller
than LS backdoors. We further demonstrate that the size of LSR backdoors are dependent on the
learning scheme used during search. Finally, we present new algorithms to compute upper-bounds
on LSR backdoors that intrinsically rely upon restarts, and can be computed with a single run of
a SAT solver. We empirically demonstrate that this can often produce smaller backdoors than
previous approaches to computing LS backdoors
Automated Reasoning
This volume, LNAI 13385, constitutes the refereed proceedings of the 11th International Joint Conference on Automated Reasoning, IJCAR 2022, held in Haifa, Israel, in August 2022. The 32 full research papers and 9 short papers presented together with two invited talks were carefully reviewed and selected from 85 submissions. The papers focus on the following topics: Satisfiability, SMT Solving,Arithmetic; Calculi and Orderings; Knowledge Representation and Jutsification; Choices, Invariance, Substitutions and Formalization; Modal Logics; Proofs System and Proofs Search; Evolution, Termination and Decision Prolems. This is an open access book
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
Tools and Algorithms for the Construction and Analysis of Systems
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 46 full papers and 4 short papers presented in this volume were carefully reviewed and selected from 159 submissions. The proceedings also contain 16 tool papers of the affiliated competition SV-Comp and 1 paper consisting of the competition report. TACAS is a forum for researchers, developers, and users interested in rigorously based tools and algorithms for the construction and analysis of systems. The conference aims to bridge the gaps between different communities with this common interest and to support them in their quest to improve the utility, reliability, exibility, and efficiency of tools and algorithms for building computer-controlled systems
Evolutionary Computation
This book presents several recent advances on Evolutionary Computation, specially evolution-based optimization methods and hybrid algorithms for several applications, from optimization and learning to pattern recognition and bioinformatics. This book also presents new algorithms based on several analogies and metafores, where one of them is based on philosophy, specifically on the philosophy of praxis and dialectics. In this book it is also presented interesting applications on bioinformatics, specially the use of particle swarms to discover gene expression patterns in DNA microarrays. Therefore, this book features representative work on the field of evolutionary computation and applied sciences. The intended audience is graduate, undergraduate, researchers, and anyone who wishes to become familiar with the latest research work on this field
NightSplitter: a scheduling tool to optimize (sub)group activities
International audienceHumans are social animals and usually organize activities in groups. However, they are often willing to split temporarily a bigger group in subgroups to enhance their preferences. In this work we present NightSplitter, an on-line tool that is able to plan movie and dinner activities for a group of users, possibly splitting them in subgroups to optimally satisfy their preferences. We first model and prove that this problem is NP-complete. We then use Constraint Programming (CP) or alternatively Simulated Annealing (SA) to solve it. Empirical results show the feasibility of the approach even for big cities where hundreds of users can select among hundreds of movies and thousand of restaurants
Tools and Algorithms for the Construction and Analysis of Systems
This open access book constitutes the proceedings of the 28th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2022, which was held during April 2-7, 2022, in Munich, Germany, as part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2022. The 46 full papers and 4 short papers presented in this volume were carefully reviewed and selected from 159 submissions. The proceedings also contain 16 tool papers of the affiliated competition SV-Comp and 1 paper consisting of the competition report. TACAS is a forum for researchers, developers, and users interested in rigorously based tools and algorithms for the construction and analysis of systems. The conference aims to bridge the gaps between different communities with this common interest and to support them in their quest to improve the utility, reliability, exibility, and efficiency of tools and algorithms for building computer-controlled systems
Implementation methodology for using concurrent and collaborative approaches for theorem provers, with case studies of SAT and LCF style provers
Theorem provers are faced with the challenges of size and complexity, fueled by the increasing range
of applications. The use of concurrent/ distributed programming paradigms to engineer better theorem
provers merits serious investigation, as it provides: more processing power and opportunities for
implementing novel approaches to address theorem proving tasks hitherto infeasible in a sequential setting.
Investigation of these opportunities for two diverse theorem prover settings with an emphasis on
desirable implementation criteria is the core focus of this thesis.
Concurrent programming is notoriously error prone, hard to debug and evaluate. Thus, implementation
approaches which promote easy prototyping, portability, incremental development and effective isolation
of design and implementation can greatly aid the enterprise of experimentation with the application
of concurrent techniques to address specific theorem proving tasks. In this thesis, we have explored one
such approach by using Alice ML, a functional programming language with support for concurrency
and distribution, to implement the prototypes and have used programming abstractions to encapsulate
the implementations of the concurrent techniques used. The utility of this approach is illustrated via
proof-of-concept prototypes of concurrent systems for two diverse case studies of theorem proving: the
propositional satisfiability problem (SAT) and LCF style (first-order) theorem proving, addressing some
previously unexplored parallelisation opportunities for each, as follows:.
SAT: We have developed a novel hybrid approach for SAT and implemented a prototype for the same:
DPLL-Stalmarck. It uses two complementary algorithms for SAT, DPLL and Stalmarck’s. The two
solvers run asynchronously and dynamic information exchange is used for co-operative solving. Interaction
of the solvers has been encapsulated as a programming abstraction. Compared to the standalone
DPLL solver, DPLL-Stalmarck shows significant performance gains for two of the three problem classes
considered and comparable behaviour otherwise. As an exploratory research effort, we have developed a
novel algorithm, Concurrent Stalmarck, by applying concurrent techniques to the Stalmarck algorithm.
A proof-of-concept prototype for the same has been implemented. Implementation of the saturation
technique of the Stalmarck algorithm in a parallel setting, as implemented in Concurrent Stalmarck, has
been encapsulated as a programming abstraction.
LCF: Provision of programmable concurrent primitives enables customisation of concurrent techniques
to specific theorem proving scenarios. In this case study, we have developed a multilayered approach to
support programmable, sound extensions for an LCF prover: use programming abstractions to implement
the concurrent techniques; use these to develop novel tacticals (control structures to apply tactics),
incorporating concurrent techniques; and use these to develop novel proof search procedures. This
approach has been implemented in a prototypical LCF style first-order prover, using Alice ML. New
tacticals developed are: fastest-first; distributed composition; crossTalk: a novel tactic which uses dynamic,
collaborative information exchange to handle unification across multiple sub-goals, with shared
meta-variables; a new tactic, performing simultaneous proof-refutation attempts on propositional (sub-
)goals, by invoking an external SAT solver (SAT case study), as a counter-example finder. Examples of
concrete theorem proving scenarios are provided, demonstrating the utility of these extensions. Synthesis
of a variety of automatic proof search procedures has been demonstrated, illustrating the scope of
programmability and customisation, enabled by our multilayered approach
- …