Abstract
GoldMine automatically generates assertions for register transfer level (RTL) designs using a combination of static analysis and machine learning algorithms. We compare four different machine learning algorithms implemented in GoldMine with respect to metrics that determine quality of their results. Metrics include assertion complexity, coverage, expectedness, predictive accuracy, and number of assertions. We introduce a new statically guided assertion mining algorithm, the best-gain decision forest (BGDF) algorithm here. In our comparative study, two of the algorithms have been invented by us for assertion generation, while the two others are standard machine learning algorithms. The best-gain decision forest and coverage guided association mining algorithms developed by us are compared with the decision tree and PRISM algorithms. We provide an extensive comparative study of assertion mining algorithms with experimental results on realistic designs. We also hereby provide access to these implementations in GoldMine that can be downloaded from [64] for research purposes.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
GoldMine generates assertions in linear temporal logic (LTL) of the form A => C where the antecedent A and consequent C can be propositional or temporal.
- 2.
We use the terms decision forest and acronym BGDF interchangeably through this chapter.
- 3.
X refers to a “don’t care” value since the output does not affect the input space coverage.
References
ActiveProp assertion-based verification system, http://www.jasper-da.com/products/activeprop-assertion-based-verification-system
V. Athavale, S. Ma, S. Hertz, S. Vasudevan, Code coverage of assertions using RTL source code analysis, in The 51st Annual Design Automation Conference 2014, DAC ‘14, San Francisco, CA, June 1–5, 2014 (2014), pp. 61:1–61:6
R. Agrawal, T. Imielinski, A. Swami, Mining association rules between sets of items in large databases, in Proceedings of SIGMOD (1993), pp. 207–216
G. Ammons, R. Bodk, J.R. Larus, Mining specifications, in POPL (2002), pp. 4–16
Assertion synthesis, http://www.atrenta.com/about-assertion_based-verification.htm5
V. Athavale, S. Hertz, S. Vasudevan, Evaluating code coverage of assertions by static analysis of RTL. Technical report uilu-eng-11-2209 (2011)
S. Bensalem, Y. Lakhnech, H. Sadi, Powerful techniques for the automatic generation of invariants, in Proceedings of CAV (1996), pp. 323–335
A. Biere, E.M. Clarke, R. Raimi, Y. Zhu, Verifying safety properties of a power PC microprocessor using symbolic model checking without BDDs, in Computer Aided Verification, 11th International Conference, CAV ‘99, Trento, July 6–10, 1999, Proceedings (1999), pp. 60–71
L. Breiman, Random forests. Mach. Learn. 45(1), 5–32 (2001)
M. Caplain, Finding invariant assertions for proving programs, in Proceedings of the International Conference on Reliable Software (ACM, New York, 1975), pp. 165–171
J. Cendrowska, Prism: an algorithm for inducing modular rules. Int. J. Man-Mach. Stud. 27(4), 349–370 (1987)
P.-H. Chang, L.-C. Wang, Automatic assertion extraction via sequential data mining of simulation traces, in Proceedings of ASPDAC (2010), pp. 607–612
H. Chao, H. Li, X. Song, T. Wang, X. Li, On evaluating and constraining assertions using conflicts in absent scenarios, in 2017 IEEE 26th Asian Test Symposium (ATS), Nov 2017, pp. 195–200
X. Cheng, M.S. Hsiao, Simulation-directed invariant mining for software verification, in Proceedings of DATE (2008), pp. 682–687
C.-N. Chung, C.-W. Chang, K.-H. Chang, S.-Y. Kuo, Applying verification intention for design customization via property mining under constrained testbenches, in Proceedings of ICCD (2011), pp. 84–89
E.M. Clarke, M. Fujita, S.P. Rajan, T.W. Reps, S. Shankar, T. Teitelbaum, Program slicing of hardware description languages, in Correct Hardware Design and Verification Methods, 10th IFIP WG 10.5 Advanced Research Working Conference, CHARME ‘99, Bad Herrenalb, September 27–29, 1999, Proceedings (1999), pp. 298–312
E.M. Clarke, A. Biere, R. Raimi, Y. Zhu, Bounded model checking using satisfiability solving. Formal Methods Syst. Des. 19(1), 7–34 (2001)
A.M. Cruz, R.B. Fernández, H.M. Lozano, M.A. Ramírez Salinas, L.A. Villa Vargas, Automated functional test generation for digital systems through a compact binary differential evolution algorithm. J. Electron. Test. 31(4), 361–380 (2015)
A. Danese, F. Filini, G. Pravadelli, A time-window based approach for dynamic assertions mining on control signals, in 2015 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC), Oct 2015, pp. 246–251
A. DeOrio, A. Bauserman, V. Bertacco, B. Isaksen, Inferno: streamlining verification with inferred semantics. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 28(5), 728–741 (2009)
M.D. Ernst, J.H. Perkins, P.J. Guo, S. McCamant, C. Pacheco, M.S. Tschantz, C. Xiao, The daikon system for dynamic detection of likely invariants. J. Sci. Comput. Program. 69, 35–45 (2007)
F. Farahmandi, R. Morad, A. Ziv, Z. Nevo, P. Mishra, Cost-effective analysis of post-silicon functional coverage events, in Design, Automation & Test in Europe Conference & Exhibition, DATE 2017, Lausanne, March 27–31, 2017 (2017), pp. 392–397
H.D. Foster, A.C. Krolnik, D.J. Lacey, Assertion-Based Design, 2nd edn. (Springer Publishing Company, New York, 2010)
T. Ghasempouri, G. Pravadelli, On the estimation of assertion interestingness, in 2015 IFIP/IEEE International Conference on Very Large Scale Integration (VLSI-SoC), Oct 2015, pp. 325–330
O. Grumberg, H. Veith (eds.), 25 Years of Model Checking: History, Achievements, Perspectives (Springer, Berlin, 2008)
J. Han, M. Kamber, Data Mining: Concepts and Techniques (Morgan Kaufmann Publishers Inc., San Francisco, 2000)
M. Hanafy, H. Said, A.M. Wahba, Complete properties extraction from simulation traces for assertions auto-generation, in 2015 IEEE 24th North Atlantic Test Workshop, May 2015, pp. 1–6
M. Hanafy, H. Said, A.M. Wahba, New methodology for complete properties extraction from simulation traces guided with static analysis. J. Electron. Test. 32(6), 705–719 (2016)
S. Hangal, N. Chandra, S. Narayanan, S. Chakravorty, Iodine: a tool to automatically infer dynamic invariants for hardware designs, in Proceedings of DAC (2005), pp. 775–778
A. Hekmatpour, A. Salehi, Block-based schema-driven assertion generation for functional verification, in Proceedings of ATS (2005), pp. 34–39
S. Hertz, Enhancing quality of assertion generation: methods for automatic assertion generation and evaluation. PhD thesis, The University of Illinois at Urbana-Champaign, 2013
S. Hertz, D. Sheridan, S. Vasudevan, Mining hardware assertions with guidance from static analysis. IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 32, 952–965 (2013)
T.K. Ho, The random subspace method for constructing decision forests. IEEE Trans. Pattern Anal. Mach. Intell. 20(8), 832–844 (1998)
C.A.R. Hoare, An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)
IEEE standard for verilog hardware description language. IEEE Std 1364-2005 (Revision of IEEE Std 1364-2001) (2006), pp. 1–560
R.P. Kurshan, Computer-Aided Verification of Coordinating Processes: The Automata-Theoretic Approach (Princeton University Press, Princeton, 1994)
L. Liu, D. Sheridan, V. Athavale, S. Vasudevan, Automatic generation of assertions from system level design using data mining, in Proceedings of MEMOCODE (2011), pp. 191–200
L. Liu, D. Sheridan, W. Tuohy, S. Vasudevan, Towards coverage closure: using GoldMine assertions for generating design validation stimulus, in Proceedings of DATE (2011), pp. 173–178
L. Liu, C.-H. Lin, S. Vasudevan, Word level feature discovery to enhance quality of assertion mining, in Proceedings of ICCAD (2012), pp. 210–217
L. Liu, D. Sheridan, W. Tuohy, S. Vasudevan, A technique for test coverage closure using goldmine. IEEE Trans. CAD Integr. Circuits Syst. 31(5), 790–803 (2012)
L. Liu, X. Zhong, X. Chen, S. Vasudevan, Diagnosing root causes of system level performance violations, in Proceedings of ICCAD, 2013
J. Malburg, T. Flenker, G. Fey, Property mining using dynamic dependency graphs, in 22nd Asia and South Pacific Design Automation Conference, ASP-DAC 2017, Chiba, January 16–19, 2017 (2017), pp. 244–250
K. McGarry, A survey of interestingness measures for knowledge discovery. Knowl. Eng. Rev. 20(1), 39–61 (2005)
J. Misra, Prospects and limitations of automatic assertion generation for loop programs. SIAM J. Comput. 6(4), 718–729 (1977)
T.M. Mitchell, Machine Learning. McGraw Hill Series in Computer Science (McGraw-Hill, New York, 1997)
J.W. Nimmer, M.D. Ernst, Automatic generation of program specifications, in ISSTA (2002), pp. 229–239
Opencore web page, http://www.opencores.org
M.S. Pang-Ning Tan, V. Kumar, Introduction to Data Mining (Pearson, London, 2005)
C.S. Pasareanu, W. Visser, Verification of java programs using symbolic execution and invariant generation, in Proceedings of SPIN (2004), pp. 164–181
G. Pinter, I. Majzik, Automatic generation of executable assertions for runtime checking temporal requirements, in Proceedings of HASE 2005 (2005), pp. 111–120
A. Pnueli, The temporal logic of programs, in Proceedings of the 18th Annual Symposium on Foundations of Computer Science (1977), pp. 46–57
J.R. Quinlan, Induction of decision trees. Mach. Learn. 1(1), 81–106 (1986)
J.R. Quinlan, C4.5: Programs for Machine Learning (Morgan Kaufmann Publishers, San Francisco, 1993)
F. Rogin, T. Klotz, G. Fey, R. Drechsler, S. Rülke, Automatic generation of complex properties for hardware designs, in Proceedings of DATE (2008), pp. 545–548
C.E. Shannon, A mathematical theory of communication. SIGMOBILE Mob. Comput. Commun. Rev. 5(1), 3–55 (2001)
D. Sheridan, H.-S. Kim, L. Liu, J. Han, S. Vasudevan, Guided association rule learning for assertion generation. Technical report (2012)
D. Sheridan, L. Liu, H. Kim, S. Vasudevan, A coverage guided mining approach for automatic generation of succinct assertions, in 2014 27th International Conference on VLSI Design and 2014 13th International Conference on Embedded Systems, Mumbai, January 5–9, 2014 (2014), pp. 68–73
A. Silberschatz, A. Tuzhilin, What makes patterns interesting in knowledge discovery systems. IEEE Trans. Knowl. Data Eng. 8(6), 970–974 (1996)
Systemverilog, 2012
P. Taatizadeh, N. Nicolici, Emulation-based selection and assessment of assertion checkers for post-silicon validation, in 2015 33rd IEEE International Conference on Computer Design (ICCD), Oct 2015, pp. 46–53
P. Taatizadeh, N. Nicolici, Automated selection of assertions for bit-flip detection during post-silicon validation. IEEE Trans. CAD Integr. Circuits Syst. 35(12), 2118–2130 (2016)
P. Taatizadeh, N. Nicolici, Emulation infrastructure for the evaluation of hardware assertions for post-silicon validation. IEEE Trans. VLSI Syst. 25(6), 1866–1880 (2017)
P. Tan, V. Kumar, J. Srivastava, Selecting the right interestingness measure for association patterns, in Proceedings of the Eighth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, July 23–26, 2002, Edmonton, AB (2002), pp. 32–41
The GoldMine Website, http://goldmine.csl.illinois.edu/
A. Tiwari, H. Rue, H. Sadi, N. Shankar, A technique for invariant generation, in Proceedings of TACAS (2001), pp. 113–127
S. Vasudevan, D. Sheridan, S.J. Patel, D. Tcheng, W. Tuohy, D.R. Johnson, Goldmine: automatic assertion generation using data mining and static analysis, in Design, Automation and Test in Europe, DATE 2010, Dresden, March 8–12, 2010 (2010), pp. 626–629
L.-C. Wang, M.S. Abadir, N. Krishnamurthy, Automatic generation of assertions for formal verification of powerpc microprocessor arrays using symbolic trajectory evaluation, in Proceedings of DAC (1998), pp. 534–537
H. Zhao, A. Sinha, An efficient algorithm for generating generalized decision forests. IEEE Trans. Syst. Man Cybern. A: Syst. Hum. 35(5), 754–762 (2005)
Acknowledgement
We thank Debjit Pal for his assistance with editing this chapter.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Vasudevan, S., Liu, L., Hertz, S. (2019). A Comparative Study of Assertion Mining Algorithms in GoldMine. In: Elfadel, I., Boning, D., Li, X. (eds) Machine Learning in VLSI Computer-Aided Design. Springer, Cham. https://doi.org/10.1007/978-3-030-04666-8_20
Download citation
DOI: https://doi.org/10.1007/978-3-030-04666-8_20
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-04665-1
Online ISBN: 978-3-030-04666-8
eBook Packages: EngineeringEngineering (R0)