ユースケース:影響分析
影響分析とは、変更を行う(行った)箇所がソフトウェア全体にどのような影響を与えるかを明らかにし、変更の範囲やテストの範囲を特定する分析手法のことです。
例えば、何年にも渡ってメンテナンスされたレガシーなコードや、自身が担当していないコードを修正するような場合、影響分析を行うことで、変更のコストを削減しつつ、ソフトウェアの品質を維持することができます。
ここでは、Understandを用いた実践的な影響分析の方法をご紹介します。
影響分析に関する導入事例はこちら>>
例えば、何年にも渡ってメンテナンスされたレガシーなコードや、自身が担当していないコードを修正するような場合、影響分析を行うことで、変更のコストを削減しつつ、ソフトウェアの品質を維持することができます。
ここでは、Understandを用いた実践的な影響分析の方法をご紹介します。
影響分析に関する導入事例はこちら>>
課題
- 変更がどの範囲まで影響するのか分からない
- 修正すべき箇所が漏れていたことがある
- テストすべき箇所が漏れていたことがある
原因
コードの可読性が低い例:何年にも渡ってメンテナンスされたレガシーなコードである
コードを理解していない、目視による確認の限界
例:自身が担当していないコードの修正を行う必要が生じた
解決策
Understandは、C/C++、Java、VB.NET、C#、Python、JavaScript、TypeScriptなどで開発されたプログラムを高速解析することができます。Understandは、ビルド環境がなく、コンパイルできないソースコードであっても、ある程度の解析結果を得ることができます。
また、C/C++においては関数ポインターによる関数の呼び出しやポインター変数のアドレス操作の解析も行うことができます。
以下にUnderstandを使った、影響分析の手順の一部をご紹介いたします。
エンティティの呼び出し/被呼び出し関係を確認し、修正対象の関数、変数の影響範囲を把握します。
エンティティの呼び出し/被呼び出し関係を確認し、修正対象の関数、変数の影響範囲を把握します。
1.修正する関数の呼び出し関係を確認する
ポイント
- 修正対象の関数Aが依存している関数を確認
- 修正対象の関数Aから、別の修正対象の関数への到達経路があるか確認
2.修正する関数の被呼び出し関係を確認する
ポイント
- 修正対象の関数Aが依存している関数を確認
- 修正対象の関数Aから、別の修正対象の関数への到達経路があるか確認
3.修正する関数の呼び出し関係と、関連するグローバル変数の参照関係を一度に確認する
ポイント- 修正対象の関数Aが依存している関数・変数を確認
- 関数Aが、ある変数を利用する経路があるか確認
4.修正するグローバル変数の参照位置を確認する
ポイント- 変数の変更によって影響を受ける直接の関数を確認
5.修正するグローバル変数を使用している関数と、その呼び出し関係を確認する
ポイント- 変数の変更によって影響を受ける、直接および間接的な関数を確認
6.修正するグローバル変数がどのように使われてきたのかを追跡し確認する
ポイント- 変数にどこでどんな値が入りうるか、より詳細を確認
関連情報のご紹介
影響分析のユースケースについて、操作動画や関連セミナーをまとめております。是非お役立てください。
- 動画:Understand操作動画(YouTube)
- セミナー:Understand 活用セミナー(中級編) - [構造解析編]
- 関連ソリューション:影響分析ソリューションページ(関連ツールLattixとの組み合わせ活用)
導入事例
パナソニックスマートファクトリーソリューションズ株式会社様
パナソニックスマートファクトリーソリューションズが実践するソフトウェアの持続的価値向上に対する取り組み
流用開発における影響範囲の見極めと影響範囲の局所化手法に焦点をあて、実践してきた取り組みについてご紹介いたします。
※導入事例の詳細をご確認いただきたい方は、以下のお申し込みフォームよりお願いします。
イベント・セミナー
ニュース・キャンペーン
ソースコード解析ツール Understandに
関するお問い合わせ
テクマトリックス株式会社
東京本社ソフトウェアエンジニアリング事業部
03-4405-7853
- メールでのお問い合わせ
- scitools-info@techmatrix.co.jp