NB-076
|
943ec8ad17
|
fix: L1キーワード部分文字列FPを修正 - CALL/MAP/SYSIN/EXEC SQL
第三者監査で発見された4つの変数名起因のFPを修正:
FP1: WS-CALL-COUNT → 子程序调用(変数名にCALL)
FP2: WS-MAP-FIELD → online(変数名にMAP)
FP3: 01 SYSIN PIC X(80) → SYSIN(変数名がSYSIN)
FP4: DISPLAY 'EXEC SQL...' → DB操作(文字列リテラル内)
対策:
- CALL: re:\s*CALL\s (行頭のCALL文のみ)
- EXEC SQL: re:(?:\n|^)\s*EXEC\s+SQL(行頭でのみ)
- SYSIN: re:\s*ACCEPT\s+\S+\s+FROM\s+SYSIN(FROM SYSIN形式限定)
- MAP: L1ルールから削除(DFHCOMMAREAのみに)
- CI01サンプル: WS-COMMAREA→DFHCOMMAREAに修正
回帰: 767 passed(0 new failures)
|
2026-06-21 20:27:16 +08:00 |
|
NB-076
|
ecf3c1cd61
|
fix: HINA全类型テスト35/35通過 + WRITE AFTER/CSV バグ修正
本物のCOBOL技術者による全タイプ検証:
発見・修正されたバグ:
1. WRITE AFTER/BEFORE L1キーワードが実COBOLで決してマッチしない
- 旧: 'WRITE AFTER'(文字列一致)→ 実COBOL: 'WRITE レコード名 AFTER'
- 新: re:WRITE\s+\S+\s+AFTER\s+(正規表現)
2. CSV分割検出の正規表現が壊れていた
- 旧: r"INSPECT...REPLACING...'," (コンマ引用符コンマ)
- 新: r"INSPECT...REPLACING...','" (引用符コンマ引用符)
全35タイプの分類結果:
マッチング系(7): ✅ 全7/7 マッチング/項目チェック
キーブレイク系(1): ✅ 項目チェック(重複含む)
条件分岐系(2): ✅ 全2/2
編集処理系(1): ✅ 編集処理(校验)
データベース系(1): ✅ DB操作
データ分割系(1): ✅ DIVIDE_100.0
項目チェック系(1): ✅ 項目チェック(重複含む)
内部処理系(1): ✅ 内部処理
オンライン系(1): ✅ オンライン(CICS)
SORT/MERGE(2): ✅ SORT + MERGE
L1直結型(11): ✅ 全11/11
ルールエンジン(6): ✅ 全6/6
回帰: 767 passed(0 new failures)
|
2026-06-21 16:54:04 +08:00 |
|
NB-076
|
cdba324b5a
|
fix: HINA 全类型缺陷修复 — SORT/CSV/ALT 3 个真实缺陷
对抗性全类型测试发现的缺陷和修复:
缺陷1: SORT/MERGE L1 关键词太严格(漏检)
- 旧: 'SORT ON KEY' / 'MERGE ON KEY'(精确字符串)
- COBOL 中的真实写法: SORT WORK-FILE ON ASCENDING KEY ...
- 新: 正则 SORT(?:\s+\S+)?\s+ON\s+(?:ASCENDING|DESCENDING)?KEY
缺陷2: CSV 假阳性(STRING/INSPECT 非CSV也触发)
- 旧: has_string=True -> CSV合并
- 新: 要求 has_csv_merge(STRING+逗号分隔)
- 单纯字符串拼接不再触发 CSV 分类
缺陷3: ALTERNATE RECORD KEY 被 ORGANIZATION IS 覆盖
- 旧: 文件编成先于替代索引(同确信度先者胜)
- 新: 替代索引放前面(更具体的分类优先)
回归: 767 passed(0 new failures)
|
2026-06-21 15:51:30 +08:00 |
|
hangshuo652
|
bc1d56d1a4
|
feat: Phase 2 complete — 13 Phases of COBOL type classification and test benchmark
P0.6: gcov infrastructure
P1: extract_structure output expansion (11 new feature fields)
P2: Confusion group rule engine (8 pairs + contradiction + backtrack)
P3: 4-factor confidence calculation + quality gate update
P4: 33+2 COBOL program type test samples (22 files, 7 categories)
P5: parametrized/ test data generation engine
P6: japanese_data.py lookup tables
P7-10: Type-specific test suites (~159 parametrized tests)
P11: Full classification pipeline (classify_program) + orchestrator integration
P12: Documentation (module-interfaces, test-plan v3.0, coverage-matrix)
Architecture decisions:
- classification_pipeline/ merged to hina/pipeline/
- parametrized/ as independent module
- japanese_data.py as root-level file
- hina/__all__ only exports classify_program()
Co-Authored-By: Claude <noreply@anthropic.com>
|
2026-06-19 23:51:55 +08:00 |
|