88 research outputs found

    Complementing deterministic Büchi automata in polynomial time

    Get PDF
    AbstractFor any Buchi automaton Γ with n states which accepts the (ω-regular) language L(Γ), an explicit construction is given for a Büchi automaton Γ with 2n states which, when Γ is deterministic, accepts exactly the complementary language L(Γ)′. It follows that the nonemptiness of complement problem for deterministic Buchi automata (i.e., whether L(Γ)′ = ⊘) is solvable in polynomial time. The best previously known construction for complementing a deterministic Büchi automaton with n states has O(24n2) states; for nondeterministic Γ, determining whether L(Γ)′ = ⊘, is known to be PSPACE-complete. Interest in deterministic Büchi automata arises from the suitability of deterministic automata in general to describe properties of physical systems; such properties have been found to be more naturally expressible by deterministic automata than by nondeterministic automata. However, if Γ is nondeterministic, then Γ provides a “poor man's” approximate inverse to Γ in the following sense: L(Γ)′ ⊂ L(Γ), and as nondeterministic branches of T are removed, the two languages become closer. Hence, for example, given two nondeterministic Buchi automata Λ and Γ, one may test for containment of their associated languages through use of the corollary that L (Λ ∗ Γ = ⊘ ⇒ L (Λ) ⊂ L(Γ) (where Γ ∗ Γ is one of the standard constructions satisfying L (Λ ∗ Γ) = L (Λ) ∩ L(Γ)). The “error term” L = L(Γ) ⧹ L(Γ)′ may be deter exactly, and whether L = ⊘ may be determined in time O(e2), where e is the number of edges of Γ

    An Automata-Theoretic Approach to Hardware/Software Co-verification

    Full text link

    On the Relative Succinctness of Nondeterministic Büchi and co-Büchi Word Automata

    Full text link
    Abstract. The practical importance of automata on infinite objects has motivated a re-examination of the complexity of automata-theoretic constructions. One such construction is the translation, when possible, of nondeterministic Büchi word automata (NBW) to nondeterministic co-Büchi word automata (NCW). Among other applications, it is used in the translation (when possible) of LTL to the alternation-free µ-calculus. The best known upper bound for the translation of NBW to NCW is exponential (given an NBW with n states, the best translation yields an equivalent NCW with 2 O(n log n) states). On the other hand, the best known lower bound is trivial (no NBW with n states whose equivalent NCW requires even n+1 states is known). In fact, only recently was it shown that there is an NBW whose equivalent NCW requires a different structure. In this paper we improve the lower bound by showing that for every integer k ≥ 1 there is a language Lk over a two-letter alphabet, such that Lk can be recognized by an NBW with 2k+1 states, whereas the minimal NCW that recognizes Lk has 3k states. Even though this gap is not asymptotically very significant, it nonetheless demonstrates for the first time that NBWs are more succinct than NCWs. In addition, our proof points to a conceptual advantage of the Büchi condition: an NBW can abstract precise counting by counting to infinity with two states. To complete the picture, we consider also the reverse NCW to NBW translation, and show that the known upper bound, which duplicates the state space, is tight.

    Symbolic Model Checking of Concurrent Programs Using Partial Orders and On-the-Fly Transactions

    Full text link
    Abstract. The state explosion problem is one of the core bottlenecks in the model checking of concurrent software. We show how to ameliorate the problem by combining the ability of partial order techniques to reduce the state space of the concurrent program with the power of symbolic model checking to explore large state spaces. Our new verification methodology involves translating the given concurrent program into a circuit-based model which gives us the flexibility to then employ any model checking technique of choice – either SAT or BDD-based – for verifying a broad range of linear time properties, not just safety. The reduction in the explored state-space is obtained by statically augmenting the symbolic encoding of the program by additional constraints. These constraints restrict the scheduler to choose from a minimal conditional stubborn set of transitions at each state. Another key contribution of the paper, is a new method for detecting transactions on-the-fly which takes into account patterns of lock acquisition and yields better reductions than existing methods which rely on a lockset based analysis. Moreover unlike existing techniques, identifying on-the-fly transactions does not require the program to follow a lock discipline in accessing shared variables. We have applied our techniques to the Daisy test bench and shown the existence of several bugs.

    Model checking büchi pushdown systems

    No full text
    Abstract. We develop an approach to model checking Linear Temporal Logic (LTL) properties of Büchi Pushdown Systems (BPDS). Such BPDS models are suitable for Hardware/Software (HW/SW) co-verification. Since a BPDS represents the asynchronous transitions between hardware and software, some transition orders are unnecessary to be explored in verification. We design an algorithm to reduce BPDS transition rules, so that these transition orders will not be explored by model checkers. Our reduction algorithm is applied at compile time; therefore, it is also suitable to runtime techniques such as co-simulation. As a proof of concept, we have implemented our approach in our co-verification tool, CoVer. CoVer not only verifies LTL properties on the BPDS models represented by Boolean programs, but also accepts assumptions in LTL formulae. The evaluation demonstrates that our reduction algorithm can reduce the verification cost by 80 % in time usage and 35 % in memory usage on average.

    Embedding an arbitrary function into a Tchebycheff space

    Get PDF
    AbstractIn this paper it is determined precisely when a given function belongs to some Tchebycheff system

    Computer-aided verification

    No full text
    corecore