Empirical design bugs prediction for verification

Coverage model is the main technique to evaluate the thoroughness of dynamic verification of a Design-under-Verification (DUV). However, rather than achieving a high coverage, the essential purpose of verification is to expose as many bugs as possible. In this paper, we propose a novel verification methodology that leverages the early bug prediction of a DUV to guide and assess related verification process. To be specific, this methodology utilizes predictive models built upon artificial neural networks (ANNs), which is capable of modeling the relationship between the high-level attributes of a design and its associated bug information. To evaluate the performance of constructed predictive model, we conduct experiments on some open source projects. Moreover, we demonstrate the usability and effectiveness of our proposed methodology via elaborating experiences from our industrial practices. Finally, discussions on the application of our methodology are presented.

[1]  Jose Renau,et al.  μ Complexity : Estimating Processor Design Effort , 2005 .

[2]  C. Bazeghi,et al.  /spl mu/Complexity: estimating processor design effort , 2005, 38th Annual IEEE/ACM International Symposium on Microarchitecture (MICRO'05).

[3]  Richard A. Johnson,et al.  Applied Multivariate Statistical Analysis , 1983 .

[4]  Tim Menzies,et al.  Data Mining Static Code Attributes to Learn Defect Predictors , 2007, IEEE Transactions on Software Engineering.

[5]  Tianshi Chen,et al.  Estimating design quality of digital systems via machine learning , 2010, 2010 17th IEEE International Conference on Electronics, Circuits and Systems.

[6]  Francesco Pessolano,et al.  An objective measure of digital system design quality , 2000, Proceedings IEEE 2000 First International Symposium on Quality Electronic Design (Cat. No. PR00525).

[7]  Elaine J. Weyuker,et al.  Predicting the location and number of faults in large software systems , 2005, IEEE Transactions on Software Engineering.

[8]  Tim Menzies,et al.  Data Mining Static Code Attributes to Learn Defect Predictors , 2007 .

[9]  Weiwu Hu,et al.  Microarchitecture of the Godson-2 Processor , 2005, Journal of Computer Science and Technology.

[10]  John D. Provence,et al.  Measures of Syntactic Complexity for Modeling Behavioral VHDL , 1995, 32nd Design Automation Conference.

[11]  Harald C. Gall,et al.  Cross-project defect prediction: a large scale experiment on data vs. domain vs. process , 2009, ESEC/SIGSOFT FSE.

[12]  Jose Renau,et al.  Understanding bug fix patterns in verilog , 2008, MSR '08.

[13]  Thomas G. Dietterich What is machine learning? , 2020, Archives of Disease in Childhood.

[14]  Alon Gluska Practical methods in coverage-oriented verification of the Merom microprocessor , 2006, 2006 43rd ACM/IEEE Design Automation Conference.

[15]  Onur Mutlu,et al.  Online design bug detection: RTL analysis, flexible mechanisms, and evaluation , 2008, 2008 41st IEEE/ACM International Symposium on Microarchitecture.

[16]  Bob Bentley,et al.  Validating the Intel(R) Pentium(R) 4 microprocessor , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).