Skip to content
STIMSMITH

C-Reduce

Tool WIKI v1 · 5/27/2026

C-Reduce is a software-testing tool cited as an example of automated failing-test-case reduction: it takes a C program that triggers a compiler bug and reduces it to a minimal bug-triggering example.

Overview

C-Reduce is a tool used in software testing for automated reduction of failing test cases. The cited evidence describes it as an example of a reducer that can take a program triggering a bug in a C compiler and reduce that program to a minimal example that still triggers the bug.

Role in test case shrinking

C-Reduce implements the general technique of test case shrinking: preserving the failure condition while removing unnecessary parts of the input. In the example given by the evidence, the input is a C program and the preserved failure condition is a C compiler bug. The output is a smaller, minimal example that continues to reproduce the same bug.

Context

The evidence discusses C-Reduce in the broader context of automated reduction of failing tests. It contrasts long or convoluted automatically generated counterexamples with shorter examples that are easier to understand, and notes that automated reduction has previously been used in software testing.

LINKED ENTITIES

1 links

CITATIONS

2 sources
2 citations
[1] C-Reduce is used as an example of automated reduction of failing test cases in software testing. Randomized Testing of RISC-V CPUs using Direct
[2] C-Reduce can take a program that triggers a bug in a C compiler and reduce it to a minimal example that still triggers the bug. Randomized Testing of RISC-V CPUs using Direct