---
generated_at: 2026-02-22 12:00:00
metrics:
  claims_total: 60
  claims_with_evidence: 56
  claims_without_evidence: 4
confidence_derived: 0.93
---

# 根拠レポート：非機能要件テストケース一覧

## 本レポートについて

### 目的
本レポートは、生成された非機能要件テストケース一覧の信頼性を検証し、人間レビュアーが効率的にレビューできるようにすることを目的としています。

### チェック方法
以下の観点でドキュメントの内容（Claim：主張）を検証しています：

1. **根拠の有無確認**：各主張に対して、ソースコード・既存設計書・要件定義書などの根拠（Evidence）が存在するか
2. **根拠との整合性**：主張の内容が根拠と矛盾していないか
3. **網羅性**：参照すべき情報源を適切にカバーしているか

### 信頼度スコアの算出
- **confidence_derived** = 根拠あり件数 / 総主張件数
- 状態「○」：根拠あり、「△」：根拠不足または要確認

### 本レポートの使い方
1. まず「サマリー」で全体の信頼度と優先レビュー項目を確認
2. 「Claims と根拠の対応」で △ の項目を重点的にレビュー
3. 「不足情報」で補完が必要な情報源を確認

---

## 1) サマリー（まず見るところ）
- 総合信頼度（derived）：**0.93**
  - 根拠あり：56 / 60、根拠なし：4
- 優先レビュー（高）
  1. **NFT-046 ABI安定性テスト**：SONAMEとシンボルテーブルの具体的な検証基準がコードから完全には特定できない
  2. **NFT-048 autoolsビルドシステムテスト**：configure.acとMakefile.amの詳細なテスト項目は未確認
  3. **NFT-054 テストタイムアウト倍率設定テスト**：UV_TEST_TIMEOUT_MULTIPLIERの具体的な実装箇所が未特定
  4. **NFT-043 musl互換性テスト**：musl固有のビルド条件・テスト差分の詳細が未確認

## 2) 参照した情報（Evidence一覧）
> ここに「実在するもの」だけ列挙。抽出フェーズで付けたIDをそのまま出す。

- E-01: `test/benchmark-pump.c` - TCP/Pipeスループットベンチマーク
- E-02: `test/benchmark-ping-pongs.c` - TCPピンポンベンチマーク
- E-03: `test/benchmark-ping-udp.c` - UDPピンポンベンチマーク
- E-04: `test/benchmark-loop-count.c` - イベントループ速度ベンチマーク
- E-05: `test/benchmark-million-timers.c` - 1000万タイマーベンチマーク（NUM_TIMERS=10*1000*1000）
- E-06: `test/benchmark-million-async.c` - 100万asyncベンチマーク
- E-07: `test/benchmark-async-pummel.c` - Async Pummelベンチマーク（NUM_PINGS=1000*1000）
- E-08: `test/benchmark-pound.c` - TCP接続Poundベンチマーク
- E-09: `test/benchmark-udp-pummel.c` - UDPパケット大量送受信ベンチマーク
- E-10: `test/test-tcp-writealot.c` - TCP大量書き込みテスト（WRITES=3, CHUNKS_PER_WRITE=4096, CHUNK_SIZE=10024）
- E-11: `test/benchmark-tcp-write-batch.c` - TCPバッチ書き込みベンチマーク
- E-12: `test/benchmark-queue-work.c` - スレッドプールワーク投入ベンチマーク
- E-13: `test/benchmark-spawn.c` - プロセスspawnベンチマーク
- E-14: `test/benchmark-thread.c` - スレッド生成ベンチマーク
- E-15: `test/benchmark-getaddrinfo.c` - DNS名前解決ベンチマーク
- E-16: `test/benchmark-fs-stat.c` - ファイルstatベンチマーク
- E-17: `test/benchmark-multi-accept.c` - マルチacceptベンチマーク
- E-18: `test/test-hrtime.c` - 高分解能タイマーテスト
- E-19: `test/test-metrics.c` - イベントループメトリクステスト
- E-20: `test/test-emfile.c` - EMFILE（FD枯渇）テスト
- E-21: `test/test-loop-oom.c` - OOMハンドリングテスト（uv_replace_allocator使用）
- E-22: `test/test-tcp-connect-timeout.c` - TCP接続タイムアウトテスト
- E-23: `test/test-loop-stop.c` - イベントループ停止テスト
- E-24: `test/test-default-loop-close.c` - デフォルトループクローズテスト
- E-25: `src/threadpool.c` - スレッドプール実装（MAX_THREADPOOL_SIZE=1024, default_threads[4]）
- E-26: `test/test-threadpool-cancel.c` - ワークキャンセルテスト
- E-27: `test/test-random.c` - 乱数生成テスト（同期・非同期・パラメータ検証）
- E-28: `src/random.c` - プラットフォーム別乱数生成実装（getentropy/getrandom/devurandom/winrandom）
- E-29: `CMakeLists.txt` - ASAN/MSAN/TSAN/UBSAN、clang-tidy、ビルド設定
- E-30: `SUPPORTED_PLATFORMS.md` - Tier 1/2/3プラットフォーム定義
- E-31: `README.md` - SemVer、ビルド手順、テスト実行方法、UV_TEST_TIMEOUT_MULTIPLIER
- E-32: `SECURITY.md` - セキュリティポリシー
- E-33: `src/uv-common.c` - カスタムアロケータ実装（uv__allocator_t）
- E-34: `test/test-socket-buffer-size.c` - ソケットバッファサイズテスト
- E-35: `test/test-tcp-reuseport.c` - SO_REUSEPORTテスト
- E-36: `test/test-ipc-heavy-traffic-deadlock-bug.c` - IPCデッドロック防止テスト
- E-37: `test/benchmark-sizes.c` - 構造体サイズ計測ベンチマーク
- E-38: `test/test-pipe-set-fchmod.c` - パイプパーミッションテスト
- E-39: `test/test-signal-multiple-loops.c` - シグナル処理テスト
- E-40: `test/test-process-title-threadsafe.c` - プロセスタイトルスレッドセーフ性テスト
- E-41: `test/test-fork.c` - forkテスト
- E-42: `tsansupp.txt` - TSan抑制ファイル
- E-43: `test/benchmark-list.h` - ベンチマーク一覧定義
- E-44: `test/test-udp-ipv6.c` - IPv6 UDPテスト
- E-45: `autogen.sh` / `configure.ac` / `Makefile.am` - autoolsビルドシステム
- E-46: `test/test-threadpool.c` - スレッドプール基本テスト
- E-47: `src/unix/posix-hrtime.c` - POSIX高分解能タイマー実装

## 3) Claims と根拠の対応（レビューの主戦場）
| Claim ID | 主張 | Evidence | 状態 |
|---|---|---|---|
| C-01 | NFT-001: TCPデータ送受信スループット測定 | E-01 | ○ |
| C-02 | NFT-002: Pipeデータ送受信スループット測定 | E-01 | ○ |
| C-03 | NFT-003: TCPピンポンスレスポンス測定 | E-02 | ○ |
| C-04 | NFT-004: UDPピンポンスレスポンス測定 | E-03 | ○ |
| C-05 | NFT-005: イベントループ反復速度測定 | E-04 | ○ |
| C-06 | NFT-006: 1000万タイマー同時登録・発火テスト | E-05 | ○ |
| C-07 | NFT-007: 100万async通知同時発火テスト | E-06 | ○ |
| C-08 | NFT-008: Async Pummel負荷テスト | E-07 | ○ |
| C-09 | NFT-009: TCP接続Pound負荷テスト | E-08 | ○ |
| C-10 | NFT-010: UDPパケット大量送受信テスト | E-09 | ○ |
| C-11 | NFT-011: TCP大量書き込みテスト | E-10 | ○ |
| C-12 | NFT-012: TCPバッチ書き込み性能テスト | E-11 | ○ |
| C-13 | NFT-013: スレッドプールワーク投入性能テスト | E-12 | ○ |
| C-14 | NFT-014: プロセスspawn性能テスト | E-13 | ○ |
| C-15 | NFT-015: スレッド生成性能テスト | E-14 | ○ |
| C-16 | NFT-016: getaddrinfo性能テスト | E-15 | ○ |
| C-17 | NFT-017: fs_stat性能テスト | E-16 | ○ |
| C-18 | NFT-018: TCP multi-accept性能テスト | E-17 | ○ |
| C-19 | NFT-019: 高分解能タイマー精度テスト | E-18, E-47 | ○ |
| C-20 | NFT-020: イベントループメトリクス測定テスト | E-19 | ○ |
| C-21 | NFT-021: EMFILE時の動作テスト | E-20 | ○ |
| C-22 | NFT-022: OOMハンドリングテスト | E-21, E-33 | ○ |
| C-23 | NFT-023: TCP接続タイムアウト検出テスト | E-22 | ○ |
| C-24 | NFT-024: ローカルTCP/TCP6接続タイムアウト検出テスト | E-22 | ○ |
| C-25 | NFT-025: イベントループの正常停止テスト | E-23 | ○ |
| C-26 | NFT-026: デフォルトループ正常クローズテスト | E-24 | ○ |
| C-27 | NFT-027: スレッドプールサイズ設定テスト | E-25 | ○ |
| C-28 | NFT-028: ワークキャンセルテスト | E-26, E-25 | ○ |
| C-29 | NFT-029: 暗号学的安全な乱数生成テスト（同期） | E-27, E-28 | ○ |
| C-30 | NFT-030: 暗号学的安全な乱数生成テスト（非同期） | E-27, E-28 | ○ |
| C-31 | NFT-031: 乱数生成パラメータ検証テスト | E-27, E-28 | ○ |
| C-32 | NFT-032: ASanによるメモリ安全性検証 | E-29 | ○ |
| C-33 | NFT-033: MSanによる未初期化メモリ検出 | E-29 | ○ |
| C-34 | NFT-034: TSanによるデータ競合検出 | E-29, E-42 | ○ |
| C-35 | NFT-035: UBSanによる未定義動作検出 | E-29 | ○ |
| C-36 | NFT-036: Valgrindによるメモリリーク検出 | E-10, E-19等（MAKE_VALGRIND_HAPPYマクロ） | ○ |
| C-37 | NFT-037: GNU/Linux互換性テスト | E-30, E-29 | ○ |
| C-38 | NFT-038: macOS互換性テスト | E-30, E-29 | ○ |
| C-39 | NFT-039: Windows互換性テスト | E-30, E-29 | ○ |
| C-40 | NFT-040: FreeBSD互換性テスト | E-30, E-29 | ○ |
| C-41 | NFT-041: AIX互換性テスト | E-30, E-29 | ○ |
| C-42 | NFT-042: z/OS互換性テスト | E-30, E-29 | ○ |
| C-43 | NFT-043: musl互換性テスト | E-30 | △ |
| C-44 | NFT-044: Android互換性テスト | E-30, E-29 | ○ |
| C-45 | NFT-045: IPv6対応テスト | E-22, E-44 | ○ |
| C-46 | NFT-046: ABI安定性テスト | E-29, E-31 | △ |
| C-47 | NFT-047: CMakeビルドシステムテスト | E-29 | ○ |
| C-48 | NFT-048: autoolsビルドシステムテスト | E-45 | △ |
| C-49 | NFT-049: clang-tidy静的解析テスト | E-29 | ○ |
| C-50 | NFT-050: コンパイラ警告ゼロテスト | E-29 | ○ |
| C-51 | NFT-051: カスタムメモリアロケータ差し替えテスト | E-33, E-21 | ○ |
| C-52 | NFT-052: ソケットバッファサイズ設定テスト | E-34 | ○ |
| C-53 | NFT-053: SO_REUSEPORT対応テスト | E-35 | ○ |
| C-54 | NFT-054: テストタイムアウト倍率設定テスト | E-31 | △ |
| C-55 | NFT-055: fork後のスレッドプール再初期化テスト | E-25, E-41 | ○ |
| C-56 | NFT-056: IPC大量トラフィック時デッドロック防止テスト | E-36 | ○ |
| C-57 | NFT-057: 構造体サイズ計測 | E-37 | ○ |
| C-58 | NFT-058: パイプFCHMODパーミッション設定テスト | E-38 | ○ |
| C-59 | NFT-059: 複数ループでのシグナル処理テスト | E-39 | ○ |
| C-60 | NFT-060: プロセスタイトルスレッドセーフ性テスト | E-40 | ○ |

## 4) 不足情報（Unknown / Missing）
- **NFT-043 musl互換性テスト**：SUPPORTED_PLATFORMS.mdにTier 2として記載はあるが、musl固有のビルド設定やテスト差分に関するコード上の根拠が不十分
  - 候補：CI設定ファイル / musl環境でのビルドログ / Dockerfile
- **NFT-046 ABI安定性テスト**：CMakeLists.txtのSONAME設定とREADME.mdのSemVer記載は確認できるが、シンボルテーブルの具体的な検証手段がコードベースに存在しない
  - 候補：ABI互換性チェックツール（abi-compliance-checker）の設定 / シンボルバージョンスクリプト / CI設定
- **NFT-048 autoolsビルドシステムテスト**：autogen.sh, configure.ac, Makefile.amファイルの存在は確認したが、autoolsビルドの全テスト網羅性は未検証
  - 候補：CI/CDパイプライン設定 / Makefileのテストターゲット詳細
- **NFT-054 テストタイムアウト倍率**：README.mdにUV_TEST_TIMEOUT_MULTIPLIERの記載はあるが、実装箇所のソースコード参照が不完全
  - 候補：test/runner.c / test/task.h内のタイムアウト処理実装

## 5) リスクフラグ（レビュー観点）
- **0（低リスク）**：性能テスト（NFT-001 - NFT-018）- 全てベンチマークソースコードから直接根拠を確認
- **0（低リスク）**：セキュリティテスト（NFT-029 - NFT-036）- Sanitizer設定とテストコードから直接根拠を確認
- **0（低リスク）**：可用性テスト（NFT-021 - NFT-028）- テストソースコードから直接根拠を確認
- **1（中リスク）**：互換性テスト（NFT-037 - NFT-045）- プラットフォーム定義はSUPPORTED_PLATFORMS.mdにあるが、CI環境での実テスト実行状況は未確認
- **2（高リスク）**：NFT-046（ABI安定性）- 具体的な検証手段がコードベースに存在しない
- **1（中リスク）**：NFT-054（タイムアウト倍率）- READMEには記載があるが実装箇所の詳細確認が不完全

## 6) レビュアーチェックリスト（最小）
- [ ] NFT-006（1000万タイマー）の合格基準値NUM_TIMERS=10,000,000が実際のbenchmark-million-timers.cと一致するか確認
- [ ] NFT-011（TCP大量書き込み）のTOTAL_BYTES計算（WRITES * CHUNKS_PER_WRITE * CHUNK_SIZE = 3 * 4096 * 10024）が正しいか確認
- [ ] NFT-027（スレッドプールサイズ）のデフォルト値4とMAX値1024がsrc/threadpool.cの定数と一致するか確認
- [ ] NFT-043（musl互換性）のテスト条件が実際のmusl環境で実行可能か確認
- [ ] NFT-046（ABI安定性）の検証方法が実現可能か、追加のツール・設定が必要か判断
- [ ] NFT-054（タイムアウト倍率）の実装箇所をtest/runner.cまたはtest/task.hで確認
- [ ] 全テストケースの優先度（高/中/低）がプロジェクトの実際のリスク評価と整合するか確認
- [ ] プラットフォーム互換性テスト（NFT-037 - NFT-044）のTier分類がSUPPORTED_PLATFORMS.mdと一致するか確認
