Automatic assume guarantee analysis for assertion-based formal verification

title: SAT Based Predicate Abstraction for Hardware Verification
abstract: Predicate abstraction is an important technique for extracting compact finite state models from large or infinite state systems. Predicate abstraction uses decision procedures to compute a model which is amenable to model checking, and has been used successfully for software verification. Little work however has been done on applying predicate abstraction to large scale finite state systems, most notably, hardware, where the decision procedures are SAT solvers. We consider predicate abstraction for hardware in the framework of Counterexample-Guided Abstraction Refinement where in the course of verification, the abstract model has to be repeatedly refined. The goal of the refinement is to eliminate spurious behavior in the abstract model which is not present in the original model, and gives rise to false negatives (spurious counterexamples).

title: Using Combinatorial Optimization Methods for Quantification Scheduling
abstract: Model checking is the process of verifying whether a model of a concurrent system satisfies a specified temporal property. Symbolic algorithms based on Binary Decision Diagrams (BDDs) have significantly increased the size of the models that can be verified. The main problem in symbolic model checking is the image computation problem, i.e., efficiently computing the successors or predecessors of a set of states. This paper is an in-depth study of the image computation problem. We analyze and evaluate several newheuristics, metrics, and algorithms for this problem. The algorithms use combinatorial optimization techniques such as hill climbing, simulated annealing, and ordering by recursive partitioning to obtain better results than was previously the case. Theoretical analysis and systematic experimentation are used to evaluate the algorithms.

title: Formal property verification by abstraction refinement with formal, simulation and hybrid engines
abstract: We present RFN, a formal property verification tool based on abstraction refinement. Abstraction refinement is a strategy for property verification. It iteratively refines an abstract model to better approximate the behavior of the original design in the hope that the abstract model alone will provide enough evidence to prove or disprove the property. However, previous work on abstraction refinement was only demonstrated on designs with up to 500 registers. We developed RFN to verify real-world designs that may contain thousands of registers. RFN differs from the previous work in several ways. First, instead of relying on a single engine, RFN employs multiple formal verification engines, including a BDD-ATPG hybrid engine and a conventional BDD-based fixpoint engine, for finding error traces or proving properties on the abstract model. Second, RFN uses a novel two-phase process involving 3-valued simulation and sequential ATPG to determine how to refine the abstract model. Third, RFN avoids the weakness of other abstraction-refinement algorithms-finding error traces on the original design, by utilizing the error trace of the abstract model to guide sequential ATPG to find an error trace on the original design. We implemented and applied a prototype of RFN to verify various properties of real-world RTL designs containing approximately 5,000 registers, which represents an order of magnitude improvement over previous results. On these designs, we successfully proved a few properties and discovered a design violation.

title: Automated Abstraction Refinement for Model Checking Large State Spaces Using SAT Based Conflict Analysis
abstract: We introduce a SAT based automatic abstraction refinement framework for model checking systems with several thousand state variables in the cone of influence of the specification. The abstract model is constructed by designating a large number of state variables as invisible. In contrast to previous work where invisible variables were treated as free inputs we describe a computationally more advantageous approach in which the abstract transition relation is approximated by pre-quantifying invisible variables during image computation. The abstract counterexamples obtained from model-checking the abstract model are symbolically simulated on the concrete system using a state-of-the-art SAT checker. If no concrete counterexample is found, a subset of the invisible variables is reintroduced into the system and the process is repeated. The main contribution of this paper are two new algorithms for identifying the relevant variables to be reintroduced. These algorithms monitor the SAT checking phase in order to analyze the impact of individual variables. Our method is complete for safety properties (AGp) in the sense that - performance permitting - a property is either verified or disproved by a concrete counterexample. Experimental results are given to demonstrate the power of our method on real-world designs.

title: Making Predicate Abstraction Efficient: How to Eliminate Redundant Predicates
abstract: In this paper we consider techniques to identify and remove redundant predicates during predicate abstraction. We give three criteria for identifying redundancy. A predicate is redundant if any of the following three holds (i) the predicate is equivalent to a propositional function of other predicates. (ii) removing the predicate preserves safety properties satisfied by the abstract model (iii) removing it preserves bisimulation equivalence. We also show how to efficiently remove the redundant predicates once they are identified. Experimental results are included to demonstrate the effectiveness of our methods.

title: Computer Algebra and Neurodynamics
abstract: We review the capabilities of computer algebra and the characteristics of neurodynamics. Possible applications of computer algebra to the study of neurodynamics are then discussed. We have investigated some of the applications, in particular, to the computer aided analysis and derivation of neurodynamics by using and developing tools in computer algebra systems. Part of our own work in this direction is summarized.

title: Hardware-software partitioning of real-time operating systems using Hopfield neural networks
abstract: The hardware–software automated partitioning of a real-time operating system in the system-on-a-chip (SoC-RTOS partitioning) is a NP-complete problem, and a crucial step in the hardware–software co-design of SoC. In this paper, a new model for SoC-RTOS partitioning is introduced, which can help in understanding the essence of the SoC-RTOS partitioning. A discrete Hopfield neural network approach for implementing the SoC-RTOS partitioning is proposed, where a novel energy function, operating equation and coefficients of the neural network are redefined. Simulations are carried out with comparison to other optimization techniques. Experimental results demonstrate the feasibility and effectiveness of the proposed method.

title: IMDS: intelligent malware detection system
abstract: The proliferation of malware has presented a serious threat to the security of computer systems. Traditional signature-based anti-virus systems fail to detect polymorphic and new, previously unseen malicious executables. In this paper, resting on the analysis of Windows API execution sequences called by PE files, we develop the Intelligent Malware Detection System (IMDS) using Objective-Oriented Association (OOA) mining based classification. IMDS is an integrated system consisting of three major modules: PE parser, OOA rule generator, and rule based classifier. An OOA_Fast_FP-Growth algorithm is adapted to efficiently generate OOA rules for classification. A comprehensive experimental study on a large collection of PE files obtained from the anti-virus laboratory of King-Soft Corporation is performed to compare various malware detection approaches. Promising experimental results demonstrate that the accuracy and efficiency of our IMDS system out perform popular anti-virus software such as Norton AntiVirus and McAfee VirusScan, as well as previous data mining based detection systems which employed Naive Bayes, Support Vector Machine (SVM) and Decision Tree techniques.

title: Identifying reasoning strategies in medical decision making: A methodological guide
abstract: Reasoning strategies are a key component in many medical tasks, including decision making, clinical problem solving, and understanding of medical texts. Identification of reasoning strategies used by clinicians may prove critical to the optimal design of decision support systems. This paper presents a formal method of cognitive-semantic analysis for the identification and characterization of reasoning strategies deployed in medical tasks and demonstrates its use through specific examples. Although semantic analysis was originally developed in the investigation of knowledge structures, it can also be applied to identify the reasoning and decision processes used by physicians and medical trainees in clinical tasks. Assumptions underlying the methods, as well as illustrations of their use in diagnostic explanation tasks, are presented. We discuss semantic analysis in the context of the current interests in developing medical ontologies and argue that a frame-based propositional analytic methodology can provide a systematic way of addressing the construction of such ontologies. Although the application of propositional analysis methods has some limitations, we show how such limitations are being addressed and present some examples of information tools that have been developed to ease, and make more systematic, the process of analysis.

title: Clifford Term Rewriting for Geometric Reasoning in 3D
abstract: Clifford algebra formalism has been used recently in combination with standard term-rewriting techniques for proving many non-trivial geometric theorems. The key issue in this approach consists in verifying whether two Clifford expressions are equal. This paper is concerned with the generalization of the work to 3D geometric problems. A rewriting system is proposed and its theoretical properties are investigated. Some examples and potential applications are also presented.