Files
hakorune/docs/development/roadmap/phases/phase-10.5/10.1f_testing/README.md
Moe Charm 7a0f9bd432 🚨 AI協調開発の危機回避事例を論文化(paper-09)
「ん?大丈夫?」の一言がPython特化ハードコーディングを防いだ事例を記録。
Everything is Box哲学 vs 技術的正しさの綱渡りからの生還を分析。

- docs/research/paper-09-ai-collaboration-pitfall/ を新規作成
  - incident-analysis.md: Lowerer特殊化危機の詳細分析
  - ai-collaboration-lessons.md: AI協調開発の教訓
  - intuition-in-engineering.md: エンジニアの直感の価値
  - summary.md: 綱渡りからの生還まとめ
- 研究論文の1論文1フォルダ原則に従い整理
- Python統合関連の実装修正とビルド成功確認

🛡️ Generated with Claude Code
2025-08-30 08:54:15 +09:00

2.5 KiB
Raw Blame History

[Archived] 旧10.1系ドキュメントです。最新は ../INDEX.md を参照してください。

Phase 10.1f - テストとベンチマーク

🎯 このフェーズの目的

Differential Testingでバグを発見し、性能向上を検証する。

🧪 Differential Testing戦略

1. テストフレームワーク

pub fn differential_test(code: &str) -> TestResult {
    // CPythonで実行オラクル
    let python_result = capture_python_execution(code)?;
    
    // Nyashで実行
    let nyash_result = execute_with_pythonparser(code)?;
    
    // 結果比較
    compare_results(python_result, nyash_result)
}

2. 比較項目

  • 標準出力 - print文の結果
  • 戻り値 - 関数の返す値
  • 例外 - エラーメッセージ(正規化後)
  • 副作用 - グローバル変数の変更等

3. テストコーパス

test_corpus/
├── basic/          # 基本構文テスト
├── stdlib/         # 標準ライブラリから抜粋
├── pypi_top100/    # 人気ライブラリから抜粋
└── edge_cases/     # エッジケース集

📊 ベンチマーク

1. 性能測定対象

# 数値計算ベンチマーク
def mandelbrot(max_iter=100):
    # フラクタル計算
    pass

# ループベンチマーク  
def sum_of_primes(n):
    # 素数の和
    pass

# 再帰ベンチマーク
def ackermann(m, n):
    # アッカーマン関数
    pass

2. 測定項目

  • 実行時間 - CPython vs Nyash
  • メモリ使用量 - 最大/平均
  • コンパイル時間 - AST変換時間
  • フォールバック率 - 関数別統計

🐛 バグ発見と報告

発見されたバグの例

[BUG-001] for/else semantics mismatch
  Python: else executed when no break
  Nyash: else never executed
  Fixed in: commit abc123

[BUG-002] Division operator difference  
  Python: 5/2 = 2.5 (float)
  Nyash: 5/2 = 2 (integer)
  Fixed in: commit def456

完了条件

  • Differential Testingフレームワークが動作する
  • 基本的なテストコーパスが準備されている
  • 10個以上のバグを発見・修正
  • ベンチマークで2倍以上の高速化を確認
  • CI/CDパイプラインに統合されている

📈 成功の測定

  • カバレッジ率: 70%以上の関数がコンパイル
  • 性能向上: 純Pythonループで2-10倍
  • バグ発見数: Phase毎に10件以上
  • テスト成功率: 95%以上

⏭️ 次のフェーズ

→ Phase 10.1g (ドキュメント作成)