MicroTESK: A Tool for Constrained Random Test Program Generation for Microprocessors

  • Alexander Kamkin
  • Andrei TatarnikovEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10742)


The paper presents MicroTESK, a tool for test program generation for functional verification of microprocessors. It generates test programs from templates which describe generation tasks in terms of constraints that must be satisfied in order to reach certain coverage goals. The tool uses formal specifications of the instruction set as a source of knowledge about the microprocessor under verification. This gives several advantages. First, the tool is easily adapted to new architectures by providing corresponding specifications. Second, constraints that constitute coverage model are automatically extracted from specifications. Third, a reference model used to track the microprocessor state during test generation is constructed on the basis of specifications. Such an approach helps to reduce the effort required to create test programs and increase the quality of testing. The tool has been successfully applied in industrial projects for verification of ARMv8 and MIPS64 microprocessors.


Microprocessors Functional verification Test program generation Formal specifications Instruction set architectures 


  1. 1.
    Adir, A., Almog, E., Fournier, L., Marcus, E., Rimon, M., Vinov, M., Ziv, A.: Genesys-pro: innovations in test program generation for functional processor verification. Des. Test Comput. 21, 84–93 (2004)CrossRefGoogle Scholar
  2. 2.
  3. 3.
  4. 4.
    Mishra, P., Dutt, N. (eds.): Processor Description Languages. Systems on Silicon. Morgan Kaufmann, San Francisco (2008). 432 pagesGoogle Scholar
  5. 5.
    Freericks, M.: The nML machine description formalism. Technical report TR SM-IMP/DIST/08, TU Berlin CS Department (1993)Google Scholar
  6. 6.
    Chupilko, M., Kamkin, A., Kotsynyak, A., Protsenko, A., Smolov, S., Tatarnikov, A.: Specification-based test program generation for ARM VMSAv8-64 memory management units. In: Workshop on Microprocessor Test and Verification, pp. 1–6 (2015).
  7. 7.
    Kamkin, A., Kotsynyak, A.: Specification-based test program generation for MIPS64 memory management units. In: Trudy ISP RAN [Proceedings of ISP RAS], vol. 28, part 4, pp. 99–114 (2016)Google Scholar
  8. 8.
    Tatarnikov, A.: Language for describing templates for test program generation for microprocessors. In: Trudy ISP RAN [Proceedings of ISP RAS], vol. 28, part 4, pp. 81–102 (2016)Google Scholar
  9. 9.

Copyright information

© Springer International Publishing AG 2018

Authors and Affiliations

  1. 1.Institute for System Programming of the Russian Academy of SciencesMoscowRussia
  2. 2.Lomonosov Moscow State UniversityMoscowRussia
  3. 3.Moscow Institute of Physics and TechnologyDolgoprudny, Moscow RegionRussia
  4. 4.National Research University Higher School of EconomicsMoscowRussia

Personalised recommendations