Skip to content
STIMSMITH

Automatic Test Program Generation

Technique

Automatic Test Program Generation (ATPG) is a family of techniques that synthesize executable test programs—rather than hand-written test cases—to exercise hardware or software components under verification or debugging. In microprocessor verification, specification-driven ATPG tools such as MA2TG use architecture description languages and constraint solving to produce both random and constraint-directed instruction sequences, dramatically reducing the number of tests and verification time. Constraint-satisfaction techniques have also been specialized for memory access generation, exemplified by the Model-Based Test-Generator, which targets complex addressing modes in PowerPC, x86, and other architectures. In software engineering, ATPG has been specialized for bug localization in Just-in-Time (JIT) compilers, where directed generation produces pairs of passing and failing programs that are carefully diversified from a seed input to maximize the discriminative signal for downstream bug-localization analyses.

First seen 7/3/2026
Last seen 7/8/2026
Evidence 2 chunks
Wiki v2

WIKI

Automatic Test Program Generation

Definition

Automatic Test Program Generation (ATPG) refers to techniques that programmatically synthesize test programs—assemblies, instruction sequences, or source-level programs—from specifications, constraints, or seed inputs, in order to exercise a system under test (a hardware component, a compiler, or other software). The goal is to obtain broader, more targeted, or more cost-effective test coverage than is practical through hand-written test suites.

READ FULL ARTICLE →

NEIGHBORHOOD

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

explore full graph →

RELATIONSHIPS

3 connections
MA2TG ← implements 100% 1e
MA2TG is described as an automatic test program generator.
The paper is directly concerned with automatic test program generation.
Model-Based Test-Generator ← implements 95% 1e
The Model-Based Test-Generator is a tool for automatic test program generation.

CITATIONS

5 sources
5 citations — click to expand
[1] MA2TG is a specification-driven, constraint-solving-based functional test program generator that uses ADL to model microprocessor architecture, supports user constraints files, and reduces the number of generated tests and verification time compared with purely random generation. MA2TG: A Functional Test Program Generator for Microprocessor Verification
[2] MA2TG was applied to the DLX processor as a feasibility demonstration. MA2TG: A Functional Test Program Generator for Microprocessor Verification
[3] Bug localization techniques for JIT compilers rely on analyzing the target JIT compiler's behavior on a generated corpus of test programs, and current automatic test-program-generation approaches work poorly for JIT bug localization. Directed Test Program Generation for JIT Compiler Bug Localization
[4] Directed ATPG for JIT compiler bug localization generates paired passing and failing programs, with passing programs kept close to the seed input and failing programs made maximally different from it, guided by structural analysis of the seed program. Directed Test Program Generation for JIT Compiler Bug Localization
[5] Lewin, Fournier, Levinger, Roytman, and Shurek (IBM Research - Haifa, 2002) describe a constraint-satisfaction framework and algorithm for memory access generation, implemented in the Model-Based Test-Generator, which handles complex addressing modes for PowerPC, x86, and other architectures and is extensible to new addressing modes. Constraint satisfaction for test program generation