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.
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
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
Beyer, S.: Putting it all together - Formal Verification of the VAMP. PhD thesis, Saarland University, Saarbrücken, Germany (2005)
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
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
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)
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
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)
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
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)
Dorrenbacher, J.: Formal Specification and Verification of Microkernel. PhD thesis, Saarland University, Saarbrücken, Germany (2010)
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
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)
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
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
Hennessy, J.L., Patterson, D.A.: Computer Architecture: A Quantitative Approach, 4th edn. Morgan Kaufmann Publishers Inc., San Francisco (2006) ISBN 0123704901
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
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
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
Mishra, P., Dutt, N.: Specification-driven directed test generation for validation of pipelined processors. ACM Trans. Design Autom. Electr. Syst. 13(3) (2008)
Nipkow, T., Paulson, L.C., Wenzel, M.T.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
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)
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
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
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)