FMCAD 2020: FORMAL METHODS IN COMPUTER AIDED DESIGN
PROGRAM FOR THURSDAY, SEPTEMBER 24TH
Days:
previous day
all days

View: session overviewtalk overview

17:00-18:00 Session 12: SAT / SMT
17:00
Verifying Properties of Bit-vector Multiplication Using Cutting Planes Reasoning

ABSTRACT. Systems mixing Boolean logic and arithmetic have been a long-standing challenge for verification tools such as SAT-based bit-vector solvers. Though SAT solvers can be highly efficient for Boolean reasoning, they scale poorly once multiplication is involved. Algebraic methods using Groebner basis reduction have recently been used to efficiently verify multiplier circuits in isolation, but generally do not perform well with bit-level reasoning.

We propose that pseudo-Boolean solvers equipped with cutting planes reasoning have the potential to combine the complementary strengths of the existing SAT and algebraic approaches while avoiding their weaknesses.

Theoretically, we show that there are optimal-length cutting planes proofs for a large class of bit-level properties of the most common multiplier circuits. This scaling is significantly better than the smallest proofs known for SAT and, in some instances, for algebraic methods. We also show that cutting planes reasoning can extract bit-level consequences of word-level equations in exponentially fewer steps than methods based on Gröbner bases.

Experimentally, we demonstrate that pseudo-Boolean solvers can verify the word-level equivalence of adder-based multiplier architectures, as well as commutativity of bit-vector multiplication, in times comparable to the best algebraic methods. We then go further than previous approaches and also verify these properties at the bit-level. Finally, we find examples of simple nonlinear bit-vector inequalities that are intractable for current bit-vector and SAT solvers, but easy for pseudo-Boolean solvers.

17:15
On Optimizing a Generic Function in SAT

ABSTRACT. The goal of this study is to improve the scalability of today’s SAT-based solutions for optimization problems and to pave the way towards extending the range of optimization problems solvable with SAT in practice. Let OptSAT be the problem of optimizing a generic Pseudo-Boolean function, given a satisfiable propositional formula F. We introduce an incremental and anytime incomplete algorithm for solving OptSAT, called Polosat. We show that integrating Polosat into a state-of-the-art open-source anytime MaxSAT solver significantly improves the solver’s performance. Furthermore, we demonstrate that Polosat substantially improves the solution quality of an industrial placement tool, where placement is a sub-stage of the physical design stage of chip design.

17:30
Ternary Propagation-Based Local Search for More Bit-Precise Reasoning

ABSTRACT. Current state of the art for reasoning about quantifier-free bit-vector constraints in Satisfiability Modulo Theories (SMT) is a technique called bit-blasting, an eager translation into propositional logic (SAT). While efficient in practice, it may not scale for large bit-widths when the input size can not be sufficiently reduced with preprocessing techniques. A recent propagation-based local search procedure was shown to be effective on hard satisfiable instances, in particular in combination with bit-blasting in a sequential portfolio setting. However, a major weakness of this approach is its obliviousness to bits that can be simplified to constant values. In this paper, we generalize propagation-based local search with respect to such constant bits to ternary values. We further extend the procedure to handle more bit-vector operators, and to infer inequality bounds from satisfied root constraints for value selection. We provide an extensive experimental evaluation and show that the presented techniques yield a considerable improvement in performance.

17:45
Reductions for Strings and Regular Expressions Revisited

ABSTRACT. The theory of strings supports a large number of operators. Instead of implementing a semi-decision procedure that operates on all the operators directly, string solvers often reduce operators to a core fragment and implement a semi-decision procedure over that fragment. These reductions considerably increase the number of constraints and thus have to be done carefully to achieve good performance. We propose novel reductions from regular expressions to string constraints and a framework for minimizing the introduction of new variables in existing reductions of string constraints. The reductions of regular expression constraints enable string solvers to handle a significant fragment of regular expression constraints without using dedicated reasoning over regular expressions. Minimizing the number of variables in the reduced constraints makes those constraints significantly cheaper to solve by the core solver. An experimental evaluation of our implementation of both techniques in CVC4, a state-of-the-art SMT solver with extensive support for the theory of strings, shows that they significantly improve the solver's performance.

18:00-19:00 Session 13: Student Forum
18:00
An Abstraction-Based Framework for Neural Network Verification

ABSTRACT. Deep neural networks are increasingly being used as con- trollers for safety-critical systems. Because neural networks are opaque, certifying their correctness is a significant challenge. To address this issue, several neural network verification approaches have recently been pro- posed. However, these approaches afford limited scalability, and apply- ing them to large networks can be challenging. In this paper, we propose a framework that can enhance neural network verification techniques by using over-approximation to reduce the size of the network — thus making it more amenable to verification. We perform the approximation such that if the property holds for the smaller (abstract) network, it holds for the original as well. The over-approximation may be too coarse, in which case the underlying verification tool might return a spurious coun- terexample. Under such conditions, we perform counterexample-guided refinement to adjust the approximation, and then repeat the process. Our approach is orthogonal to, and can be integrated with, many exist- ing verification techniques. For evaluation purposes, we integrate it with the recently proposed Marabou framework, and observe a significant im- provement in Marabou’s performance. Our experiments demonstrate the great potential of our approach for verifying larger neural networks.

18:05
(Dual) Projected Propositional Model Counting and Enumeration without Repetition

ABSTRACT. Propositional model counting and model enumeration are key tasks in various applications. In this report I summarize my contributions in this field and identify future research questions.

18:10
Parameterized Program Safety and Liveness via Thread-modular Counter Abstraction

ABSTRACT. Automated safety and liveness verification of parameterized software is hard: State-of-the-art methods rely on intricate abstractions and complicated proof techniques that often impede automation. We replace this heavy machinery with a clean abstraction framework built from a novel combination of counter abstraction, thread-modular reasoning, and predicate abstraction. Our fully automated method proves parameterized safety and liveness for a wide range of classically challenging examples in a straight-forward manner.

18:15
Specification Synthesis using Constrained Horn Clauses

ABSTRACT. The problem of synthesizing specifications of undefined procedures that are consistent with a given safety property has a broad range of applications. However, the usefulness of generated specifications depends on their quality. We formulate this problem as that of solving a system of constrained Horn clauses (CHCs) and present an iterative algorithm to solve them. The algorithm discovers meaningful procedure specifications, along with necessary inductive invariants.

18:20
Compositional Adviser-Strategy Synthesis for Multi-Agent Systems

ABSTRACT. In this line of work, we investigate the benefits and key challenges of applying LTL-based synthesis techniques to multi-agent systems. Major challenges are identified and are tackled by the introduction of \emph{least-limiting advisers}; local and minimal assumptions on the behaviour of other actors in the system. The use of these advisers as a means for scalable synthesis, negotiation of assumed behaviours, reasoning about needed information and incorporation of humans in the system is briefly described. After an overview of the envisioned method is given, work done so far is presented.

18:25
Modular Synthesis of Reactive Systems

ABSTRACT. We report on our ongoing work on formulating new methods for synthesis of multi-process reactive programs from the temporal specification. Our methods are fundamentally modular in nature. We show that combining modularity with symmetry helps overcome state explosion which otherwise severely limits scalability.

18:30
Boolean Analysis Reveals Microbes Significant to Inflammatory Bowel Disease

ABSTRACT. Microbiomes play a critical role in pathogenesis of diseases such as inflammatory bowel disease (IBD). Previous analyses focused on determining gut microbiome composition, but these methods do not provide a way to determine fundamental relationships between microbes. Our method uses Boolean analysis as a CAD tool to find microbe relationships related to IBD and was applied to publicly available microbiome datasets involving IBD. We found that Actinomyces and Lachnospiraceae seem to stronger candidates in determining whether a patient had Crohn’s disease (CD) or ulcerative colitis (UC). This new analysis may improve disease diagnosis and drug testing in terms of accuracy and efficiency. 

18:35
Formal Threat Modeling in the Cloud

ABSTRACT. Designing and monitoring the security of a web-based application is a complex task that does not depend uniquely on the technologies used and on their potential vulnerabilities. Designing a secure architecture also depends on more general threats, arising from the business logic itself and the human interpretation of its inner mechanisms. Threat modeling is a common practice to identify, understand, and address security threats. It is usually done at an early stage, best during the design phase, and heavily relies on a graph of the infrastructure and its data-flow diagram. To the best of my knowledge, there is currently no formal automated threat modeling technique that could help users and security engineers perform security reviews of cloud-based applications. Such a technique should enable comprehensive semantic reasoning about the security of the system. We investigate the usage of Description Logics, a family of logics suitable for knowledge representation, for reasoning about the security of cloud infrastructure. Although the problem of modeling cloud configurations resembles that of modeling generic designs, reasoning about security—potential threats and necessary mitigations—makes it unique in its kind.

19:00-19:10Coffee Break
19:10-20:05 Session 14: Theory and theorem proving
19:10
SWITSS: Computing Small Witnessing Subsystems

ABSTRACT. Witnessing subsystems for probabilistic reachability thresholds in discrete Markovian models are an important concept both as diagnostic information on why a property holds, and as input to refinement algorithms. We present SWITSS, a tool for the computation of Small WITnessing SubSystems. SWITSS implements exact and heuristic approaches based on reducing the problem to (mixed integer) linear programming. Returned subsystems can automatically be rendered graphically and are accompanied with a certificate which proves that the subsystem is indeed a witness.

19:25
Smart Induction for Isabelle/HOL (Tool Paper)

ABSTRACT. Proof assistants offer tactics to facilitate inductive proofs. However, it still requires human ingenuity to decide what arguments to pass to these tactics. To automate this process, we present smart_induct for Isabelle/HOL. Given an inductive problem in any problem domain, smart_induct lists promising arguments for the induct tactic without relying on a search. Our evaluation demonstrated smart_induct produces valuable recommendations across problem domains.

19:40
Trace Logic for Inductive Loop Reasoning
PRESENTER: Pamina Georgiou

ABSTRACT. We propose trace logic, an instance of many-sorted first-order logic, to automate the partial correctness verification of programs containing loops. Trace logic generalizes semantics of program locations and captures loop semantics by encoding properties at arbitrary timepoints and loop iterations. We guide and automate inductive loop reasoning in trace logic by using generic trace lemmas capturing inductive loop invariants. Our work is implemented in the RAPID framework, by extending and integrating superposition-based first-order reasoning within RAPID. We successfully used RAPID to prove correctness of many programs whose functional behavior are best summarized in the first-order theories of linear integer arithmetic, arrays and inductive data types.

19:55
The Proof Checkers Pacheck and Pastèque for the Practical Algebraic Calculus
PRESENTER: Daniela Kaufmann

ABSTRACT. Generating and checking proof certificates is important to increase the trust in automated reasoning tools. In recent years formal verification using computer algebra became more important and is heavily used in automated circuit verification. An existing proof format which covers algebraic reasoning and allows efficient proof checking is the practical algebraic calculus. In this paper we present two independent proof checkers Pacheck and Pastèque. The checker Pacheck checks algebraic proofs more efficiently than Pastèque, but the latter is formally verified using the proof assistant Isabelle/HOL. Furthermore, we introduce extension rules to simulate essential rewriting techniques required in practice. For efficiency we also make use of indices for existing polynomials and include deletion rules too.