17323833
Verification of scheduling in the presence of loops using uninterpreted symbolic simulation
We propose a novel procedure based on uninterpreted symbolic simulation for checking the scheduling step in high-level synthesis. The primary task in scheduling is the assignment of time steps or, equivalently, states to operations. Various transformations like operation reordering and loop unrolling may be performed in the process to meet the optimization criteria. The contribution of our proposal lied in its ability to efficiently handle loops and a wide range of loop transformations performed during scheduling. Our algorithm is based on loop invariant extraction using a combination of uninterpreted symbolic simulation and induction techniques. In spite of its wide scope, our procedure is relatively complete and practical. This work is a part of our effort to provide a suite of techniques for verifying the various steps involved in the high-level synthesis process. It is being implemented in an in-house verification system for checking equivalence of designs generated from high-level specifications through successive refinements. We present case studies to demonstrate the applicability of our approach. These case studies consist of examples where equivalence cannot be established using conventional FSM-based methods. By providing a viable automated equivalence checking technique for such examples, we improve on the state of the art.
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.
15353920
Beyond safety: customized SAT-based model checking
Model checking of safety properties has taken a significant lead over nonsafety properties in recent years. To bridge the gap, we propose dedicated SAT-based model checking algorithms for properties beyond safety. Previous bounded model checking (BMC) approaches have relied on either converting such properties to safety checking, or finding proofs by deriving termination criteria using loop-free path analysis. Instead, our approach uses a customized SAT-based formulation for bounded model checking of nonsafety properties, and determines the completeness bounds for liveness using unbounded SAT-based analysis. Our main contributions are: 1) Customized property translations for LTL formulas for BMC, with novel features that utilize partitioning, learning, and incremental formulation. Customized translations not only improve the BMC performance significantly in comparison to standard monolithic LTL translations, but also allow efficient derivation and use of completeness bounds. Though we discuss the translation schemas for liveness, they can be easily extended to handle other LTL properties as well. 2) Customized formulations for determining completeness bounds for liveness using SAT-based unbounded model checking (UMC) rather than using loop-free path analysis. These formulations comprise greatest fixed-point and least fixed-point computations to efficiently handle nested properties using SAT-based quantification approaches. We show the effectiveness of our overall approach for checking liveness on public benchmarks and several industry designs.
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.
8665183
Dynamic detection and removal of inactive clauses in SAT with application in image computation
In this paper, we present a new technique for the efficient dynamic detection and removal of inactive clauses, i.e. clauses that do not affect the solutions of interest of a Boolean satisfiability (SAT) problem. The algorithm is based on the extraction of gate connectivity information during generation of the Boolean formula from the circuit, and its use in the inner loop of a branch-and-bound SAT algorithm. The motivation for this optimization is to exploit the circuit structure information, which can be used to find unobservable gates at circuit outputs under dynamic conditions. It has the potential to speed up all applications of SAT in which the SAT formula is derived from a logic circuit. In particular, we find that it has considerable impact on an image computation algorithm based on SAT. We present practical results for benchmark circuits which show that the use of this optimization consistently improves the performance for reachability analysis, in some cases enabling the prototype tool to reach more states than otherwise possible.
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
11033759
Oblivious network design
Consider the following network design problem: given a network <i>G = (V, E)</i>, source-sink pairs {<i>s</i><inf><i>i</i></inf>, <i>t</i><inf><i>i</i></inf>} arrive and desire to send a unit of flow between themselves. The cost of the routing is this: if edge <i>e</i> carries a total of <i>f</i><inf><i>e</i></inf> flow (from all the terminal pairs), the cost is given by Σ <inf><i>e</i></inf><i>l</i>(<i>f</i><inf><i>e</i></inf>), where <i>l</i> is some concave cost function; the goal is to minimize the total cost incurred. However, we want the routing to be <i>oblivious</i>: when terminal pair {<i>s</i><inf><i>i</i></inf>, <i>t</i><inf><i>i</i></inf>} makes its routing decisions, it does not know the current flow on the edges of the network, nor the identity of the other pairs in the system. Moreover, it does not even know the identity of the function <i>l</i>, merely knowing that <i>l</i> is a concave function of the total flow on the edge. How should it (obliviously) route its one unit of flow? Can we get competitive algorithms for this problem?In this paper, we develop a framework to model <i>oblivious network design</i> problems (of which the above problem is a special case), and give algorithms with poly-logarithmic competitive ratio for problems in this framework (and hence for this problem). Abstractly, given a problem like the one above, the solution is a multicommodity flow producing a "load" on each edge of <i>L</i><inf><i>e</i></inf> = <i>l</i>(<i>f</i><inf>1</inf>(<i>e</i>),<i>f</i><inf>2</inf>(<i>e</i>), ..., <i>f</i><inf><i>k</i></inf>(<i>e</i>)), and the total cost is given by an "aggregation function" agg (<i>L</i><inf><i>e</i>1</inf>,...,<i>L</i><inf><i>em</i></inf>) of the loads of all edges. Our goal is to develop oblivious algorithms that approximately minimize the total cost of the routing, knowing the aggregation function agg, but merely knowing that <i>l</i> lies in some class C, and having no other information about the current state of the network. Hence we want algorithms that are simultaneously "function-oblivious" as well as "traffic-oblivious".The aggregation functions we consider are the max and σ objective functions, which correspond to the well-known measures of <i>congestion</i> and <i>total cost</i> of a network; in this paper, we prove the following:• If the aggregation function is Σ, we give an oblivious algorithm with <i>O</i>(log<sup>2</sup> <i>n</i>) competitive ratio whenever the load function <i>l</i> is in the class of <i>monotone sub-additive functions</i>. (Recall that our algorithm is also "function-oblivious"; it works whenever each edge has a load function <i>l</i> in the class.)• For the case when the aggregation function is max, we give an oblivious algorithm with <i>O</i>(log<sup>2</sup> <i>n</i> log log <i>n</i>) competitive ratio, when the load function <i>l</i> is a <i>norm;</i> we also show that such a competitive ratio is not possible for general sub-additive functions.These are the first such general results about oblivious algorithms for network design problems, and we hope the ideas and techniques will lead to more and improved results in this area.
14465668
The economics of network management
Why are pricing issues the key to infrastructure investment and future growth of the Internet? The Economics of network management I t is not surprising that researchers in network technology are utilizing ideas from the field of economics since it provides the conceptual understanding of underlying constructs such as usage and resource allocation. Proper resource allocation plays a key role in improving network performance. There are two primary approaches to economic resource allocation: quantity limits, and pricing. The former has the advantage of low accounting costs. However, it requires central administration and, for network users wishing to purchase more quantity than allocated, a pricing schedule has to be developed. The pricing approach does not enforce any quantity limits. Instead, users self-select the quantity they are willing to purchase at prevailing prices. The pricing approach decentralizes the resource allocation problem but has higher accounting costs since usage needs to be monitored and billed. The role of pricing as a resource allocation mechanism will be examined here, since central administration of quotas would be difficult in a global network. Furthermore, a pricing mechanism may still be needed to meet user demands in e-commerce. While the short-term role of economic pricing is to manage the network resources more efficiently, in the long run it could play an important role in the design of new network protocols. For example, new technological developments with priority classes in the IPv6 Internet protocol [3] will present the challenge of defining an economic basis for priority allocation. The Internet traffic-pricing problem for e-commerce subsumes traditional telecommuni-cation pricing policies and is much more complex. Traditional telecommunication systems offer a single quality level for their services on a given type of network, for example, the ability to carry voice data at a desired rate on a telephone network. However, in e-commerce there is a rich collection of services that require different levels of service quality over the same data communication network. For example, during a telnet session a user requires a high-speed and low-volume data transfer for real-time interaction with a server. On the other hand, a video conference needs clarity and coordination in picture and sound, necessitating a much more complex set of service quality attributes, such as synchronization of information sent via different interoperable applications (video, audio, and text). In addition, audio and video applications require high-volume and high-speed transfers with low variability in data transfer rates. These …
10440176
Task assignment with imprecise information for real-time operation in a supply chain
Abstract Real-time operation is often required in a supply chain, where it is desirable to re-optimize the schedules each time a new order is submitted. An organization in a supply chain may not be able to perform all the tasks it has received completely due to lack of resources. It has to delegate those subtasks which it cannot perform to its suppliers in the supply chain. In a practical situation, the suppliers may be parts of more than one supply chain. Hence the organization does not have a complete control over the schedules of its suppliers. There should be coordination within and across organizations for producing the schedules. Usually, multiple objectives (or criteria) like quality, cost, and duration are associated with a task. Preference ratings, assigned by the end-user or the organization itself, may be associated with these criteria. The preference ratings may be specified in an imprecise manner by using ordinal values or linguistic terms. The assignment of the tasks to the suppliers, which is a multiobjective decision making problem, has to be done quickly for real-time operation. In this paper, a supply chain is first modeled using a multiagent framework and an architecture for the agents located at every organization in the chain is presented. We then propose a real-time scheduler that can schedule new orders with soft real-time deadlines. An algorithm for the task assignment using the fuzzy set approach for the real-time operation in a supply chain is then proposed. Comparison of the algorithm versus other commonly used heuristic methods for task assignment is done in a simulated environment. The experimental results show significant performance gains for a large range of task arrival rates. However, the performance deteriorates for very high arrival rates. In order to overcome this limitation, we present a hybrid algorithm that augments the fuzzy technique and does not suffer from performance degradation even for high arrival rates.
40714150
A semantic mediation approach for problems in computational molecular biology
As great amount of data are being produced and accumulated in life sciences, information access and consequent integration in analytical and computational methods become critical issues in order to conduct research. In this work we describe how the synergic combination of a high-level programmable planner engine and formal semantics are suitable to resolve many information integration problems in molecular biology.
5297326
Parametric Circuit Representation Using Inductive Boolean Functions
We have developed a methodology based on symbolic manipulation of inductive Boolean functions (IBFs) for formal verification of inductively-defined hardware. This methodology combines the techniques of reasoning by induction and symbolic tautologychecking in an automated and potentially efficient way. In this paper, we describe a component of this methodology that regards various mechanisms used to represent inductivelydefined circuits in the form of IBFs. The focus is on general parameterization issues, such as multiple parameter functions, multiple output functions, interaction of different parameters for supporting compositions etc. These mechanisms, which may be useful in other applications involving parametric circuit descriptions, are illustrated through practical circuit examples along with preliminary results. We also describe an application of our formal verification methodology, where a proof by induction is performed by automatic symbolic manipulation of parametric circuit representations.