Skip to content
STIMSMITH

Registered Report: Generating Test Suites for GPU Instruction Sets through Mutation and Equivalence Checking

Paper
First seen 9/5/2026
Last seen 9/5/2026
Evidence 16 chunks

NEIGHBORHOOD

46 nodes · 69 edges
graph · Registered Report: Generating Test Suites for GPU Instruction Sets through Mutation and Equivalence Checking · depth=1

RELATIONSHIPS

47 connections
CBMC uses → 100% 3e
The paper uses CBMC as its bounded model checker for equivalence checking of C programs.
test suite generation pipeline introduces → 100% 2e
The paper introduces a pipeline for automatic test suite generation using mutation and equivalence checking.
mutation testing uses → 100% 2e
The paper uses mutation testing to introduce bugs in the formal semantics.
Counterexample Generation uses → 100% 2e
The paper uses counterexamples from CBMC to build the test suite.
Equivalence Checking uses → 100% 2e
The paper uses equivalence checking to compare mutated and original semantics to generate counterexamples.
MUSIC uses → 100% 2e
The paper uses MUSIC as its mutation testing engine to generate mutants.
stratified random sampling uses → 100% 2e
The paper uses stratified random sampling as a comparison baseline for test suite generation.
PTX instruction set evaluates → 100% 2e
The paper evaluates the pipeline on a formal semantics of NVIDIA's PTX instruction set.
libFuzzer uses → 90% 2e
The paper evaluates libFuzzer as a comparison to equivalence checking.
bounded model checking uses → 100% 2e
The paper uses bounded model checking to check equivalence between original and mutated semantics.
executable semantics uses → 100% 2e
The paper constructs test suites from executable semantics expressed as C programs.
undefined behaviour mentions → 95% 2e
The paper finds that mutation generation can introduce undefined behaviour in C programs.
non-determinism mentions → 95% 2e
The paper discusses non-determinism introduced by mutations that makes testing nearly impossible without specialized instrumentation.
subnormal floating point numbers mentions → 95% 2e
The paper discusses subnormal floating point numbers as critical test inputs to expose bugs.
ISA formal semantics mentions → 100% 2e
The paper focuses on using ISA formal semantics as the basis for test generation.
x86 instruction set mentions → 80% 2e
The paper mentions x86 instruction set in the context of related work on formal semantics and model checkers.
test suite generation uses → 100% 2e
The paper is focused on test suite generation for GPU instruction sets.
CBMC evaluates → 95% 2e
The paper evaluates CBMC as the equivalence checker in their pipeline, measuring its effectiveness and cost.
add.rm.ftz.sat.f32 C semantics uses → 95% 2e
The paper demonstrates its technique using the add.rm.ftz.sat.f32 C semantics as a running example.
CVC3 mentions → 75% 1e
The paper mentions CVC3 as a solver used in differential symbolic execution related work.
GPU instruction set mentions → 100% 1e
The paper targets GPU instruction set testing as its primary application domain.
The paper cites the ISA semantics paper for ARMv8-a, RISC-V, and CHERI-MIPS as related work.
formal semantics uses → 100% 1e
The paper uses formal semantics of instruction sets as the foundation for its test generation approach.
Mutation Score uses → 95% 1e
The paper measures mutation score to evaluate test suite effectiveness.
IEEE floating point semantics uses → 95% 1e
The paper relies on CBMC's support for IEEE floating point semantics to generate tests for floating point instructions.
SMT-LIB uses → 90% 1e
CBMC converts C programs into SMT-LIB logical models for assertion checking.
SAT/SMT solvers uses → 90% 1e
CBMC uses SAT/SMT solvers to discharge assertions about C programs.
The paper cites the complete formal semantics of x86-64 paper as related work.
libFuzzer compares with → 90% 1e
The paper compares the equivalence checker (CBMC) against libFuzzer for generating mutation-detecting inputs.
RISC-V mentions → 80% 1e
The paper mentions RISC-V in the context of related ISA semantics work.
litmus tests mentions → 85% 1e
The paper mentions litmus tests as an orthogonal strategy for testing instructions that enforce memory consistency.
Differential Testing mentions → 80% 1e
The paper mentions differential testing in relation to a related work that randomizes testing on real hardware.
Coverage-guided Fuzzing mentions → 85% 1e
The paper discusses coverage-guided fuzzing as a related technique for generating test inputs for instruction set simulators.
dynamic symbolic execution mentions → 85% 1e
The paper mentions dynamic symbolic execution as a related technique used to trigger mutation-detecting assertions.
Model-based Test Generation uses → 100% 1e
The paper's approach is essentially model-based test generation with the formal semantics as the model.
path coverage mentions → 80% 1e
The paper discusses path coverage in the context of related work that instruments ISA simulators.
differential symbolic execution mentions → 85% 1e
The paper mentions differential symbolic execution as a related technique for finding inputs that detect differences between programs.
Sreepathi Pai authored by → 100% 1e
Sreepathi Pai is listed as an author of this paper.
Shoham Shitrit authored by → 100% 1e
Shoham Shitrit is listed as an author of this paper.
Sail uses → 80% 1e
The paper mentions that C programs can be extracted from formal semantics encoded in SAIL.
K framework uses → 80% 1e
The paper mentions the K framework as an alternative source for executable models.
ARMv8 instruction set mentions → 80% 1e
The paper mentions ARMv8 in the context of related ISA semantics work.
KLEE mentions → 85% 1e
The paper mentions KLEE as an alternative symbolic execution tool for equivalence checking.
SeaHorn mentions → 80% 1e
The paper mentions SeaHorn as an alternative equivalence checker.
LLBMC mentions → 80% 1e
The paper mentions LLBMC but notes it does not support floating-point instructions.
MiniSAT uses → 90% 1e
The paper uses CBMC with the built-in MiniSAT solver for equivalence checks.
CVC4 mentions → 75% 1e
The paper mentions CVC4 as a solver used in related work for path constraints.