Automatic system for construction of CDG engines for coverage boosting
Original Publication Date: 2009-Oct-06
Included in the Prior Art Database: 2009-Oct-06
For application in the field of verfication, this article describes an automatic system for construction of CDG engines for coverage boosting.
Coverage closure is commonly acknowledged as one the most important goals of the verification process. The recurring observation in this domain is that a portion of the events to be covered are not reached through the initial attempts. These events are usually some of the most complex and subtle events, since they resisted the preliminary regular attempts to create them. Therefore, this involved task is usually carried out by experts, both in the application domain and in the stimuli generation technology.
Data-driven coverage directed test generation (CDG) is a technique to automate the feedback from coverage analysis to stimuli generation. The CDG system discovers the relations between the directives that control the stimuli generation and the coverage events, based on observations of specific settings of the directives and the coverage events to which they lead. Existing data-driven CDG solutions require domain knowledge from an expert familiar with the design details and an expert in machine learning. In addition, construction of the CDG system may require significant effort that cannot be invested in early stages of the verification process. We propose a fully automated method for constructing CDG systems based on Bayesian networks,
without the need for domain expertise.
The "Coverage Booster" is a new approach for exploiting the demonstrated capacity of machine learning in this domain,
while showing an improvement in
efficiency measured in overall human effort. Instead of placing full coverage as a primary goal,
we target minimal human effort above any other consideration.
offered solution is cheaper and faster than previously suggested methods.
construction is completely automatic and can be done fast and efficiently. In addition, our experiments show good results proving the ability of our solution to achieve its target.
Detailed Description of the Process
Similar to the manual construction of CDG systems based on Bayesian networks, the automated process is composed of three stages: feature selection, structure learning, and parameter learning. The automatic process is described in Figure 1. Initially, the verification team provides a description of the coverage model and a list of directives that control the stimuli generator. The number of directives needs to be cut to allow efficient learning. In order to perform this selection we create an initial sampling by simulating with random directives. This is followed by a feature selection phase in which we narrow down the number of directives that are used later. This feature selection stage is followed by (automatic) construction of a Bayesian network and learning its parameters.
A typical verification environment contains tens or hundreds of directives,
which control the stimuli generator.
Learning with such a large set of direc...