NTT、設計書とコードのずれを検出する技術──既存システムのAI活用へ、テスト不足も補完

NTTは10月23日、既存システムの仕様書や設計書、コード、テストの対応関係を整理し、
生成AIが理解・活用しやすい状態に変換する技術を確立したと発表した。
文書とコードの不整合を検出・補完する技術と、
不足するテストを自動生成する技術を組み合わせる。
今後、実際の開発・保守案件への適用を進め、実用化を目指す。

背景──長年の改修で、設計書と実際の動作がずれる

発表によると、ソフトウェア開発の約6割は、
既存システムの改修・保守・再開発などの追加開発が占める。
この割合は『ソフトウェア開発分析データ集2022』に基づくものだ。
NTTは、新規開発だけでなく、追加開発でも生成AIによる生産性向上が求められるとしている。

長年使われるシステムでは、
改修を重ねるうちに設計書とコードが一致しなくなることがある。
開発者は修正箇所や他機能への影響を調べる必要があり、
生成AIにとっても構造や仕様を正確に理解することが難しくなる。
テストが十分に整備・自動化されていない場合は、変更後の検証にも手間がかかる。

仕組み──成果物のつながりと、確認していない条件を整理する

一つ目の「トレーサビリティ解析技術」は、
仕様書、設計書、コードなどを機能単位に整理し、
対応関係を構造化するものだ。
会議ログなどの開発意図に関する情報も対象に含み、
要求工学に関するISOなどの国際標準・ガイドラインを基に整理する。
文書ごとの情報量や粒度の違いをそろえて関係を判定し、
工程間の不整合や記載漏れを検出・補完する。

二つ目は、テストを自動生成する技術だ。
仕様・設計・コードとISO品質特性に基づいて確認すべき観点を整理し、
既存テストが確認している領域と不足する領域を可視化する。
異常時の動作、境界値、条件の組み合わせ、
機能間で連携するときの振る舞いなどの不足部分を、
決定表などのテスト技法を使って補い、
自動実行できるテストを生成する。

予備実験──埋め込んだ誤り41件のうち33件を検出

評価には、Macchinetta Frameworkのサンプルアプリケーション
「ATRS」を用いた。
対象のコード規模は約3万2千行だ。
設計書に意図的に埋め込んだ矛盾や抜け漏れ41件に対し、
関連文書を検索・参照する従来手法のRAGでは11件、
提案手法では33件を検出した。
検出率は、それぞれ27%と80%だった。

テスト生成の評価では、意図的に埋め込んだバグ6件のうち4件を検出した。
さらに、あらかじめ埋め込んだものとは別に、
入力検証やエラーメッセージに関係する潜在バグを3件見つけた。
仕様書などから生成AIで直接テストを生成した場合には、
これらのバグはいずれも検出できなかったという。
数値は、このサンプルアプリケーションを使った予備実験の結果だ。

今後──実際の開発・保守で、改修から検証までを試す

NTTは、規模や特性の異なるシステムへの適用評価を進める。
対象とする文書やプログラミング言語などを拡充し、
システムの理解、変更の影響範囲の特定、改修、
テスト生成・実行までを生成AIと連携して進める有効性を検証する。
研究成果は、11月18〜25日の「NTT R&D FORUM 2026」に展示予定だ。

LC Signalの視点──AIに渡す前に、既存資産の食い違いを整理する

今回の予備実験では、関連文書を参照するだけの場合と、
仕様・設計・コードの対応関係を整理した場合で、誤りの検出結果が変わった。
AIによる改修を進める際には、何を読ませるかに加え、
文書同士やコードとのつながりをどう整えるかも重要になりそうだ。


主要情報源

本記事は2026年10月24日時点の公開情報に基づき、AIを活用して作成しています。
発表日は公式ページの日付表記に従っています。
予備実験で確認した結果と、今後の実用化に向けた計画を区別して記載しています。
「LC Signalの視点」は、公開情報を踏まえた本メディアの考察です。

LC Signal の記事一覧へ戻る