Skip to main content

An Efficient Rewriting Framework for Trace Coverage of Symmetric Systems

  • Conference paper
  • First Online:
Book cover NASA Formal Methods (NFM 2018)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10811))

Included in the following conference series:

Abstract

Verification coverage is an important metric in any hardware verification effort. Coverage models are proposed as a set of events the hardware may exhibit, intended to be possible under a test scenario. At the system level, these events each correspond to a visited state or taken transition in a transition system that represents the underlying hardware. A more sophisticated approach is to check that tests exercise specific sequences of events, corresponding to traces through the transition system. However, such trace-based coverage models are inherently expensive to consider in practice, as the number of traces is exponential in trace length. We present a novel framework that combines the approaches of conservative abstraction with rewriting to construct a concise trace-based coverage model of a class of parameterized symmetric systems. First, we leverage both symmetry and rewriting to construct abstractions that can be tailored by users’ defined rewriting. Then, under this abstraction, a coverage model for a larger system can be generated from traces for a smaller system. This coverage model is of tractable size, is tractable to generate, and can be used to identify coverage-holes in large systems. Our experiments on the cache coherence protocol implementation from the multi-billion transistors IBM POWER™ Processor demonstrate the viability and effectiveness of this approach.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    Other systems that focus on different abstractions require their own tailored restrictions and proof of Theorem 1.

  2. 2.

    Recall, \(\tau _n\) is trace rewriting; \(\delta _n\) is trace abstraction; \(\gamma \) is abstract trace rewriting.

  3. 3.

    A cacheline is in state \(\mathbf {M}\) when it is has been modified; \(\mathbf {I}\) when invalidated; \(\mathbf {S}\) when shared; and, \(\mathbf {T}\) when the dirty cacheline is possibly being shared with other nodes while this owner is responsible for servicing requests for sharing the cacheline.

References

  1. Miller, J.C., Maloney, C.J.: Systematic mistake analysis of digital computer programs. Commun. ACM 6(2), 58–63 (1963)

    Article  MATH  Google Scholar 

  2. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Patterns in property specifications for finite-state verification. In: ICSE, pp. 411–420. IEEE (1999)

    Google Scholar 

  3. Hong, H.S., Lee, I., Sokolsky, O., Ural, H.: A temporal logic based theory of test coverage and generation. In: Katoen, J.-P., Stevens, P. (eds.) TACAS 2002. LNCS, vol. 2280, pp. 327–341. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-46002-0_23

    Chapter  Google Scholar 

  4. Ziv, A.: Cross-product functional coverage measurement with temporal properties-based assertions. In: DATE, p. 10834. IEEE (2003)

    Google Scholar 

  5. Chockler, H., Kupferman, O., Vardi, M.: Coverage metrics for formal verification. STTT 8(4–5), 373–386 (2006)

    Article  MATH  Google Scholar 

  6. Piziali, A.: Functional Verification Coverage Measurement and Analysis, 1st edn. Springer Publishing Company Incorporated, New York (2004). https://doi.org/10.1007/b117979

    Google Scholar 

  7. Czemerinski, H., Braberman, V., Uchitel, S.: Behaviour abstraction coverage as black-box adequacy criteria. In: ICST, pp. 222–231. IEEE (2013)

    Google Scholar 

  8. Castillos, K.C., Dadeau, F., Julliand, J.: Coverage criteria for model-based testing using property patterns. In: Proceedings of 9th MBT Workshop, pp. 29–43 (2014)

    Google Scholar 

  9. Papamarcos, M.S., Patel, J.H.: A low-overhead coherence solution for multiprocessors with private cache memories. In: Proceedings of 11th Annual International Symposium on Computer Architecture, pp. 348–354. ACM, New York (1984)

    Google Scholar 

  10. Shen, J., Abraham, J.A.: An RTL abstraction technique for processor microarchitecture validation and test generation. J. Electron. Test. 16, 67–81 (2000)

    Article  Google Scholar 

  11. Chou, Ching-Tsun, Mannava, Phanindra K., Park, Seungjoon: A simple method for parameterized verification of cache coherence protocols. In: Hu, Alan J., Martin, Andrew K. (eds.) FMCAD 2004. LNCS, vol. 3312, pp. 382–398. Springer, Heidelberg (2004). https://doi.org/10.1007/978-3-540-30494-4_27

    Chapter  Google Scholar 

  12. Book, R.V., Otto, F.: String-Rewriting Systems. Springer, New York (1993). https://doi.org/10.1007/978-1-4613-9771-7

    Book  MATH  Google Scholar 

  13. Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)

    Book  MATH  Google Scholar 

  14. Sinharoy, B., et al.: IBM POWER7 multicore server processor. IBM J. Res. Dev. 55(3), 191–219 (2011)

    Article  Google Scholar 

  15. Starke, W.J., et al.: The cache and memory subsystems of the IBM POWER8 processor. IBM J. Res. Dev. 59(1), 3:1–3:13 (2015)

    Article  Google Scholar 

  16. Cragon, H.G.: Memory Systems and Pipelined Processors. Jones and Bartlett Publishers, Burlington (1996)

    Google Scholar 

  17. Shimizu, K., et. al.: Verification of the cell broadband engine; processor. In: Proceedings of 43rd Annual DAC, pp. 338–343. ACM (2006)

    Google Scholar 

  18. Ludden, J.M., et al.: Functional verification of the POWER4 microprocessor and POWER4 multiprocessor system. IBM J. Res. Dev. 46(1), 53–76 (2002)

    Article  Google Scholar 

  19. Adir, A., et al.: Genesys-pro: innovations in test program generation for functional processor verification. IEEE Des. Test Comput. 21(2), 84–93 (2004)

    Article  Google Scholar 

Download references

Acknowledgement

The authors thank Viresh Paruthi and Jesse Bingham for valuable suggestions that helped with clarity of this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Flavio M. De Paula .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG, part of Springer Nature

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

De Paula, F.M., Haran, A., Bingham, B. (2018). An Efficient Rewriting Framework for Trace Coverage of Symmetric Systems. In: Dutle, A., Muñoz, C., Narkawicz, A. (eds) NASA Formal Methods. NFM 2018. Lecture Notes in Computer Science(), vol 10811. Springer, Cham. https://doi.org/10.1007/978-3-319-77935-5_7

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-77935-5_7

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-77934-8

  • Online ISBN: 978-3-319-77935-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics