最新情報

NTT、設計書とコードの不整合をAIで検出 精度80%

記事のイメージ:NTTは10月23日、既存システムの設計書・コード・テストの対応関係を整理し、生成AIによる改修を支援する技術を発表

NTT株式会社は2026年10月23日、長年運用されてきたシステムの仕様書、設計書、ソースコード、テストを結び付け、生成AIが既存ソフトウェアを理解・改修しやすくする研究成果を発表した。資料と実装の食い違いや、テストで確認できていない条件を自動的に洗い出す。新規開発だけでなく、改修や保守が続く業務システムにもAIを適用するための基盤技術と位置付けている。

既存システムでは、改修の積み重ねによって設計書の記述と実際の動作が一致しなくなることがある。変更の理由が会議記録にだけ残り、テストには反映されていないケースも想定される。単に関連文書を検索してAIに読ませるだけでは、何が正しい仕様で、どの機能に影響するのかを把握しにくい。NTTは、成果物同士の対応関係を明示することが必要だと説明している。

設計書とコードを機能単位で対応付け

第一の柱は「トレーサビリティ解析技術」。会議ログや仕様書、設計書、コードなどを機能単位で整理し、情報の粒度をそろえて関連付ける。文章を固定の長さで区切るのではなく、機能との関係を評価して分割範囲を調整するのが特徴だ。こうして作った対応関係を基に、設計内容の抜けやコードとの矛盾を検出・補完し、生成AIが参照できる構造化情報に変える。

第二の柱は「網羅的なテスト自動生成技術」。既存のテストがどの機能や条件を確認しているかを整理し、未検証の領域を可視化する。正常系だけでなく、異常系、境界値、複数条件の組み合わせ、機能間の連携といった観点も対象にする。不足が見つかれば決定表などのテスト技法を用いて、自動実行できるテストを生成する仕組みだ。既存のテスト資産を捨てずに不足分を補う狙いがある。

予備実験では41件中33件の誤りを検出

NTTはMacchinetta Frameworkのサンプルアプリ「ATRS」を使って予備実験を実施した。設計書に意図的に仕込んだ41件の誤りについて、従来のRAGを用いた方法は11件、検出率27%だったのに対し、提案手法は33件、80%を検出した。ただし、これは特定のサンプルと実験条件で得られた結果であり、あらゆる業務システムで80%の検出精度を保証するものではない。

テスト生成の評価では、意図的に埋め込んだ6件のバグのうち4件を検出し、さらに別の潜在バグ3件も発見した。潜在バグは入力検証やエラーメッセージなど、従来のテストが十分に確認していなかった部分にあったという。NTTによれば、仕様書などから生成AIに直接テストを作らせる方法では、これら3件の潜在バグは見つからなかった。テスト観点の体系化が結果に寄与したと分析している。

実際の保守案件で有効性を検証へ

今後は対象とする言語や成果物、品質観点を広げ、実際の開発・保守案件でシステム理解から影響調査、改修、検証までを連携させる。研究成果は11月18~25日の「NTT R&D FORUM 2026」で展示予定。現段階で一般向け製品の提供開始や、導入費用は発表されていない。実運用では誤検出・見逃しの評価に加え、AIが提案した変更を人間がどう検証するかも重要な論点になる。

みんなの反応

55件
  1. 設計書と実装がズレる問題、どこの現場にもありそう

  2. 41件中33件なら、見逃した8件の傾向も知りたい

  3. RAGだけより検出率が上がるのは興味深い

  4. テストの抜けを見つける部分が一番助かりそう

  5. 保守案件で使えるならかなり需要ありそう!

  6. 実際の巨大システムでも同じ精度になるのかな

  7. 仕様書が古すぎる案件にも効くんだろうか

  8. コードと設計書を結び付けるのは地味に難しい

  9. 自動修正まで任せるのはまだ慎重にしたい

  10. 正常系だけでなく境界値も見るのは大事

  11. テスト観点を整理する発想は納得できる

  12. 潜在バグ3件を見つけたのは大きいな

  13. 一方で実験対象はサンプルアプリなんだよね

  14. 現場での再現性が確認できてから評価したい

  15. 古い業務システムほど恩恵がありそう

  16. 設計書がない場合はどうするんだろう

  17. 仕様が矛盾していたらどちらを正とするの?

  18. 結局レビューする人の知識は必要そう

  19. 既存テストを活かせるのが良いポイント

  20. テストコードの品質もチェックできるのかな

  21. 運用で蓄積した暗黙知を拾えると強い

  22. 仕様変更の影響調査に使ってみたい

  23. AIが誤った対応関係を作るリスクもある

  24. 27%から80%は差がかなり大きいね

  25. 比較条件をもっと詳しく公開してほしい

  26. バグ検出4件という数字は慎重に見るべき

  27. 人が見落としたケースを拾えるなら便利

  28. 修正提案と自動適用は分けてほしい

  29. 導入時に文書を整備する手間が気になる

  30. 既存システムの保守こそAIを使いたい

  31. この分野は派手さより信頼性が重要だと思う

  32. 仕様書とコードの不一致、あるあるすぎるw

  33. レビュー工数がどれくらい減るか知りたい

  34. テストの抜けが可視化されるだけでも価値ある

  35. 言語ごとの対応範囲が気になるところ

  36. レガシー言語に対応できるかが鍵になりそう

  37. 変更履歴が欠けたシステムでも使える?

  38. 既存のCIと連携できたら便利そう

  39. 異常系テストの自動生成には期待してる

  40. 大量の資料を読むコストはどの程度だろう

  41. セキュリティ上、社内コードの扱いが心配

  42. オンプレミスで動かせるなら検討しやすい

  43. まだ研究段階という点は忘れたくない

  44. 実案件での結果も公開してほしい!

  45. テストが増えすぎたときの管理はどうなる

  46. 間違った仕様書を正解扱いしないでほしい

  47. 設計意図まで追えるなら助かる現場は多い

  48. 自動化しても最終判断は人間が必要かな

  49. 単純なコード補完より現場への影響は大きそう

  50. 開発者より保守担当が喜ぶ技術かもしれない

  51. テスト技法を組み合わせるのが面白い

  52. コード解析の精度と速度を両立できるかな

  53. 本番障害を減らせるなら導入価値は高い

  54. 既存資産を捨てずに使う方向性は良い

  55. NTTの今後の実証結果を追いたい

情報元

#AI-Ready #NTT #ソフトウェア保守 #テスト自動生成 #トレーサビリティ解析 #既存システム #生成AI

同じ話題の記事

共通するタグが確認できる記事を、公開日の古い順に掲載しています。

あなたもコメントする ↓

JOIN THE CONVERSATION

あなたはどう思う?

コメントは投稿後すぐに公開されます。個人情報や不適切な内容は投稿しないでください。

コメント

まだコメントはありません。