Analysing and Closing Simulation Coverage by Automatic Generation and Verification of Formal Properties from Coverage Reports

  • Tim Blackmore
  • David Halliwell
  • Philip Barker
  • Kerstin Eder
  • Naresh Ramaram
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7321)

Abstract

A significant amount of time during simulation-based hardware design verification is spent analysing coverage reports in order to identify which uncovered cases are coverable and which are not, ie indicating areas of dead code. This dead-code analysis is typically left until the code is stable because changes to the code can mean having to start the analysis again. Some formal tools offer a push-button functionality allowing this process to be automated to some extent. This paper extends this capability of formal tools. A method is presented that automatically extracts candidates for dead code analysis from coverage reports, turns these into formal assertions and uses a formal property checker to determine whether or not the code can be reached. The core principle of the method is based on temporal induction. The method is fully automatic and generic in that it can be implemented with any state-of-the-art formal property checker; it also does not need code stability. The major benefits of employing this method in practice are a saving of engineering effort and earlier coverage closure which can avoid late discovery of bugs and schedule slips.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Piziali, A.: Functional Verification Coverage Measurement and Analysis. Springer (2004)Google Scholar
  2. 2.
    Ratzaby, G., Ur, S., Wolfsthal, Y.: Coverability Analysis Using Symbolic Model Checking. In: Margaria, T., Melham, T.F. (eds.) CHARME 2001. LNCS, vol. 2144, pp. 155–160. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  3. 3.
    Ratsaby, G., Sterin, B., Ur, S.: Improvements in Coverability Analysis. In: Eriksson, L.-H., Lindsay, P.A. (eds.) FME 2002. LNCS, vol. 2391, pp. 41–56. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  4. 4.
    Cunningham, G., Jackson, P., Dines, J.: Expression Coverability Analysis: Improving Code Coverage Analysis with Model Checking. In: Proceedings of the Design and Verification Conference (DVCon) (March 2004)Google Scholar
  5. 5.
    Andrews, M.: Tightening the Loop in Coverage Closure. Mentor Graphics, EDA Tech Forum (December 2008)Google Scholar
  6. 6.
    OneSpin Solutions GmbH: User Documentation: OneSpin 360TM, Version 4.0 (August 2006)Google Scholar
  7. 7.
    Hayhurst, K.J., Veerhusen, D.S., Chilenski, J.J., Rierson, L.K.: A Practical Tutorial on Modified Condition/Decision Coverage. NASA, Technical Memorandum TM-2001-210876 (2001)Google Scholar
  8. 8.
    Watson, A.H., McCabe, T.J., Wallace, D.R.: Special Publication 500-235, Structured Testing: A Software Testing Methodology Using the Cyclomatic Complexity Metric. In: U.S. Department of Commerce/National Institute of Standards and Technology (1996)Google Scholar
  9. 9.
    Accellera: Property Specification Language Reference Manual (v1.1) (June 2004)Google Scholar
  10. 10.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. The MIT Press (1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Tim Blackmore
    • 1
  • David Halliwell
    • 1
  • Philip Barker
    • 1
  • Kerstin Eder
    • 2
  • Naresh Ramaram
    • 2
  1. 1.Infineon TechnologiesBristolUK
  2. 2.Department of Computer ScienceUniversity of BristolBristolUK

Personalised recommendations