Introduction to CovVise

Written by Robert Woods-Corwin, and Wilson Snyder <wsnyder@wsnyder.org>.

CovVise is no longer being used nor supported.

CovVise wasn an open-sourced verification coverage database system that handled billions of events per day, optionally under the BugVise or SystemPerl systems.

Feature Summary

CovVise was a unique coverage system in these ways:

  • CovVise can handle 100,000 plus bins (coverage points) per test.
  • CovVise can handle 100,000 plus test runs per day, per database server.
  • CovVise not only tracks passing tests, but can identify bins which were only hit by failing tests - extremely interesting points to test further.
  • CovVise identifies bins that were hit only once or twice in a test; possibly only due to reset transitions.
  • CovVise uses hashed objects for all data structures, so that data can be automatically moved between databases. This allows load sharing between multiple coverage database servers. For example, the regression system may populate multiple collection database servers, which in turn feed a master production database. The production database is then age-purged to an archival database. This allows scaling to millions of tests per day.

Papers and Presentations

CovVise was presented by Wilson Snyder <wsnyder@wsnyder.org> at the 2009 Boston Synopsys User's Group. See the papers links.

CovVise: How We Stopped Throwing Away Coverage Data: Paper (.pdf)

CovVise: How We Stopped Throwing Away Coverage Data: Presentation Slides (.pdf)

Screenshots