- NIST CCVS85は459本の連邦COBOL適合性テスト。40年分の地雷原
- ほとんどのCOBOL変換ツールはこの名称に一切触れない。GnuCOBOLですらEXEC CICS/SQL入りは0-6%しか受理できない
- 「実資産は方言とCICSが大事だからCCVSは不要」というのは論理のすり替え。できないから言及しない
- SlimeCOBOLはNIST 459 + 自社金融42 = 501/501を100.000% bit-exactで通過。人手ゼロ、目視レビュー例外ゼロ、手書き書き直しゼロ。改竄検知シール付き
- 加えて14方言自動検出、方言検証18/18 bit-exact、外部11コーパス919ファイル×5言語=4,595/4,595 byte-exact
1. よく聞く便利な言い訳
COBOL移行の打ち合わせで必ず出るフレーズがあります。
「NIST CCVS85なんて古い。実資産は方言やCICSが重要だから必要ない」
合理的に聞こえます。しかしこれは典型的な「できない」を「必要ない」に言い換えるレトリックです。
2. NIST CCVS85とは何か
NIST CCVS85 (FIPS 21-3)は、米国連邦政府がCOBOLコンパイラを認証するために作った公式適合性スイートです。
- 459プログラム
- 詰め込み小数(COMP-3)のオーバーフロー、符号ビットの反転バリエーション、SIZE ERROR / GIVING / multi-targetの組み合わせ、REPORT WRITERのレアな組み合わせ
- つまり、仕様書を読んだだけでは絶対に気づかない40年間の実装の差異の集積
IBM、富士通、日立が何年も専任チームを張って潰してきた領域です。
3. なぜベンダーは言及しないのか
数字で見ると明らかです。
| 処理系 | 対象 | 受理率 |
|---|---|---|
GnuCOBOL -std=cobol2014
|
Defects Suite | 35% |
GnuCOBOL -std=ibm / -std=mf
|
Defects Suite | 75% |
| GnuCOBOL | EXEC CICS / EXEC SQL入り (CBSA/carddemo等) | 0-6% |
| SlimeNENC | NIST 459 + Portfolio 42 = 501 | 501/501 = 100.000% プログラム単位 bit-exact |
vanillaなコンパイラですらEXECが入ると6%しか受理できない。CCVS85の地雷を踏まずに「方言対応」を語るのは、基礎工事をスキップして内装の話をするのと同じです。
合格できないから、言及しない。それだけです。
4. 「方言こそ重要」は本当か?
これは半分正しく、半分すり替えです。
正しいのは、実資産には確かにIBM Enterprise / z/OS、Burroughs/Unisys、日立OpenTP1などの方言差があること。
すり替えなのは、「だからCCVSは不要」という結論です。論理的にはこうなるはずです:
- 数値核をbit-exactにできない → どの方言でも1円ズレる
- 数値核をbit-exactにできる → その上で方言差分を吸収できる
順序が逆なのです。
SlimeCOBOLはこの順序を守りました。
- 5 SKU umbrella: lineage別にS1 tokenizerのみ特化、Slot IR + S2-S9 + 5言語emitは完全共有。狭く硬いscope claim
- 14方言自動検出: 識別子マーカー分類でIBM / Burroughs / Unisys / Hitachi OpenTP1などを自動判定
- 方言検証: 18/18 dialect-verify × 5言語 = 90/90 cells bit-exact、Round-trip token-exact
「方言が大事だからCCVSは不要」は、CCVSに受かって、14方言も自動検出して、初めて言えるセリフです。
5. SlimeCOBOLは何をやったか
2026-05-20時点の実測値です。サンプリングなし、全数監査です。
- NIST CCVS85 459 + Portfolio Mgmt 42 = 501/501 = 100.000% プログラム単位 bit-exact
-
外部11コーパス 919ファイル × 5言語 = 4,595/4,595 = 100.000% byte-exact
- 内訳: AWS CardDemo 44、IBM CBSA 29、Rocket BankDemo 81、ACAS 3.01.07 production 10万行 137ファイル含む
- 人手ゼロ: ビジュアルレビュー例外ゼロ、「ここだけ手書きで直す」ゼロ
- 監査適合: 全変換にAudit chain(FNV-1a-64 hash-chain)で改竄検知シール付与、Round-tripでトークン完全一致
- 決定論: 同一入力+同一バージョンでSHA-256完全一致。LLMは構築時のみに使用、ランタイムはルールベース
- 性能: median 62ms / p95 145ms / O(N)
-
再現コマンド:
wasmtime run --dir=. java_emit.wasm < input.cbl | sha256sumでELF直接実行とWASI経由が一致することを第三者が再現可能
監査に耐える、1円も狂わないCOBOL → Java / Rustトランスパイラ。変換後コードもRound-tripで完全に戻せる
これが「第3の道:決定論的トランスパイル」の中身です。
6. なぜCCVS85に受かることが実資産で効くのか
CCVS85は古いテストだから実務に関係ない、と思われがちですが、逆です。
実資産のバグの9割は数値核です。COMP-3の10進9桁と10桁の境界、符号ニブル0xC/0xD/0xFの扱い、ON SIZE ERRORの発火条件。これが1ビットずれると利息計算で1円ズレる。1円ズレると監査で止まる。
方言やCICSは、その数値核が正しいという前提の上に乗る「配線」です。配線だけ綺麗にしても、核が1ビットずれたら全損です。
だから私たちは40年分の地雷原を、人手を介さず歩きました。
7. まとめ
業界への問いです。
業界はいつまで「できない」を「必要ない」と呼び続けるのでしょうか?
CCVS85という客観的な物差しがある。459本という誰でも検証可能な地雷原がある。それを語らずに「方言が重要」「CICSが重要」と言うのは、測定から逃げているだけではないか。
私たちは測定しました。501/501。4,595/4,595。14方言自動検出。18/18。
できないなら、できないと言えばいい。その上でどう超えるかを議論すればいい。「必要ない」という言い訳は、もう通用しません。
製品: SlimeCOBOL-MF / SlimeCOBOL-GnuCOBOL RELEASED、MicroFocus / RM / ACUは案件先行受付
特許: 特願 2026-046620 SlimeNENC family (Core64+Ext32固定bit Slot IR)
検証: NIST CCVS85 + Portfolio Mgmt + 外部11コーパス、WASI 40.0.0で第三者再現可能
詳細: https://www.javatel.co.jp/ja/products/slimenenc/slimecobol/
#COBOL #Mainframe #Modernization #NIST #CCVS85 #LegacyMigration