English

On Verifying Designs With Incomplete Specification

Logic in Computer Science 2020-04-22 v1

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.

Keywords

Cite

@article{arxiv.2004.09503,
  title  = {On Verifying Designs With Incomplete Specification},
  author = {Eugene Goldberg},
  journal= {arXiv preprint arXiv:2004.09503},
  year   = {2020}
}

Comments

arXiv admin note: text overlap with arXiv:2004.05853

R2 v1 2026-06-23T14:58:35.048Z