10395010
Abstraction and BDDs Complement SAT-Based BMC in DiVer
Bounded Model Checking (BMC) based on Boolean Satisfiability (SAT) procedures has recently gained popularity for finding bugs in large designs. However, due to its incompleteness, there is a need to perform deeper searches for counterexamples, or a proof by induction where possible. The DiVer verification platform uses abstraction and BDDs to complement BMC in the quest for completeness. We demonstrate the effectiveness of our approach in practice on industrial designs.
39505715
Iterative Abstraction using SAT-based BMC with Proof Analysis
8920735
Partition-based decision heuristics for image computation using SAT and BDDs
Methods based on Boolean satisfiability (SAT) typically use a conjunctive normal form (CNF) representation of the Boolean formula, and exploit the structure of the given problem through use of various decision heuristics and implication methods. We propose a new decision heuristic based on separator-set induced partitioning of the underlying CNF graph. It targets those variables whose choice generates clause partitions with disjoint variable supports. This can potentially improve performance of SAT applications by decomposing the problem dynamically within the search. In the context of a recently proposed image computation method combining SAT and BDDs, this results in simpler BDD subproblems. We provide algorithms for CNF partitioning - one based on a clause-variable dependency matrix, and another based on standard hypergraph partitioning techniques, and also for the use of partitioning information in decision heuristics for SAT. The effectiveness of the proposed partition-based heuristic is shown with practical results for reachability analysis of benchmark sequential circuits.
6555974
Lazy constraints and SAT heuristics for proof-based abstraction
SAT proof analysis techniques have been used recently with BMC in order to generate proof-based abstractions that preserve the correctness of the property up to a certain depth. In this paper, we propose various techniques for handling BMC constraints that are targeted at reducing the size of the abstract model while preserving bounded correctness. We propose lazy constraints, where the idea is to delay propagation of certain implied values without modifying a standard SAT solver. We propose different methods for automatic use of lazy constraints in SAT-based BMC. Their use can be regarded as a heuristic, which typically leads to significant reduction in the size of the abstract model, frequently accompanied by an overall performance improvement. We also use SAT proof analysis to loosen the user-specified environmental constraints, in order to generate smaller abstract models for conservative verification. We briefly describe other SAT-based heuristics for reducing the size of the abstract model. We have implemented our techniques in a prototype verification platform, and demonstrate their effectiveness on several large industry designs.
206873246
Fast error diagnosis for combinational verification
We address the problem of localizing error sites in a combinational circuit that has been shown to be inequivalent to its specification. In the typical case, it is not possible to identify the error location exactly. We propose a novel diagnosis strategy of gradually increasing the level of detail in the analysis algorithm to ultimately derive a small list of potential error sites in a short time. Our techniques combine the use of simulation, BDDs, and SAT in a novel way to achieve the goal. A limitation of many previous approaches has been that they have been constrained to a specific error model. No such assumption is made in our work. We show through experimental results that these techniques are successful in that the final set of error sites derived is small, contains the actual error sites and is derived in a reasonable amount of time.
600527
Learning from BDDs in SAT-based bounded model checking
Bounded Model Checking (BMC) based on Boolean Satisfiability (SAT) procedures has recently gained popularity as an alternative to BDD-based model checking techniques for finding bugs in large designs. In this paper, we explore the use of learning from BDDs, where learned clauses generated by BDD-based analysis are added to the SAT solver, to supplement its other learning mechanisms. We propose several heuristics for guiding this process, aimed at increasing the usefulness of the learned clauses, while reducing the overheads. We demonstrate the effectiveness of our approach on several industrial designs, where BMC performance is improved and the design can be searched up to a greater depth by use of BDD-based learning.
2840997
A survey of recent advances in SAT-based formal verification
Dramatic improvements in SAT solver technology over the last decade and the growing need for more efficient and scalable verification solutions have fueled research in verification methods based on SAT solvers. This paper presents a survey of the latest developments in SAT-based formal verification, including incomplete methods such as bounded model checking and complete methods for model checking. We focus on how the surveyed techniques formulate the verification problem as a SAT problem and how they exploit crucial aspects of a SAT solver, such as application-specific heuristics and conflict-driven learning. Finally, we summarize the noteworthy achievements in this area so far and note the major challenges in making this technology more pervasive in industrial design verification flows.
19362396
Finding Largest Common Embeddable Subtrees
We consider the problem of determining the largest tree embeddable in two labeled trees T and T′, where the embedding relation is one of subgraph isomorphism or topological embedding. This problem is a generalization of classical tree pattern matching where the problem is to determine if one labeled tree is isomorphic to a subgraph of another. In this paper, we present a general framework for the variations on the problem, for the two embedding relations and for different assumptions about labeling of nodes in the trees. Our general paradigm provides sequential and parallel algorithms for the various subproblems, many of which have no other known solutions.
575078
An Approach for Detecting Self-propagating Email Using Anomaly Detection
This paper develops a new approach for detecting self-propagating email viruses based on statistical anomaly detection. Our approach assumes that a key objective of an email virus attack is to eventually overwhelm mail servers and clients with a large volume of email traffic. Based on this assumption, the approach is designed to detect increases in traffic volume over what was observed during the training period. This paper describes our approach and the results of our simulation-based experiments in assessing the effectiveness of the approach in an intranet setting. Within the simulation setting, our results establish that the approach is effective in detecting attacks all of the time, with very few false alarms. In addition, attacks could be detected sufficiently early so that clean up efforts need to target only a fraction of the email clients in an intranet.
28954888
Modeling shape and topology of 3D images of biological specimens
This paper presents an efficient way of representing the geometry and topology of 3D images of biological specimens derived from electron microscopy. A vector quantization algorithm is used in order to select a reduced set of interior points that best approximates the probability density function of the original volumetric data. Object's geometry and topology are obtained from the point set by the use of the alpha shapes theory.
19017935
Fault-containing network protocols
Self-stabilization is a simple and elegant approach towards designing fault-tolerant network protocols. While self-stabilization provides automatic recovery from arbitrary transient faults, self-stabilizing systems do not incorporate any optimization for more efficient recovery from limited transient faults, even though such limited faults are more likely to occur in practice than arbitrary faults. Fault-containing self-stabilizing protocols are proposed to efficiently contain the effects of more frequent, limited transient faults while retaining the desirable property of self-stabilization. In this paper, we propose a methodology for designing fault-containing selfstabilizing network protocols. The methodology views the properties of self-stabilization and fault-containment in separation. Since self-stabilizing protocols already exist for many important network problems, the design starts with an existing self-stabilizing protocol, and adds to it the fault-containment property. The feasibilitv of this technique is illustrated bv the design of a fault-containing self-stabilizing protocol for the breadthfirst-search (BFS) spanning tree problem. The applicability of the technique used in deriving the BFS protocol to other problems is also discussed.