BugMD: Automatic Mismatch Diagnosis for Bug triaging

System-level validation is the most challenging phase of design verification. A common methodology in this context entails simulating the design under validation in lockstep with a high-level golden model, while comparing the architectural state of the two models at regular intervals. However, if a bug is detected, the diagnosis of the problem with this framework is extremely time and resource consuming. To address this challenge, we propose a novel bug triaging solution that collects multiple architectural-level mismatches and employs a classifier to pinpoint buggy design units. We also design and implement an automated synthetic bug injection framework that enables us to generate large datasets for training our classifier models. Experimental results show that our solution is able to correctly identify the source of a bug over 70% of the time in an out-of-order processor model. Furthermore, our solution can identify the top 3 most likely units with over 90% accuracy.

[1]  Monica Farkash,et al.  Data mining diagnostics and bug MRIs for HW bug localization , 2015, 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[2]  Valeria Bertacco,et al.  Post-silicon bug diagnosis with inconsistent executions , 2011, 2011 IEEE/ACM International Conference on Computer-Aided Design (ICCAD).

[3]  Todd M. Austin,et al.  The SimpleScalar tool set, version 2.0 , 1997, CARN.

[4]  M. R. Woodward,et al.  Mutation testing - its origin and evolution , 1993, Inf. Softw. Technol..

[5]  Valeria Bertacco,et al.  Machine learning-based anomaly detection for post-silicon bug diagnosis , 2013, 2013 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[6]  Sanjay J. Patel,et al.  ReStore: symptom based soft error detection in microprocessors , 2005, 2005 International Conference on Dependable Systems and Networks (DSN'05).

[7]  Eric Rotenberg,et al.  FabScalar: Composing synthesizable RTL designs of arbitrary cores within a canonical superscalar template , 2011, 2011 38th Annual International Symposium on Computer Architecture (ISCA).

[8]  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.

[9]  Sarita V. Adve,et al.  Trace-based microarchitecture-level diagnosis of permanent hardware faults , 2008, 2008 IEEE International Conference on Dependable Systems and Networks With FTCS and DCC (DSN).

[10]  Scott Mahlke,et al.  Low cost control flow protection using abstract control signatures , 2013, LCTES '13.

[11]  Enamul Amyeen,et al.  Microprocessor system failures debug and fault isolation methodology , 2009, 2009 International Test Conference.

[12]  Gaël Varoquaux,et al.  Scikit-learn: Machine Learning in Python , 2011, J. Mach. Learn. Res..

[13]  M. Kubát An Introduction to Machine Learning , 2017, Springer International Publishing.

[14]  David Lin,et al.  A structured approach to post-silicon validation and debug using symbolic quick error detection , 2015, 2015 IEEE International Test Conference (ITC).

[15]  Vitali Sokhin,et al.  Effective post-silicon failure localization using dynamic program slicing , 2014, 2014 Design, Automation & Test in Europe Conference & Exhibition (DATE).

[16]  Andrew DeOrio,et al.  A Topological Approach to Hardware Bug Triage , 2015, 2015 16th International Workshop on Microprocessor and SOC Test and Verification (MTV).

[17]  Andreas G. Veneris,et al.  Exemplar-based failure triage for regression design debugging , 2015, 2015 16th Latin-American Test Symposium (LATS).

[18]  Avi Ziv,et al.  Checking architectural outputs instruction-by-instruction on acceleration platforms , 2012, DAC Design Automation Conference 2012.

[19]  Harry D. Foster Trends in functional verification: A 2014 industry study , 2015, 2015 52nd ACM/EDAC/IEEE Design Automation Conference (DAC).

[20]  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).