ユースケース:ドキュメント作成

ドキュメント作成とは、詳細設計書の作成作業のことです。

例えば、何年にも渡ってメンテナンスされたレガシーなコードや、自身が担当していないコードを後任の担当者に引き継ぐとき、また実装中のコードの仕様書を残す場合に、仕様書の作成や修正がおろそかになり、コードだけが修正されてしまうケースがあります。
ここでは、Understandを用いて、手作業を省いた、実践的なドキュメント作成を行う方法をご紹介します。

ドキュメント作成の関連資料はこちら>>

課題

  • ドキュメントがない
  • ドキュメントが更新されておらず、ソースコードの実体と乖離している

原因

ドキュメントの修正ルールがない
例:ソースコードの修正時に、ドキュメントを修正する運用が定着していない

前任の担当者が不在
例:前任の担当者がドキュメントを更新せず異動してしまい作成に工数がかかる

解決策

Understandは、C/C++、Java、VB.NET、C#、Python、JavaScript、TypeScriptなどで開発されたプログラムを高速解析することができます。

Understandは、ビルド環境がなく、コンパイルできないソースコードであっても、ある程度の解析結果を得ることができます。
また、C/C++においては関数ポインターによる関数の呼び出しやポインター変数のアドレス操作の解析も行うことができます。

1.Understandでソースコードを解析する

ポイント
  • 定期的にドキュメント作成をするためにコマンドラインで解析を行う準備をする

Understandの機能

はじめに、ソースコードをインプットに新規プロジェクトを作成します。
新規プロジェクト作成は、UnderstandのGUIや、コマンドライン(und コマンド)からも実施可能です。プロジェクト作成には、Visual Studioのソリューションファイルをインポートする方法や、gccのビルド結果を元に作成する手段もあります。

2.Understand APIを利用する

ポイント
  • 今回は、Understand APIの中で、Python APIを利用する
  • Understand APIが利用できるライセンス(フローティング with API)を使用する

Understandの機能

ドキュメントの自動作成を実施するためには、(Understand API)というUnderstandが解析したデータベース(UDBファイル)から、任意の情報を抽出するための仕組みを利用します。
ソースコード上に特別な記述をせずとも、以下の情報を抽出することが可能です。

  • 各要素のクロスリファレンス情報
  • 各要素のグラフィカルビュー
  • 各要素のメトリクス情報
  • 各要素のコード内のコメント

Understand APIは、サンプルのスクリプトが用意されており、その仕様やサンプルについては、以下で確認することができます。

%Understandインストールフォルダ%¥scripts


API機能の詳細については、こちらをご参照ください。

3.サンプルスクリプトを用いてドキュメントを作成する

ポイント
  • テクマトリックスが用意したサンプルスクリプトを利用する

Understandの機能

サンプルスクリプトを用いて、ドキュメント作成を行うことができます。
サンプルスクリプトではControl Flowグラフを表示しておりますが、Understandではさまざまな図を表示することが可能です。

4.生成AI機能を活用して関数などの概要説明を生成する

ポイント
  • 生成AI機能を利用し、関数などの要素(ファイル、クラス、関数など)の概要説明を生成する
  • 生成した概要説明を情報ブラウザーやアノテーション(注釈)に表示する
  • 生成した概要説明をグラフ上のアノテーションやUnderstand APIを用いたカスタムレポートで表示する

Understandの機能

AI Description Generatorにより、Understandの分析結果と生成AIを統合し、要素(ファイル、クラス、関数など)の概要説明を生成します。
生成された説明は、Understandの情報ブラウザーとアノテーション(注釈)に表示されます。このアノテーションはフロー
チャートなどのグラフ上や、ドキュメント内に表示をすることが可能です。

  • AI分析は、Ollama(大規模言語モデルLLMをローカル環境で実行できるオープンソースのツール)を用いてLlama3モデルによって実行されます。これにより、ソースコードを外部に送付することなく、AI機能を利用いただけます。
  • セットアップスクリプト(モデルのダウンロードとインストール)を実行するには、インターネット接続が必要です。
  • 日本語モデルをインストールし、プロンプトを日本語で設定することにより、日本語の概要説明も生成可能であることを確認しています。

関連資料のご案内

過去に開催したソフトウェア品質向上セミナーの講演資料をご案内します。資料は、セミナーにご登壇いただいた企業様の品質向上に関する取り組みをご紹介しています。
資料をご希望の方は、申込フォームよりお申し込みください。

パナソニック アドバンストテクノロジー株式会社様

パナソニック アドバンストテクノロジー株式会社が実践するUnderstandを用いた構造的リスクの効果的な抽出手法とは?

他社開発や受託開発における構造的リスクを抽出するため、Understandを用いた構造解析結果を元にしたメトリクス分析の自動化、リバースエンジニアリングツールの整備し、啓発活動などもおこないながら解析の効率化を図った取り組みについてご紹介いたします。

ソースコード解析ツール Understandに
関するお問い合わせ

  • テクマトリックス株式会社
    東京本社

    ソフトウェアエンジニアリング事業部

    03-4405-7853

メールでのお問い合わせ
scitools-info@techmatrix.co.jp

お問い合わせ

製品についてやテクマトリックスについてなど、
こちらよりお気軽にお問い合わせいただけます。