Data mining diagnostics and bug MRIs for HW bug localization

This paper addresses the challenge of minimizing the time and resources required to localize bugs in HW dynamic functional verification. Our diagnostics solution eliminates the need to back trace from point of failure to its origin, decreasing the overall debugging time. The proposed solution dynamically analyses data extracted from sets of passing and failing tests to identify behavior discrepancies, which it expresses as source code lines, coverage events and timing during simulation. It also provides a visual diagnostic support, an image of the behavior discrepancies in time which we call a Machine Reasoning Image (MRI). This paper describes in detail our data mining solution based on coverage data, HDL hierarchies and time analysis of coverage events. Our approach brings a data mining solution to the problem of HW bug localization. It defines new concepts, provides in-depth analysis, presents supporting algorithms, and shows actual results on archetypical problems from PowerPC core verification as an industrial application.

[1]  Sean Safarpour,et al.  From RTL to silicon: The case for automated debug , 2011, 16th Asia and South Pacific Design Automation Conference (ASP-DAC 2011).

[2]  Andreas G. Veneris,et al.  Clustering-based failure triage for RTL regression debugging , 2014, 2014 International Test Conference.

[3]  Kamran Sartipi,et al.  Dynamic Analysis of Software Systems using Execution Pattern Mining , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[4]  Ian Witten,et al.  Data Mining , 2000 .

[5]  Andrew David Eisenberg,et al.  Dynamic feature traces: finding features in unfamiliar code , 2005, 21st IEEE International Conference on Software Maintenance (ICSM'05).

[6]  Rolf Drechsler,et al.  Automatic TLM Fault Localization for SystemC , 2012, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Norman Wilde,et al.  Software reconnaissance: Mapping program features to code , 1995, J. Softw. Maintenance Res. Pract..

[8]  Rainer Koschke,et al.  Locating Features in Source Code , 2003, IEEE Trans. Software Eng..

[9]  Andreas G. Veneris,et al.  Automated debugging of missing input constraints in a formal verification environment , 2012, 2012 Formal Methods in Computer-Aided Design (FMCAD).

[10]  Subhasish Mitra,et al.  IFRA: Instruction Footprint Recording and Analysis for post-silicon bug localization in processors , 2008, 2008 45th ACM/IEEE Design Automation Conference.

[11]  Jaan Raik,et al.  Localization of Bugs in Processor Designs Using zamiaCAD Framework , 2012, 2012 13th International Workshop on Microprocessor Test and Verification (MTV).

[12]  Norman Wilde,et al.  Instrumenting time-sensitive software for feature location , 2009, 2009 IEEE 17th International Conference on Program Comprehension.

[13]  อนิรุธ สืบสิงห์,et al.  Data Mining Practical Machine Learning Tools and Techniques , 2014 .

[14]  Bogdan Dit,et al.  Feature location in source code: a taxonomy and survey , 2013, J. Softw. Evol. Process..

[15]  Allon Adir,et al.  Genesys-Pro: innovations in test program generation for functional processor verification , 2004, IEEE Design & Test of Computers.