Skip to main content

Test Program Generation for a Microprocessor

A Case-Study

  • Conference paper
Tests and Proofs (TAP 2013)

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

Included in the following conference series:

Abstract

Certifications of critical security or safety system properties are becoming increasingly important for a wide range of products. Certifying large systems like operating systems up to Common Criteria EAL 4 is common practice today, and higher certification levels are at the brink of becoming reality.

To reach EAL 7 one has to formally verify properties on the specification as well as test the implementation thoroughly. This includes tests of the used hardware platform underlying a proof architecture to be certified. In this paper, we address the latter problem: we present a case study that uses a formal model of a microprocessor and generate test programs from it. These test programs validate that a microprocessor implements the specified instruction set correctly.

We built our case study on an existing model that was, together with an operating system, developed in Isabelle/HOL. We use HOL-TestGen, a model-based testing environment which is an extension of Isabelle/HOL. We develop several conformance test scenarios, where processor models were used to synthesize test programs that were run against real hardware in the loop. Our test case generation approach directly benefits from the existing models and formal proofs in Isabelle/HOL.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Appenzeller, D.P., Kuehlmann, A.: Formal verification of a powerpc microprocessor. In: Proceedings of the 1995 IEEE International Conference on Computer Design: VLSI in Computers and Processors, ICCD 1995, pp. 79–84 (October 1995), doi:10.1109/ICCD.1995.528794

    Google Scholar 

  2. Beyer, S.: Putting it all together - Formal Verification of the VAMP. PhD thesis, Saarland University, Saarbrücken, Germany (2005)

    Google Scholar 

  3. Beyer, S., Jacobi, C., Kröning, D., Leinenbach, D., Paul, W.J.: Putting it all together – formal verification of the vamp. Int. J. Softw. Tools Technol. Transf. 8(4), 411–430 (2006) ISSN 1433-2779

    Article  Google Scholar 

  4. Biswas, P., Freeman, A., Yamada, K., Nakagawa, N., Uchiyama, K.: Functional verification of the superscalar sh-4 microprocessor. In: Proceeding of the IEEE Compcon 1997, pp. 115–120 (February 1997), doi:10.1109/CMPCON.1997.584682

    Google Scholar 

  5. Brucker, A.D., Wolff, B.: HOL TestGen: An interactive test-case generation framework. In: Chechik, M., Wirsing, M. (eds.) FASE 2009. LNCS, vol. 5503, pp. 417–420. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  6. Brucker, A.D., Wolff, B.: On theorem prover-based testing. Formal Aspects of Computing, FAC (2012), doi:10.1007/s00165-012-0222-y, ISSN 0934-5043

    Google Scholar 

  7. Brucker, A.D., Brügger, L., Krieger, M.P., Wolff, B.: HOL-TestGen 1.7.0 user guide. Technical Report 1551, Laboratoire en Recherche en Informatique (LRI), Université Paris-Sud 11, France (April 2012)

    Google Scholar 

  8. Common Criteria. Common criteria for information technology security evaluation (version 3.1), Part 3: Security assurance components (September 2006) Available as document CCMB-2006-09-003

    Google Scholar 

  9. de Moura, L., Bjørner, N.: Z3: An efficient smt solver. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 337–340. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  10. Dorrenbacher, J.: Formal Specification and Verification of Microkernel. PhD thesis, Saarland University, Saarbrücken, Germany (2010)

    Google Scholar 

  11. Fallah, F., Takayama, K.: A new functional test program generation methodology. In: Proceedings of the 2001 International Conference on Computer Design, ICCD 2001, pp. 76–81 (2001), doi:10.1109/ICCD.2001.955006

    Google Scholar 

  12. Fox, A.: Formal specification and verification of arm6. In: Basin, D., Wolff, B. (eds.) TPHOLs 2003. LNCS, vol. 2758, pp. 25–40. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  13. Harrison, J.: Formal verification at intel. In: LICS, pp. 45–54. IEEE Computer Society (2003), doi:10.1109/LICS.2003.1210044, ISBN 0-7695-1884-2

    Google Scholar 

  14. Hayes, J.P.: Fault modeling for digital mos integrated circuits. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 3(3), 200–208 (1984), doi:10.1109/TCAD.1984.1270076, ISSN 0278-0070

    Article  Google Scholar 

  15. Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 4th edn. Morgan Kaufmann Publishers Inc., San Francisco (2006) ISBN 0123704901

    Google Scholar 

  16. Hilderman, V., Baghai, T.: Avionics Certification: A Complete Guide to DO-178 (Software), DO-254 (Hardware). Avionics Communications Inc. (2007) ISBN 978-1-885544-25-4

    Google Scholar 

  17. Kamkin, A., Kornykhin, E., Vorobyev, D.: Reconfigurable model-based test program generator for microprocessors. In: IEEE International Conference on Software Testing Verification and Validation Workshop, pp. 47–54 (2011), doi:10.1109/ICSTW.2011.35

    Google Scholar 

  18. Leroy, X.: Formal verification of a realistic compiler. Communications of the ACM 52(7), 107–115 (2009), doi:10.1145/1538788.1538814, ISSN 0001-0782

    Article  Google Scholar 

  19. Mishra, P., Dutt, N.: Specification-driven directed test generation for validation of pipelined processors. ACM Trans. Design Autom. Electr. Syst. 13(3) (2008)

    Google Scholar 

  20. Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)

    MATH  Google Scholar 

  21. Russinoff, D.M.: A mechanically checked proof of correctness of the amd k5 floating point square root microcode. Formal Methods in System Design 14(1), 75–125 (1999)

    Article  Google Scholar 

  22. Shen, H., Ma, L., Zhang, H.: Crpg: a configurable random test-program generator for microprocessors. In: IEEE International Symposium on Circuits and Systems, ISCAS 2005, vol. 4, pp. 4171–4174 (May 2005), doi:10.1109/ISCAS.2005.1465550

    Google Scholar 

  23. Srinivasan, S.K., Velev, M.N.: Formal verification of an intel xscale processor model with scoreboarding, specialized execution pipelines, and impress data-memory exceptions. In: MEMOCODE, vol. 7, pp. 65–74. IEEE Computer Society (2003), doi:10.1109/MEMCOD.2003.1210090, ISBN 0-7695-1923-7

    Google Scholar 

  24. Wenzel, M., Wolff, B.: Building formal method tools in the Isabelle/Isar framework. In: Schneider, K., Brandt, J. (eds.) TPHOLs 2007. LNCS, vol. 4732, pp. 352–367. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brucker, A.D., Feliachi, A., Nemouchi, Y., Wolff, B. (2013). Test Program Generation for a Microprocessor. In: Veanes, M., Viganò, L. (eds) Tests and Proofs. TAP 2013. Lecture Notes in Computer Science, vol 7942. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38916-0_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38916-0_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38915-3

  • Online ISBN: 978-3-642-38916-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics