(57)【要約】【課題】本発明は静的分析道具統合管理装置及びシステムに関する。【解決手段】本発明の静的分析道具統合管理システムは、分析対象プログラムを静的分析する複数の静的分析道具及びユーザーから静的分析道具を分析するための統合設定形式で初期設定情報の入力を受け、静的分析道具の初期設定形式に変換して伝送する道具設定モジュールと、静的分析道具の分析結果を受信し、共通分析結果形式に変換して出力する結果出力モジュールと、ユーザーから分析設定情報の入力を受け、上記静的分析道具の分析設定形式に変換して伝送する分析設定モジュールと、上記静的分析道具の分析遂行管理、上記静的分析道具そのものの設定管理または上記静的分析道具の検証規則管理のうち１つ以上の機能を含む実行管理モジュールを有する静的分析道具統合管理装置を含む。【選択図】図４
2011129121.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーから静的分析道具を分析するための統合設定形式で初期設定情報の入力を受け、静的分析道具の初期設定形式に変換して伝送する道具設定モジュールと、
静的分析道具の分析結果を受信し、共通分析結果形式に変換して出力する結果出力モジュールと、
ユーザーから分析設定情報の入力を受け、静的分析道具の分析設定形式に変換して伝送する分析設定モジュールと、
静的分析道具の分析遂行管理、静的分析道具そのものの設定管理または静的分析道具の検証規則管理のうち、１つ以上の機能を含む実行管理モジュールを含む静的分析道具統合管理装置。
【請求項２】
上記道具設定モジュールは、
上記ユーザーに上記静的分析道具を統合的に設定できる設定環境を提供する設定インターフェースと、
上記設定インターフェースから上記統合設定形式の初期設定情報の送信を受け、上記静的分析道具の初期設定形式に変換して該当静的分析道具に伝送する設定形式変換器を含むことを特徴とする請求項１に記載の静的分析道具統合管理装置。
【請求項３】
上記設定インターフェースは上記初期設定情報を統合設定形式で保存し、
上記設定形式変換器は上記静的分析道具に適する設定形式に対する情報を保存していることを特徴とする請求項２に記載の静的分析道具統合管理装置。
【請求項４】
上記結果出力モジュールは、
上記分析結果を共通分析結果形式に変換する結果形式変換器と、
上記変換された分析結果をユーザーが要求または設定した方式で出力する出力インターフェースを含むことを特徴とする請求項１に記載の静的分析道具統合管理装置。
【請求項５】
上記結果出力モジュールは、
上記結果形式変換器から変換された分析結果を受信し、
上記分析結果の優先順位の調整、上記分析結果に基づく追加分析の遂行、または上記分析結果中の重なる分析結果の整理作業のうち、１つ以上の作業を行う結果分析エンジンをさらに含むことを特徴とする請求項４に記載の静的分析道具統合管理装置。
【請求項６】
上記分析設定モジュールは、
上記ユーザーに上記静的分析道具を統合的に分析設定できる分析設定環境を提供する分析設定インターフェースと、
上記分析設定インターフェースから上記分析設定情報の送信を受け、上記静的分析道具に適する分析設定形式に変換して該当静的分析道具に伝送する分析設定形式変換器を含むことを特徴とする請求項１に記載の静的分析道具統合管理装置。
【請求項７】
上記分析設定インターフェースは上記分析設定情報を統合分析設定形式で保存し、
上記分析設定形式変換器は上記静的分析道具に適する分析設定形式に対する情報を保存していることを特徴とする請求項６に記載の静的分析道具統合管理装置。
【請求項８】
上記実行管理モジュールは、
上記ユーザーから静的分析道具の実行管理に関する統合実行命令形式の実行管理命令の入力を受け、上記実行管理状況をユーザーにモニタリングする実行管理インターフェースと、
上記実行管理インターフェースから上記統合実行命令形式の実行管理命令を受信し、上記静的分析道具の実行命令形式に変換して伝送する管理命令形式変換器を含むことを特徴とする請求項１に記載の静的分析道具統合管理装置。
【請求項９】
上記管理命令形式変換器は、上記実行管理命令を分析し検証規則別に分析を行う静的分析道具を選択することを特徴とする請求項８に記載の静的分析道具統合管理装置。
【請求項１０】
分析対象プログラムを静的分析する複数の静的分析道具と、
ユーザーから静的分析道具を分析するための統合設定形式で初期設定情報の入力を受け、静的分析道具の初期設定形式に変換して伝送する道具設定モジュールと、静的分析道具の分析結果を受信し、共通分析結果形式に変換して出力する結果出力モジュールと、ユーザーから分析設定情報の入力を受け、上記静的分析道具の分析設定形式に変換して伝送する分析設定モジュールと、上記静的分析道具の分析遂行管理、上記静的分析道具そのものの設定管理または上記静的分析道具の検証規則管理のうち１つ以上の機能を含む実行管理モジュールを有する静的分析道具統合管理装置を含むことを特徴とする静的分析道具統合管理システム。
【請求項１１】
上記複数の静的分析道具は、１つ以上のネットワーク装備に分散して設置されていることを特徴とする請求項１０に記載の静的分析道具統合管理システム。
【請求項１２】
上記複数の静的分析道具と上記静的分析道具統合管理装置の間に、静的分析道具用エージェントまたはネットワーク連結装置をさらに含むことを特徴とする請求項１０に記載の静的分析道具統合管理システム。
【請求項１３】
上記実行管理モジュールは、
上記分散して設置された複数の静的分析道具が並列的に分析を処理できるように分析事項または規則等を上記複数の静的分析道具に分配することを特徴とする請求項１１に記載の静的分析道具統合管理システム。
【請求項１４】
上記道具設定モジュールは、
上記ユーザーに上記静的分析道具を統合的に設定できる設定環境を提供する設定インターフェースと、
上記設定インターフェースから上記統合設定形式の初期設定情報の送信を受け、上記静的分析道具の初期設定形式に変換して該当静的分析道具に伝送する設定形式変換器を含むことを特徴とする請求項１０に記載の静的分析道具統合管理システム。
【請求項１５】
上記結果出力モジュールは、
上記分析結果を共通分析結果形式に変換する結果形式変換器と、
上記変換された分析結果をユーザーが要求または設定した方式で出力する出力インターフェースを含むことを特徴とする請求項１０に記載の静的分析道具統合管理システム。
【請求項１６】
上記分析設定モジュールは、
上記ユーザーに上記静的分析道具を統合的に分析設定できる分析設定環境を提供する分析設定インターフェースと、
上記分析設定インターフェースから上記分析設定情報の送信を受け、上記静的分析道具に適する分析設定形式に変換して該当静的分析道具に伝送する分析設定形式変換器を含むことを特徴とする請求項１０に記載の静的分析道具統合管理システム。
【請求項１７】
上記実行管理モジュールは、
上記ユーザーから静的分析道具の実行管理に関する統合実行命令形式の実行管理命令の入力を受け、上記実行管理状況をユーザーにモニタリングする実行管理インターフェースと、
上記実行管理インターフェースから上記統合実行命令形式の実行管理命令を受信し、上記静的分析道具の実行命令形式に変換して伝送する管理命令形式変換器を含むことを特徴とする請求項１０に記載の静的分析道具統合管理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は静的分析道具統合管理装置及びシステムに関し、具体的には複数のプログラム静的分析道具を使用する環境において、上記複数の静的分析道具を統合的に管理する装置及びシステムに関する。
【背景技術】
【０００２】
静的分析道具とは、プログラムを実際に実行せず、数学的な証明方法と記号的実行等の方法によりプログラムのエラーを検出する方式の分析道具である。静的分析道具はプログラムを実際に実行しないため、プログラムの実行環境を設定する必要がなく、プログラムの開発が完了しない状態でもプログラムのエラーを検出することができるという長所があり、最近では多くのプログラム開発に活用されている。
【０００３】
一般的に、プログラム静的分析道具は静的分析道具を設定するモジュールと、分析結果を出力するモジュールと、分析結果にユーザーの分析結果を設定するモジュールで構成される。
【０００４】
静的分析道具を設定するモジュールは、開発者が対象プログラムを選択し、検証対象の検証規則を選択することができるようにする。
【０００５】
静的分析道具の分析結果を出力するモジュールは、プログラムを分析して得られた分析情報をユーザーに提供する。例えば、プログラムの分析結果としては、如何なる種類のエラーが発生したか、発生したエラーの情報は何か、発生したエラーの重要性はどの程度であるか、分析結果として抽出されたエラーが実際のエラーでない可能性はあるか、またはそのエラーを発生させた根本的な原因や経路情報等がある。
【０００６】
静的分析結果にユーザーの分析結果を設定するモジュールには、エラー情報の確認の有無、または分析結果の正確性等に対するユーザーの検討事項が入力される。これにより、実際には発生しないエラーを区分し、ユーザーの意図的な表現を表示する。これによって、今後、繰り返して分析せずに済む。
【０００７】
様々な常用及び公開静的分析道具が最近開発されている。しかし、各静的分析道具は開発の目的、検証しようとするエラーの種類、検証方式、要約化（ａｂｓｔｒａｃｔｉｏｎ）の程度、分析道具の具現技術または経験的最適化（ｈｅｕｒｉｓｔｉｃ）技術、分析速度等、分析道具の基本哲学の差により各静的分析道具が検出するエラーの種類及びエラーの正確度に差がある。従って、各静的分析道具の優劣を直接比べるのが不可能である。
【０００８】
そのため、１つのプログラムを分析する際、１つの静的分析道具を使用するのではなく、複数の静的分析道具を同時に使用し、相互補完することが好ましい。
【０００９】
しかし、複数の静的分析道具を使用する既存の方法は、それぞれの静的分析道具に関して、設定する段階、分析結果を出力する段階、分析結果に対してユーザーの分析結果を設定する段階が、各個別道具に対して行われるため、重なった作業を行うようになる。
【００１０】
。
図１は、従来の複数の静的分析道具を使用する静的分析道具管理システムの実施例を図示した図面である。
【００１１】
図１を参照すると、静的分析道具Ａ、Ｂ、Ｃを同時に使用するユーザーは、それぞれの静的分析道具に対して、設定、出力、ユーザー分析設定の作業を個別に行わなければならない。検証対象プログラムの選択作業等は各道具に対して同一である。また、同じエラー情報に対するユーザー分析設定の作業もエラー情報を出力した静的分析道具に対し、それぞれ設定しなければならないため、作業が重なる。
【００１２】
その上、ユーザーも、様々な静的分析道具の使い方を覚えるのが簡単ではなく、そのため、各道具を設定する時、間違いを犯すという問題もある。
【００１３】
従来の複数の静的分析道具を使用して発生する問題点は、複数の静的分析道具が見つけたエラーのうち、修正の優先順位を決めることが非常に困難であるということである。勿論、それぞれの静的分析道具が見つけるエラーの、修正の優先順位を決めることはできる。しかし、これは各静的分析道具に対する個別的な優先順位である。すなわち、様々な静的分析道具の結果を統合し、それらに対して全体的な優先順位を決めることは従来の技術では依然として困難である。
【先行技術文献】
【特許文献】
【００１４】
【特許文献１】韓国公開特許 第2009-0041996号明細書
【発明の概要】
【発明が解決しようとする課題】
【００１５】
上記の問題点を解決するための本発明の静的分析道具統合管理装置及びシステムは、複数の静的分析道具を使用する環境において、上記複数の静的分析道具の設定、静的分析道具の分析結果の出力、分析結果のユーザー分析設定の過程を統合的に管理できる静的分析道具統合管理装置及びシステムを提案することを目的とする。
【課題を解決するための手段】
【００１６】
上記の課題を達成するための本発明の一実施例による静的分析道具統合管理装置は、ユーザーから静的分析道具を分析するための初期設定情報の入力を受け、静的分析道具に適する形式に変換して伝送する道具設定モジュールと、静的分析道具の分析結果を受信し、共通分析結果形式に変換して出力する結果出力モジュールと、ユーザーから分析設定情報の入力を受け、静的分析道具に適する形式に変換して伝送する分析設定モジュールと、静的分析道具の分析遂行管理、静的分析道具そのものの設定管理または静的分析道具の検証規則管理のうち、１つ以上の機能を含む実行管理モジュールを含む。
【００１７】
上記の課題を達成するための本発明の一実施例による静的分析道具統合管理システムは、分析対象プログラムを静的分析する複数の静的分析道具と、ユーザーから上記静的分析道具を分析するための初期設定情報の入力を受け、上記静的分析道具に適する形式に変換して伝送する道具設定モジュールと、上記静的分析道具の分析結果を受信し、共通分析結果形式に変換して出力する結果出力モジュールと、ユーザーから分析設定情報の入力を受け、上記静的分析道具に適する形式に変換して伝送する分析設定モジュールと、上記静的分析道具の分析遂行管理、上記静的分析道具そのものの設定管理または上記静的分析道具の検証規則管理のうち、１つ以上の機能を含む実行管理モジュールを有する静的分析道具統合管理装置を含む。
【発明の効果】
【００１８】
上記の本発明の静的分析道具統合管理装置及びシステムによれば、それぞれの静的分析道具をユーザーが個別に設定、管理及び結果分析するのではなく統合的な環境を通じて一括的に複数の静的分析道具を使用することができる。これにより、静的分析道具の正確性を高めて使用性を改善し、分散環境で行われるため、性能も向上させることができるという利点がある。
【図面の簡単な説明】
【００１９】
【図１】従来の複数の静的分析道具を使用する場合の実施例を図示した図面である。
【図２】本発明の静的分析道具統合管理装置を利用した静的分析道具統合管理システムの一実施例を図示した図面である。
【図３】本発明の静的分析道具統合管理装置を利用した静的分析道具統合管理システムの他の実施例を図示した図面である。
【図４】本発明の静的分析道具統合管理装置の機能ブロックを図示した機能ブロック図である。
【図５】本発明の静的分析道具統合管理装置の道具設定モジュールの機能ブロックを図示した機能ブロック図である。
【図６】本発明の静的分析道具統合管理装置の設定インターフェースがユーザーに提供する静的分析道具統合設定画面の一実施例を図示した図面である。
【図７】本発明の静的分析道具総合管理装置の設定インターフェースが共通設定形式で保存したファイルの一例を図示した図面である。
【図８】本発明の静的分析道具総合管理装置の結果出力モジュールの機能ブロックを図示した機能ブロック図である。
【図９】本発明の静的分析道具総合管理装置の分析設定モジュールの機能ブロックを図示した機能ブロック図である。
【図１０】本発明の静的分析道具総合管理装置の実行管理モジュールの機能ブロックを図示した機能ブロック図である。
【図１１】本発明の静的分析道具統合管理装置の実行管理インターフェースがユーザーに提供する静的分析道具統合実行管理画面の一実施例を図示した図面である。
【図１２】本発明の静的分析道具統合管理装置の結果出力モジュールが提供する静的分析道具統合分析結果の出力画面の一実施例を図示した図面である。
【図１３】本発明の静的分析道具統合管理装置の分析設定モジュールが提供する静的分析道具統合分析設定の出力画面の一実施例を図示した図面である。
【発明を実施するための形態】
【００２０】
以下、添付の図面を参照して本発明が属する技術分野で通常の知識を有する者が本発明を容易に実施できる好ましい実施例を詳しく説明する。但し、本発明の好ましい実施例に対する動作原理を詳細に説明するにおいて、係わる公知機能または構成に対する具体的な説明が本発明の要旨を不要に不明確にすると判断される場合はその詳細な説明を省略する。
【００２１】
図面において、本発明を明確に説明するために説明と関係のない部分は省略し、明細書の全体にわたって類似する部分に対しては類似する図面符号を使用する。
【００２２】
また、ある部分がある構成要素を“含む”とは、特に反対する記載がない限り、他の構成要素を除くのではなく、他の構成要素をさらに含むことができるということを意味する。
【００２３】
図２は本発明の静的分析道具統合管理装置を利用した静的分析道具統合管理システムの一実施例を図示した図面である。
【００２４】
図２を参照すると、本発明の静的分析道具統合管理システムは複数の静的分析道具２００及び静的分析道具統合管理装置１００を含んで構成されることができる。
【００２５】
分析の対象であるプログラム３００は、ソースコードや目的コードまたは前処理機を通過した分析対象であり、複数の静的分析道具２００に入力される。
【００２６】
複数の静的分析道具である静的分析道具ＡからＣ２００は、従来使用されているプログラム静的分析道具であることができる。複数の静的分析道具２００は、ユーザーにより設定された情報を利用し、プログラム３００が検証規則に合っているか否か静的分析を行う。
【００２７】
静的分析道具統合管理装置１００は、ユーザーに複数の静的分析道具２００を統一して設定できる統合的なインターフェースを提供し、複数の静的分析道具２００を設定して分析を行うよう命令及び管理し、複数の静的分析道具２００が分析した結果を総合してユーザーに分析結果を出力することができる。また、静的分析道具統合管理装置１００は、ユーザーが上記分析結果を検討した結果を入力すると、これを再び各静的分析道具に伝達する。
【００２８】
ユーザーは、上記の統合管理システムを通じて静的分析結果の報告を受けることができ、ユーザーが分析結果に対して追加分析を行ってユーザーの分析を設定すると、設定値を再び各静的分析道具２００に伝達する。この情報は、今後、各静的分析道具２００が分析を行う際に利用される。
【００２９】
図３は、本発明の静的分析道具統合管理装置を利用した静的分析道具統合管理システムの他の実施例を図示した図面である。
【００３０】
図３を参照すると、静的分析道具統合管理システムは各静的分析道具用エージェント４００をさらに含むことができる。エージェント４００システムの代わりにネットワーク等を利用し、静的分析道具２００と本発明の静的分析道具統合管理装置１００を連結することもできる。
【００３１】
このとき、それぞれの静的分析道具は異なるインターフェースを提供することができる。すなわち、静的分析道具Ａはインターフェースとしてウェブページを提供し、静的分析道具Ｂはコマンドラインを提供し、静的分析道具ＣはＡＰＩ形式のインターフェースを提供することができる。
【００３２】
従って、各静的分析道具との連結性を高め、各分析道具の変更に素早く対応できるように静的分析道具統合管理装置と各静的分析道具の間にエージェントを設ける。このエージェントは静的分析道具統合管理装置の入力と出力を、静的分析道具Ａではウェブインターフェースを通じて接近し、静的分析道具Ｂではコマンドラインを通じて接近し、静的分析道具ＣではＡＰＩ形式のインターフェースを通じて接近する。また、それぞれの静的分析道具が異なるシステムに設けられることもできるため、道具間の連結及び細部モジュールの情報伝達方法は同じシステム内のファイル、ＡＰＩ、ネットワークまたはエージェントシステム等の特定方法に制限されない。
【００３３】
図４は、本発明の静的分析道具統合管理装置の機能ブロックを図示した機能ブロック図である。
【００３４】
図４を参照すると、本発明の静的分析道具統合管理装置１００は道具設定モジュール１１０、結果出力モジュール１２０、分析設定モジュール１３０及び実行管理モジュール１４０を含んで構成されることができ、第１インターフェースモジュール１５０及び第２インターフェースモジュール１６０をさらに含んで構成されることもできる。
【００３５】
道具設定モジュール１１０は、ユーザーが対象プログラムの選択及び検証規則等を選択することができる環境を提供する。また、道具設定モジュール１１０は各静的分析道具２００の設定に対することも統合的に行うことができる。
【００３６】
結果出力モジュール１２０は複数の静的分析道具２００の分析結果をファイルまたはデータベース等に統合して出力する。これにより、ユーザーは各静的分析道具２００の分析結果を統合的に確認することができる。
【００３７】
分析設定モジュール１３０は、上記結果出力モジュール１２０により出力された統合的な分析結果を、ユーザーが検討し、再確認する必要のあるエラーか否か、エラーであることが確かか、エラーでないことが確かか等を設定することができる環境を提供する。上記の情報は再び各静的分析道具２００に伝達されて各静的分析道具２００の実行に参照になる。
【００３８】
実行管理モジュール１４０は、ユーザーに、各静的分析道具２００がプログラム３００を分析する過程が制御できる環境を提供する。これにより、ユーザーは各静的分析道具２００の分析過程を統合的に制御することができる。
【００３９】
図示しないが、上記道具設定モジュール１１０、結果出力モジュール１２０、分析設定モジュール１３０及び実行管理モジュール１４０は直接ユーザーと静的分析道具２００を連結することができる。この場合は、各モジュール（１１０から１４０）は、ユーザー及び静的分析道具２００と連結するためのインターフェース部を含むことができる。
【００４０】
第１インターフェースモジュール１５０及び第２インターフェースモジュール１６０は上記道具設定モジュール１１０、結果出力モジュール１２０、分析設定モジュール１３０及び実行管理モジュール１４０に含まれることができるインターフェース装置を統合したモジュールである。
【００４１】
第1インターフェースモジュール１5０は道具設定モジュール１１０、結果出力モジュール１２０、分析設定モジュール１３０及び実行管理モジュール１４０を静的分析道具と連結する。従って、第1インターフェースモジュール１5０はユーザーが静的分析道具を本発明の静的分析道具統合管理装置１００に連結しやすくする。
【００４２】
第2インターフェースモジュール１6０は道具設定モジュール１１０、結果出力モジュール１２０、分析設定モジュール１３０及び実行管理モジュール１４０をユーザーと連結しながら、ユーザーに統合されたインターフェースを提供する。
【００４３】
図５は、本発明の静的分析道具統合管理装置の道具設定モジュールの機能ブロックを図示した機能ブロック図である。
【００４４】
図５を参照すると、本発明の道具設定モジュール１１０は設定インターフェース１１３及び設定形式変換器１１１を含んで構成されることができる。
【００４５】
設定インターフェース１１３は、ユーザーに静的分析道具を統合的に設定できる設定環境を提供する。一般的に、設定環境はユーザーが設定のためにチェックできる項目及び必要な変数等を入力することができる入力窓等を含んで構成されることができる。
【００４６】
このような様々な種類の設定情報は、プログラムのエラーの有無を確認するという目的下で、静的分析道具を設定するためのものであるため、設定事項には、全ての静的分析道具に共通的な事項が複数存在する。従って、このような共通事項を中心に各道具別に特徴的な事項を追加して共通設定形式を提案することができる。
【００４７】
また、設定インターフェース１１３は入力を受けた設定情報を保存することができ、保存は必ずしもファイル形式である必要はなく、メモリー、パケットまたはトランザクション等の多様な形態で保存することができる。
【００４８】
図６を参照すると、設定インターフェース１１３がユーザーに提供する統合設定環境は‘分析対象の検証規則’と‘分析対象のプロジェクト’の項目を必ず含む。また、設定インターフェース１１３は分析対象の検証規則を階層的に整理することができる。
【００４９】
設定形式変換器１１１は、設定インターフェース１１３から共通設定形式で入力された設定情報を各静的分析道具２００の設定形式に合わせて変換し設定内容を保存する。好ましくは、設定形式変換器１１１は連結された各静的分析道具２００の設定形式に対する情報を保存する。また、必要に応じて、設定形式変換器１１１は予め設定形式の変換方法に対する情報の設定または入力を受けることができる。
【００５０】
また、設定形式変換器１１１は入力を受けた検査項目を分析し、検査項目に有利な静的分析道具２００を選択することができる。
【００５１】
例えば、静的分析道具Ａ２００が配列範囲の検査に有利であれば、設定形式変換器１１１は静的分析道具Ａ２００をプログラム分析のための静的分析道具２００と選択する。また、共通設定形式の設定情報を静的分析道具Ａのための設定情報に変換して静的分析道具Ａ２００に伝送する。
【００５２】
場合によって、道具設定モジュール１１０は該当検査に最適の性能を有する静的分析道具２００のみに設定情報を伝送することができる。
【００５３】
設定インターフェース１１３に入力された設定情報は、設定形式変換器１１１により共通設定形式に変換及び保存され、各静的分析道具２００に伝送される。各静的分析道具２００は内部の設定変換装置を利用して各静的分析道具の分析方式を設定する。
【００５４】
図７は、本発明の静的分析道具総合管理装置の設定インターフェースが共通設定形式で保存したファイルの一例を図示した図面である。
【００５５】
図７を参照すると、設定インターフェース１１３は図６に図示されたユーザーがチェックした設定項目を共通設定形式で保存する。設定インターフェース１１３が共通設定形式で設定情報を保存したファイルはＸＭＬファイル形式を利用した。しかし、設定インターフェース１１３は、ファイルをＸＭＬファイル形式以外のファイル形式で保存することもできる。
【００５６】
図８は、本発明の静的分析道具総合管理装置の結果出力モジュールの機能ブロックを図示した機能ブロック図である。
【００５７】
図８を参照すると、本発明の結果出力モジュール１２０は結果形式変換器１２１、結果分析エンジン１２３及び出力インターフェース１２５を含んで構成されることができる。
【００５８】
本発明の結果出力モジュール１２０は各静的分析道具２００の分析結果を受け、結果形式変換器１２１を通じて共通分析結果形式に変換する。静的分析道具が伝送する分析結果には、エラーの有無の他にもエラーに至る経路情報、エラー情報等の関連情報が含まれることができる。このような多様な種類の結果情報は、プログラムのエラーの有無を確認するという目的下で分析を行った結果であるため、出力結果の間に共通的な事項が複数存在する。従って、このような共通事項を中心に各道具別に特徴的な事項を追加して共通分析結果形式を提案することができる。
【００５９】
結果分析エンジン１２３は、変換された結果を受けて追加作業をすることができる。このような追加作業は、結果の優先順位の調整、追加分析の遂行、または共通的な結果部分の整理作業等がある。
【００６０】
出力インターフェース１２５は、変換された結果または追加作業の結果をユーザーが求める方式で出力する。出力方式は画面上に表示するか、またはファイル形式で出力する等の方式がある。必要に応じて、道具設定モジュール１１０を通じて設定した分析項目と関わる結果のみを出力することができる。
【００６１】
図１２を参照すると、本発明の静的分析道具総合管理装置の結果出力モジュールが提供する分析結果の出力画面の一実施例を確認することができる。
【００６２】
画面上に示された‘Ｖ’表示はエラーのある部分を意味する。例えば、配列範囲の検証にエラーがある場合には、この検証規則に関する上位グループであるメモリー関連エラーにも問題があることを示し、結果的に、分析対象の検証規則を全て通らなかったことを示す。
【００６３】
図１２に図示された分析結果の出力画面の下段に示されるソースコードは、エラーのある部分を出力する。すなわち、配列範囲の検証を選択すると、それに該当するエラーのあるソースコードのファイル名及びライン番号等を表示し、ユーザーがエラーを修正しやすくする。図１２に図示された例では、ａｐｐｌｅ１．ｃにエラーがあり、エラーのあるラインは２０番目のライン及び２０１番目のラインであることを表示する。また、ａｐｐｌｅ２．ｊａｖａには４７番目のラインにエラーがあることを表示する。
【００６４】
図９は、本発明の静的分析道具総合管理装置の分析設定モジュールの機能ブロックを図示した機能ブロック図である。
【００６５】
図９を参照すると、本発明の分析設定モジュール１３０は分析設定インターフェース１３１及び分析設定形式変換器１３３を含んで構成することができる。
【００６６】
ユーザーは複数の静的分析道具２００の統合的な分析結果を検討した後、エラーの確認の有無、間違ったエラーであるかの可否、または修正の有無等の情報に基づいて各静的分析道具２００に分析結果を入力させ、各静的分析道具２００が重なる作業を行わないようにすべきである。このような分析結果検討に基づいて分析設定を再調整することは各静的分析道具ごとに差があり、本発明の静的分析道具統合管理装置１００は各静的分析装置２００を統合的に分析設定できる環境を提供する。
【００６７】
ユーザーが統合プログラム静的分析道具の分析結果を、ユーザー分析設定インターフェースを通じて入力すると、静的分析道具の共通ユーザー分析設定形式で保存される。このユーザー分析設定は、各分析道具のユーザー分析設定変換器で変換されて各静的分析道具に伝送される。
【００６８】
分析設定インターフェース１３１は、ユーザーに静的分析道具を統合的に分析設定できる設定環境を提供する。一般的に、設定環境はユーザーが分析設定をするためにチェックすることができる項目、必要な変数等を入力することができる入力窓及び各分析結果抽出されたエラーが真であるか否かをチェックすることができる項目等を含んで構成されることができる。
【００６９】
このような多様な種類の分析設定情報は、プログラムのエラーの有無の確認及び静的分析道具の設定の再調整という目的下で、静的分析道具を分析設定するためのものである。従って、分析設定事項には全ての静的分析道具に共通的な事項が複数存在するため、このような共通事項を中心に各道具別に特徴的な事項を追加して共通設定形式を提案することができる。
【００７０】
分析設定形式変換器１３３は分析設定インターフェース１３１から共通分析設定形式で入力された分析設定情報を各静的分析道具２００の分析設定形式に合わせて変換し、設定内容を保存する。好ましくは、分析設定形式変換器１３３は連結された各静的分析道具２００の分析設定形式に対する情報を保存する。また、必要に応じて、設定形式変換器１１１は予め設定形式の変換方法に対する情報の設定または入力を受けることができる。
【００７１】
図１３を参照すると、本発明の静的分析道具総合管理装置の分析設定モジュールが提供する分析設定画面の一実施例を確認することができる。
【００７２】
ユーザーは分析道具の結果を検討して分析意見を入力する。例えば、配列範囲の検証エラーとして発見された３つのエラーのうち、ａｐｐｌｅ１．ｃの２０番目のラインで発見されたエラーはユーザーの意図的な表現で、検証規則上には問題があるが、実際には発生しなかったことを示す。２０１番目のラインは、まだユーザーがエラーを分析していない状態であることを示す。ａｐｐｌｅ２．ｊａｖａの４７番目のラインに該等するエラーはエラーであることを確認したことを示す。このような表示は今後、修正後の再分析を行う際に役立つ。
【００７３】
図１０は、本発明の静的分析道具総合管理装置の実行管理モジュールの機能ブロックを図示した機能ブロック図である。
【００７４】
本発明の実行管理モジュール１４０は各静的分析道具２００の実行を、全体的、かつ統合的に調整する。
【００７５】
ユーザーは、実行管理モジュール１４０を通じて全実行管理命令を各静的分析道具２００に伝達することができ、また、各静的分析道具２００の実行状態も実行管理モジュール１４０を通じて確認することができる。従って、実行管理モジュール１４０はユーザーが全静的分析道具２００を統合的、かつ効率的に管理できるようにする。
【００７６】
実行管理モジュール１４０で行う機能には、全静的分析道具２００の実行の可否を管理すること、各静的分析道具２００そのものの設定を管理すること及び静的分析道具の検証規則を管理することが含まれることができる。
【００７７】
静的分析道具２００の実行の可否を管理する機能は、道具設定モジュール１１０で設定した通りに静的分析道具２００が検証を開始および終了させる機能である。すなわち、実行管理モジュール１４０から静的分析道具２００に開始の命令を伝送すると、設定された検証規則及びソースコード等を利用して該当静的分析道具２００が分析を開始する。また、実行管理モジュール１４０から静的分析道具２００に終了の命令を伝送すると、該当静的分析道具２００は分析を終了する。
【００７８】
上記のように、実行管理モジュール１４０で各静的分析道具２００の分析の実行及び終了を管理することで、それぞれの静的分析道具２００を異なるシステムに分散して配置することができる。静的分析道具２００の分散配置が可能になると、静的分析道具２００の検証の効率性が増大する。また、同じ静的分析道具２００を複数個分散して設置することができ、分析を並列的に処理することができるため、個別静的分析道具２００のロードを減らすことができる静的分析道具統合管理システムの設計が可能となる。
【００７９】
各静的分析道具２００そのものの設定を管理する機能は、個別静的分析道具２００が設置され動作しているシステムのｉｐアドレス、アカウント名、パスワード、各道具の位置またはファイル名等をユーザーが設定できる環境を提供する。
【００８０】
静的分析道具の検証規則を管理する機能は、検証規則に従って特定の静的分析道具２００のみが分析をするように設定する機能である。静的分析道具２００はそれぞれ分析の方式に差異があり、特定の検証規則では特定の静的分析道具２００の性能が良いため、検証規則別に有利な静的分析道具２００が分析を担当するように設定する。これにより、静的分析道具統合管理システムの効率的な運営が可能である。
【００８１】
図１０を参照すると、上記の機能を具現するための本発明の実行管理モジュール１４０は、実行管理インターフェース１４１及び管理命令形式変換器１４３を含んで構成されることができる。
【００８２】
実行管理インターフェース１４１はユーザーから各静的分析道具２００の実行管理に関する事項の入力を受け、実行管理状況をユーザーにモニタリングする。
【００８３】
図１１を参照すると、本発明の実行管理インターフェース１４１はユーザーに各静的分析道具２００の実行管理に関する事項の入力を受ける静的分析道具統合実行管理画面を提供することができる。各静的分析道具２００そのものの設定を管理する入力部分が含まれることを確認することができる。
【００８４】
管理命令形式変換器１４３は実行管理インターフェース１４１を通じて入力を受けた統合実行管理命令を各静的分析道具２００が求める実行管理命令形式に変換し、各静的分析道具２００に伝送する。また、管理命令形式変換器１４３は実行管理命令を分析し、上記の静的分析道具２００の検証規則を管理することができる。
【００８５】
好ましくは、管理命令形式変換器１４３は連結された各静的分析道具２００の実行管理命令形式に対する情報を保存する。また、必要に応じて、管理命令形式変換器１４３は予め実行管理命令形式の変換方法に対する情報の設定または入力を受けることができる。
【００８６】
以上で説明した本発明は、上述の実施例及び添付の図面により限定されず、本発明の技術的思想から外れない範囲内で様々な置換、変形及び変更できるということは本発明が属する技術分野で通常の知識を有する当業者には明白である。
【符号の説明】
【００８７】
１００  静的分析道具統合管理装置
２００  静的分析道具
１１０  道具設定モジュール
１１１  設定形式変換器
１１３  設定インターフェース
１２０  結果出力モジュール
１２１  結果形式変換器
１２３  結果分析エンジン
１２５  出力インターフェース
１３０  分析設定モジュール
１３１  分析設定インターフェース
１３３  分析設定形式変換器
１４０  実行管理モジュール
１４１  実行管理インターフェース
１４３  管理命令形式変換器
１５０  第１インターフェースモジュール
１６０  第２インターフェースモジュール
【図１】
2011129121.tif 000003
【図２】
2011129121.tif 000004
【図３】
2011129121.tif 000005
【図４】
2011129121.tif 000006
【図５】
2011129121.tif 000007
【図６】
2011129121.tif 000008
【図７】
2011129121.tif 000009
【図８】
2011129121.tif 000010
【図９】
2011129121.tif 000011
【図１０】
2011129121.tif 000012
【図１１】
2011129121.tif 000013
【図１２】
2011129121.tif 000014
【図１３】
2011129121.tif 000015