On Verifying Designs With Incomplete Specification

preprint2020arXivOpen access

Abstract

Incompleteness of a specification Spec\mathit{Spec} creates two problems. First, an implementation Impl\mathit{Impl} of Spec\mathit{Spec} may have some unwanted\mathit{unwanted} properties that Spec\mathit{Spec} does not forbid. Second, Impl\mathit{Impl} may break some desired\mathit{desired} properties that are not in Spec\mathit{Spec}. In either case, Spec\mathit{Spec} fails to expose bugs of Impl\mathit{Impl}. In an earlier paper, we addressed the first problem above by a technique called Partial Quantifier Elimination (PQE). In contrast to complete QE, in PQE, one takes out of the scope of quantifiers only a small piece of the formula. We used PQE to generate properties of Impl\mathit{Impl} i.e. those consistent\mathit{consistent} with Impl\mathit{Impl}. Generation of an unwanted property means that Impl\mathit{Impl} is buggy. In this paper, we address the second problem above by using PQE to generate false properties i.e those that are inconsistent\mathit{inconsistent} with Impl\mathit{Impl}. Such properties are meant to imitate the missing properties of Spec\mathit{Spec} that are not satisfied by Impl\mathit{Impl} (if any). A false property is generated by modifying a piece of a quantified formula describing 'the truth table' of Impl\mathit{Impl} and taking this piece out of the scope of quantifiers. By modifying different pieces of this formula one can generate a "structurally complete" set of false properties. By generating tests detecting false properties of Impl\mathit{Impl} one produces a high quality test set. We apply our approach to verification of combinational and sequential circuits.

Explore this paper’s authors, topics and related work.

Building this map preview

BZPEER is loading the nearby papers, people, topics and institutions for this page.

Reviews 0

Write a reviewWrite

No reviews yet.

Discussion 0

Add a commentWrite

No comments yet.