Abstract
Verification is increasingly becoming a bottleneck in the process of designing electronic circuits. While there exists several verification tools that assist in detecting occurrences of design errors, or bugs, there is a lack of solutions for accurately pin-pointing the root causes of these errors. Statistical bug localization has proven to be an approach that scales up to large designs and is widely utilized both in debugging hardware and software. However, the accuracy of localization is highly dependent on the quality of the stimuli. In this paper we formulate diagnostic test set generation as a task for an evolutionary algorithm, and propose dedicated fitness functions that closely correlate with the bug localization capabilities. We perform experiments on the register-transfer level design of the Plasma microprocessor coupling an evolutionary test-pattern generator and a simulator for fitness evaluation. As a result, the diagnostic resolution of the tests is significantly improved.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
ITRS. International Technology Roadmap for Semiconductors report. URL: http://www.itrs.net/
FP6 PROSYD (2004). PROSYD (Property-Based System Design), FP6 funded STREP. http://www.prosyd.org/
Peischl, B., Wotawa, F.: Automated Source-Level Error Localization in Hardware Designs. Design&Test of Computers 23(1), 8–19 (2006)
Smith, A., Veneris, A., Viglas, A.: Design Diagnosis Using Boolean Satisfiability. In: Proc. Asia and South Pacific Design Automation Conference (ASPDAC), pp. 218–223 (2004)
Chang, K.-H., Wagner, I., Bertacco, V., Markov, I.L.: Automatic Error Diagnosis and Correction for RTL Designs. In: Proceedings International Workshop on Logic and Synthesis (IWLS), pp. 106-113 (May 2007)
Liblit, B., Naik, M., Zheng, A.X., Aiken, A., Jordan, M.I.: Scalable statistical bug isolation. ACM SIGPLAN Notices 40(6), 15–26 (2005)
Liu, G., Fei, L., Yan, X., Han, J., Midkiff, S.P.: Statistical debugging: A hypothesis testing-based approach. IEEE Trans. on Software Engineering 32(10), 831–848 (2006)
Wong, W.E., Debroy, V., Choi, B.: A family of code coverage-based heuristics for effective fault localization. J. of Systems and Software 83(2), 188–208 (2010)
Cleve, H., Zeller, A.: Locating causes of program failures. In: Proceedings Int. Conf. on Software Engineering, pp. 342-351 (2005)
Jones, J.A., Harrold, M.J.: Empirical evaluation of the Tarantula automatic fault-localization technique. In: Int. Conf. on Automated Software Engineering, pp. 273-283 (2005)
Tšepurov, A., Tihhomirov, V., Jenihhin, M., Raik, J., Bartsch, G., Meza Escobar, J.H., Wuttke, H.D.: Localization of Bugs in Processor Designs Using zamiaCAD Framework. In: 13th International Workshop on Microprocessor Test and Verification (MTV 2012) Common Challenges and Solutions (2012)
Tihhomirov, V., Tšepurov, A., Jenihhin, M., Raik, J., Ubar, R.: Assessment of diagnostic test for automated bug localization. In: 14th Latin American Test Workshop (LATW), p. 6 (2013)
Deng, S., Cheng, K.-T., Bian, J., Kong, Z.: Mutation-based diagnostic test generation for hardware design error diagnosis. In: IEEE International Test Conference (ITC) (2010)
Bernardi, P., Sánchez, E.E., Schillaci, M., Squillero, G., Sonza Reorda, M.: An Effective Technique for the Automatic Generation of Diagnosis-Oriented Programs for Processor Cores. IEEE Transactions on CAD of ICs and Systems 27(3), 570-574 (2008)
Abreu, R., Zoeteweij, P., van Gemund, A.J.C.: On the Accuracy of Spectrum-based Fault Localization. In: Testing: Academic and Industrial Conference Practice and Research Techniques – MUTATION. TAICPART-MUTATION 2007, pp. 89–98 (2007)
Raik, J., Repinski, U.: Comparison of Model-Based Error Localization Algorithms for C Designs. In: Proc. of 10th East-West Design & Test Symposium (2012)
Lisherness, P., Cheng, K.-T.: Coverage discounting: A generalized approach for testbench qualification. In: IEEE International High Level Design Validation and Test Workshop (HLDVT), pp. 49-56 (November 9-11, 2011)
zamiaCAD framework web page. http://zamiaCAD.sf.net
Tšepurov, A., Bartsch, G., Dorsch, R., Jenihhin, M., Raik, J., Tihhomirov, V.: A Scalable Model Based RTL Framework zamiaCAD for Static Analysis. In: IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC), Santa Cruz, USA (2012)
Drechsler, R.: Evolutionary Algorithms for VLSI CAD. Springer (1998) ISBN: 978-1-4419-5040-6
Squillero, G.: Artificial evolution in computer aided design: from the optimization of parameters to the creation of assembly programs. Computing 93(2-4), 102–120 (2011)
Corno, F., Sonza Reorda, M., Squillero, G.: RT-level ITC’99 benchmarks and first ATPG results. IEEE Design & Test of Computers 17(3), 44–53 (2000)
Corno, F., Sanchez, E., Sonza Reorda, M., Squillero, G.: Automatic test generation for verifying microprocessors. IEEE Potentials 24(1), 34–37 (2005)
Squillero, G.: MicroGP—An Evolutionary Assembly Program Generator. Genetic Programming and Evolvable Machines 6(3), 247–263 (2005)
Sanchez, E., Schillaci, M., Squillero, G.: Evolutionary Optimization: the µGP toolkit. Springer (2011). ISBN: 978-0-387-09426-7
Plasma CPU project. http://opencores.org/project plasma
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gaudesi, M. et al. (2014). Diagnostic Test Generation for Statistical Bug Localization Using Evolutionary Computation. In: Esparcia-Alcázar, A., Mora, A. (eds) Applications of Evolutionary Computation. EvoApplications 2014. Lecture Notes in Computer Science(), vol 8602. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-45523-4_35
Download citation
DOI: https://doi.org/10.1007/978-3-662-45523-4_35
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-45522-7
Online ISBN: 978-3-662-45523-4
eBook Packages: Computer ScienceComputer Science (R0)