whitebox-controlflow-path

Designs MC/DC, multiple condition, path, and basis path test cases for control-flow coverage.

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

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Complex conditional logic hides bugs that only appear for specific combinations of conditions or execution paths, and ad-hoc test writing misses them. This Skill provides systematic white-box coverage techniques—MC/DC, multiple condition coverage, path coverage, and McCabe basis path testing—so every condition's independent influence and every representative execution path is exercised with a defensible, structure-derived number of test cases. ## Core Features & Use Cases - MC/DC (Modified Condition/Decision Coverage): Builds minimal truth-table case sets (roughly n+1 cases for n conditions) proving each condition independently affects the decision outcome, as required by safety-critical standards like DO-178C Level A. - Multiple Condition Coverage: Exercises all 2^n truth combinations of atomic conditions for small decisions where interaction defects must be ruled out. - Path Coverage & Basis Path Testing: Covers all execution paths when feasible, or selects V(G) linearly independent basis paths via cyclomatic complexity when path counts explode. - Use Case: Given a TypeScript guard a && (b || c), produce a 4-case MC/DC suite with independence pairs, or an 8-case multiple-condition suite, each verified against coverage tool branch reports. ## Quick Start Ask the AI to design MC/DC and basis path test cases for a function with compound boolean conditions, using the whitebox-controlflow-path techniques.

Frequently Asked Questions about whitebox-controlflow-path

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

FAQPage Schema
How do I write MC/DC test cases for a boolean condition?

Build the decision's truth table, then for each condition select a pair of rows where only that condition differs and the outcome flips. Deduplicate the selected rows into a minimal set of roughly n+1 cases for n conditions, and verify each pair is not masked by short-circuit evaluation.

What is the difference between MC/DC and multiple condition coverage?

Multiple condition coverage exercises all 2^n truth combinations of atomic conditions, while MC/DC only proves each condition independently affects the outcome with roughly n+1 cases. MC/DC scales to larger decisions; multiple condition coverage is practical only for two or three conditions.

When should I use basis path testing instead of full path coverage?

Use basis path testing when branch counts make full path coverage impractical or loops make it infinite. Compute cyclomatic complexity V(G) and select that many linearly independent paths as representatives, since combining them can express any executable path.

Does short-circuit evaluation affect condition coverage testing?

Yes. In languages with short-circuit evaluation, some truth-table combinations are unreachable because later conditions are never evaluated. Exclude unreachable rows from multiple condition coverage, and decide between masking MC/DC and unique-cause MC/DC when selecting independence pairs.

What are the limitations of path coverage testing?

Path counts grow exponentially with branches and become effectively infinite with loops, so complete path coverage is usually unrealistic. It also risks counting infeasible paths whose conditions cannot logically co-occur, which distorts coverage metrics.