Skip to content
STIMSMITH

Test Program

Concept

A test program is an executable artifact used to exercise compilers, virtual machines, microprocessors, WebAssembly runtimes, and Just-in-Time (JIT) compilers for verification, performance, and bug-localization purposes. Test programs are typically produced from parameterized test templates and may also be generated by synthesizing code snippets (operators) extracted from historical issue-triggering programs. Quality indicators such as distinguishability characterize how well a test program separates abnormal from normal behavior of the system under test.

First seen 5/24/2026
Last seen 9/25/2026
Evidence 5 chunks
Wiki v2

WIKI

Test Program

Definition

A test program is a program used to verify or characterize the behavior of a system under test. In the software-engineering literature on compiler, virtual-machine, microprocessor, runtime, and JIT-compiler testing, a test program is the concrete, executable input that exercises the target and whose execution behavior is observed to detect functional bugs, performance regressions, or to localize known defects.

Roles in Testing

The evidence describes several distinct roles that test programs play:

READ FULL ARTICLE →

NEIGHBORHOOD

No graph connections found for this entity yet. It may appear in future ingestion runs.

explore full graph →

RELATIONSHIPS

2 connections
PySpike ← evaluates 90% 1e
PySpike provides a reference DUT for verifying test programs.
Test Template derived from → 90% 1e
The text explicitly states that test programs can be derived from templates when implementations are rewritten for new architectures.

CITATIONS

7 sources
7 citations — click to expand
[1] Testing with the use of test programs is applied to ensure the quality of compilers, virtual machines and microprocessors, and test templates (parameterized descriptions of test programs) are used to reduce resources spent on test creation. Architecture independent test templates for virtual machines and ...
[2] Architecture-dependent constructs can be exposed as an interface; implementations of those constructs are rewritten to derive test programs from a given template for new architectures, and the method was applied to check optimizations in a virtual machine compiler. Architecture independent test templates for virtual machines and ...
[3] In Genesys-Pro, the test-generation engine takes a test template and a declarative model of the architecture as input and produces a test program that complies with the scenario requested by the template. Genesys-pro: innovations in test program generation for functional processor verification
[4] Test program generation in Genesys-Pro occurs on two levels: stream-level generation (which instructions and order) and instruction-level generation (specific instruction instances); the engine uses pseudorandom generation with generic biasing constraints. Genesys-pro: innovations in test program generation for functional processor verification
[5] WarpGen generates test programs for WebAssembly runtime performance testing by extracting code snippets from historical issue-triggering test programs as initial operators and inserting an operator into a seed program; quality is measured by distinguishability and seven new performance issues were identified in three Wasm runtimes. Distinguishability-guided Test Program Generation for WebAssembly Runtime Performance Testing
[6] For JIT-compiler bug localization, test programs are generated to contain both passing inputs (similar to the seed) and failing inputs (different from the seed), using structural analysis of the seed to choose mutation points; experiments showed significantly improved bug localization. Directed Test Program Generation for JIT Compiler Bug Localization
[7] PySpike provides a reference DUT used as a continuous test-program verifier, coordinated via a DUT arbitrator with OpenOCD over a remote bitbang connection. PySpike: Agile Co-Verification of RISC-V SoC's and Beyond