On Verifying Designs With Incomplete Specification

04/20/2020
βˆ™
by   Eugene Goldberg, et al.
βˆ™
0
βˆ™

Incompleteness of a specification 𝑆𝑝𝑒𝑐 creates two problems. First, an implementation πΌπ‘šπ‘π‘™ of 𝑆𝑝𝑒𝑐 may have some π‘’π‘›π‘€π‘Žπ‘›π‘‘π‘’π‘‘ properties that 𝑆𝑝𝑒𝑐 does not forbid. Second, πΌπ‘šπ‘π‘™ may break some π‘‘π‘’π‘ π‘–π‘Ÿπ‘’π‘‘ properties that are not in 𝑆𝑝𝑒𝑐. In either case, 𝑆𝑝𝑒𝑐 fails to expose bugs of πΌπ‘šπ‘π‘™. 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 πΌπ‘šπ‘π‘™ i.e. those π‘π‘œπ‘›π‘ π‘–π‘ π‘‘π‘’π‘›π‘‘ with πΌπ‘šπ‘π‘™. Generation of an unwanted property means that πΌπ‘šπ‘π‘™ is buggy. In this paper, we address the second problem above by using PQE to generate false properties i.e those that are π‘–π‘›π‘π‘œπ‘›π‘ π‘–π‘ π‘‘π‘’π‘›π‘‘ with πΌπ‘šπ‘π‘™. Such properties are meant to imitate the missing properties of 𝑆𝑝𝑒𝑐 that are not satisfied by πΌπ‘šπ‘π‘™ (if any). A false property is generated by modifying a piece of a quantified formula describing 'the truth table' of πΌπ‘šπ‘π‘™ 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 πΌπ‘šπ‘π‘™ one produces a high quality test set. We apply our approach to verification of combinational and sequential circuits.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset