18730116
A satisfiability-based approach to abstraction refinement in model checking
Abstract We present an abstraction refinement algorithm for model checking of safety properties that relies exclusively on a SAT solver for checking the abstract model, testing abstract counterexamples on the concrete model, and refinement. Model checking of the abstractions is based on bounded model checking extended with checks for the existence of simple paths that help in deciding passing properties. All minimum-length spurious counterexamples are eliminated in one refinement step by a procedure that combines the analysis of the conflict dependency graph produced by the SAT solver while looking for concrete counterexamples with an effective abstraction minimization procedure.
6254649
Disjunctive Image Computation for Embedded Software Verification
Finite state models generated from software programs have unique characteristics that are not exploited by existing model checking algorithms. In this paper, we propose a novel disjunctive image computation algorithm and other simplifications based on these characteristics. Our algorithm divides an image computation into a disjunctive set of easier ones that can be performed in isolation. Hypergraph partitioning is used to minimize the number of live variables in each disjunctive component. We use the live variables to simplify transition relations and reachable state subsets. Our experiments on a set of real-world C programs show that the new algorithm achieves orders-of-magnitude performance improvement over the best known conjunctive image computation algorithm
53757025
The Compositional Far Side of Image Computation
13092959
Whodunit? Causal Analysis for Counterexamples
Although the counterexample returned by a model checker can help in reproducing the symptom related to a defect, a significant amount of effort is often required for the programmer to interpret it in order to locate the cause. In this paper, we provide an automated procedure to zoom in to potential software defects by analyzing a single concrete counterexample. Our analysis relies on extracting from the counterexample a syntactic-level proof of infeasibility, i.e., a minimal set of word-level predicates that contradict with each other. The procedure uses an efficient weakest pre-condition algorithm carried out on a single concrete execution path, which is significantly more scalable than other model checking based approaches. Unlike most of the existing methods, we do not need additional execution traces other than the buggy one. We use public-domain examples to demonstrate the effectiveness of our new algorithm.
2969808
Improving Ariadne's Bundle by Following Multiple Threads in Abstraction Refinement
The authors propose a scalable abstraction-refinement method for model checking invariant properties on large sequential circuits, which is based on fine-grain abstraction and simultaneous analysis of all abstract counterexamples of the shortest length. Abstraction efficiency is introduced to measure for a given abstraction-refinement algorithm how much of the concrete model is required to make the decision. The fully automatic techniques presented in this paper can efficiently reach or come near to the maximal abstraction efficiency. First, a fine-grain abstraction approach is given to keep the abstraction granularity small by breaking down large combinational logic cones with Boolean network variables (BNVs) and then treating both state variables and BNVs as atoms in abstraction. Second, a refinement algorithm is proposed based on an improved Ariadne's bundle In the legend of Theseus, Ariadne's bundle contained one ball of thread to help Theseus navigate the labyrinth. In this paper, we work with multiple threads-hence, the "improved." of synchronous onion rings on the abstract model, through which the transitions contain all shortest abstract counterexamples. The synchronous onion rings are exploited in two distinct ways to provide global guidance to the abstraction refinement process. The scalability of our algorithm is ensured in the sense that all the analysis and computation required in our refinement algorithm are conducted on the abstract model. Finally, we derive sequential don't cares from the invisible variables and use them to constrain the behavior of the abstract model. We conducted experimental comparisons of our new method with various existing techniques. The results show that our method outperforms other counterexample-guided methods in terms of both run time and abstraction efficiency
11387042
Predicate learning and selective theory deduction for a difference logic solver
Design and verification of systems at the register-transfer (RT) or behavioral level require the ability to reason at higher levels of abstraction. Difference logic consists of an arbitrary Boolean combination of propositional variables and difference predicates and therefore provides an appropriate abstraction. In this paper, we present several new optimization techniques for efficiently deciding difference logic formulas. We use the lazy approach by combining a DPLL Boolean SAT procedure with a dedicated graph-based theory solver, which adds transitivity constraints among difference predicates on a "need-to" basis. Our new optimization techniques include flexible theory constraint propagation, selective theory deduction, and dynamic predicate learning. We have implemented these techniques in our lazy solver. We demonstrate the effectiveness of the proposed techniques on public benchmarks through a set of controlled experiments
33976422
Concurrent product/process design with multiple representations of parts
The need for concurrency in design and manufacturing is supported in a sheet metal design system by doing preliminary process design at the detail product design stage. This design with features approach represents the evolving part form to the designer in multiple process domains and at multiple stages of a sequential process. Each part of part form representations defines the conceptualized process which transforms it from one to the other. At this modeling level, processes are reversible so that design activity can take place in any of the domains and be transferred to the others. This concept is fully implemented in a sheet metal design/manufacturing system in which preliminary process design occurs concurrently with product design and the normal representation ambiguities of wireframe and flat panel models are eliminated.<<ETX>>
36188477
An Indexing Scheme for Case-Based Manufacturing Vision Development
This paper focuses on one critical element, indexing – retaining and representing knowledge in an applied case-based reasoning (CBR) model for supporting strategic manufacturing vision development (CBRM). Manufacturing vision (MV) is a kind of knowledge management concept and process concerned with the competence improvement of an enterprise’s manufacturing system. There are two types of cases within the CBRM – an event case (EC) and a general supportive case (GSC). We designed one set of indexing vocabulary for the two types of cases, but a different indexing representation structure for each of them. In this paper, after the background introduction of the MV, the CBRM and the indexing challenges of the MV cases, we present the structure and content of the index vocabulary and the two indexing representation structures, then illustrate briefly the indexing of cases with two examples. We also summarize the methods, primary conclusions of test runs with the indexing scheme. Further research work to refine the index vocabulary is discussed as well.
28695934
Alternating walks in partially 2-edge-colored graphs and optimal strength of graph labeling
Abstract A graph is partially 2-edge-colored if edges of G are colored by two colors, possibly with some edges uncolored. A walk is alternating in a partially 2-edge-colored graph if the given 2-edge-coloring can be extended to all edges of G such that colors alternate as the walk is traversed. We present a polynomial-time algorithm to decide, given a partially 2-edge-colored graph and two distinct vertices, whether there is an alternating walk connecting the two vertices. We apply the algorithm to solve problems in graph labeling. In particular, we show that the regularizable strength of a graph can be determined in polynomial time.
33560656
Clique covering the edges of a locally cobipartite graph
Abstract We prove that a locally cobipartite graph on n vertices contains a family of at most n cliques that cover its edges. This is related to Opsut's conjecture that states the competition number of a locally cobipartite graph is at most two.
1893362
Minimal Tetrahedralizations of a Class of Polyhedra
Given a simple polyhedron P in the three dimensional Euclidean space, different tetrahedralizations of P may contain different numbers of tetrahedra. The minimal tetrahedralization is a tetrahedralization with the minimum number of tetrahedra. In this paper, we present some properties of the graph of polyhedra. Then we identify a class of polyhedra and show that this kind of polyhedra can be minimally tetrahedralized in O(n2) time.