whitebox-dataflow-loop

Designs loop boundary and def-use dataflow test cases for whitebox coverage.

Updated Jun 24, 2026
One-click install
npx skills add https://github.com/Hakkadaikon/hymme --skill whitebox-dataflow-loop-hakkadaikon
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: whitebox-dataflow-loop
Source: https://github.com/Hakkadaikon/hymme/tree/main/skills/whitebox-dataflow-loop
Command: npx skills add https://github.com/Hakkadaikon/hymme --skill whitebox-dataflow-loop-hakkadaikon

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Loop-specific defects like off-by-one errors, empty-input failures, and limit overflows, plus dataflow defects like uninitialized variable use and dead assignments, are hard to catch with black-box testing alone. This Skill provides structured white-box techniques to systematically cover loop iteration counts and variable definition-to-use chains. ## Core Features & Use Cases - Loop Testing: Covers 0, 1, typical, maximum, and maximum±1 iterations, including nested loop boundary combinations, to expose off-by-one and boundary errors. - Dataflow Testing (def-use chains): Traces each variable definition to its uses and designs cases that traverse each def-use pair, targeting uninitialized use and overwritten-assignment defects. - Coverage Criteria: Defines explicit completion criteria, case-construction procedures, and leakage checks for both techniques, with TypeScript/Vitest examples. - Use Case: When reviewing a pagination or retry-limit function, apply loop boundary cases (0/1/max/max±1) to catch < vs <= mistakes that typical-iteration tests miss. ## Quick Start Ask the AI to design loop boundary and def-use dataflow test cases for a specific function using the whitebox-dataflow-loop techniques.

Frequently Asked Questions about whitebox-dataflow-loop

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I design loop boundary test cases?

Loop testing selects cases at 0, 1, typical, maximum, and maximum±1 iterations rather than testing every count. For nested loops, combine outer and inner boundary values, and always include the path where the outer loop runs zero times so the inner loop never executes.

What is def-use dataflow testing?

Def-use dataflow testing traces each variable definition (assignment) to its uses (references) and designs cases that traverse each pair without intermediate redefinition. It targets defects like uninitialized use, values assigned but never read, and logic broken by overwriting reassignments.

When should I use dataflow testing instead of branch coverage?

Use dataflow testing when defects stem from how data flows rather than which branches execute, such as which assignment reaches which reference. Control-flow coverage like C0/C1 cannot reveal whether a specific definition actually reaches its intended use.

Why do off-by-one errors escape typical test cases?

Off-by-one errors from confusing `<` and `<=` only surface at boundary iterations (maximum and maximum±1). Tests using only typical iteration counts pass either way, so boundary-focused cases are required to expose them.

What are the limitations of full def-use coverage?

Covering all def-use pairs approaches path coverage and becomes expensive. Practice is to restrict to critical variables such as money amounts or permission flags, and treat any definition reaching no use as a likely bug signal.