MicroTESK is an open-source, specification-based test program generation framework for microprocessors developed at ISP RAS. It uses ISA specifications in a dialect of nML, MMU specifications in MMUSL, and Ruby test templates to extract testing situations and dependencies and generate concrete test programs using symbolic execution and constraint solving.
First seen5/26/2026
Last seen8/22/2026
Evidence38 chunks
Wikiv4
01
WIKI
MicroTESK
MicroTESK is a specification-based test program generation (TPG) framework for microprocessor verification. It is described in the literature as one of the few open-license tools in its class and as an open-source, extensible, reconfigurable TPG framework developed by the MicroTESK team at ISP RAS.[1][2]
[1]MicroTESK is an open-license specification-based TPG tool whose version 2.3+ inputs include nML ISA specifications, MMUSL MMU specifications, and Ruby test templates; it extracts situations and dependencies for test generation and template enumeration.Specification-Based Test Program Generation for MIPS64 Memory Management Units
[2]The MicroTESK team describes its goal as creating an open-source, extensible, reconfigurable TPG framework; the MIPS64 MMU work used ISA specifications in nML, MMU specifications in MMUSL, Ruby test templates, symbolic execution, and constraint solving, and identified constraint-solving performance and multicore extension as future work.Specification-Based Test Program Generation for MIPS64 Memory Management Units
[3]The MIPS64 MMU tool based on MicroTESK consists of an architecture-independent generation core and MIPS64 memory-subsystem specifications, and uses MMUSL specifications to extract execution paths and dependencies with symbolic execution and constraint solving for test data.Specification-Based Test Program Generation for MIPS64 Memory Management Units
[5]MMUSL buffer specifications can include associativity, sets, entry format, index and tag functions, and eviction policy; test templates are Ruby subclasses that use specification-defined modes/instructions and TPG constructs such as blocks and situations.Specification-Based Test Program Generation for MIPS64 Memory Management Units
[6]For MMU generation, MicroTESK parses specifications into an ISS interpreter and a labeled DAG, extracts execution paths, derives dependencies over shared buffers, and enumerates symbolic test programs using path/dependency combinations and heuristics.Specification-Based Test Program Generation for MIPS64 Memory Management Units
[8]The MIPS64 MMU case study specified address spaces, TLB entry format, address translation, two-level write-through cache, JTLB/DTLB, L1/L2 caches, selected memory segments, and 18 memory-access instructions; the MMUSL description was approximately 220 lines.Specification-Based Test Program Generation for MIPS64 Memory Management Units
[9]The MicroTESK public project page lists Alexander Kamkin as project creator, Alexander Kamkin and Alexander Protsenko as managers, and Alexander Protsenko, Alexander Kamkin, Mikhail Chupilko, and Sergey Smolov among developers.Overview - MicroTESK - Open-Source Projects