(57)【要約】【課題】ソースプログラムと実行プログラムとの一致・不一致を容易に判定することができるプログラム比較解析装置およびプログラム比較解析方法を提供する。【解決手段】プログラム比較解析装置３０は、ターゲットマシンから読み出した実行プログラム１３を逆コンパイルし、Ｃ言語のＣ言語プログラム３２を生成する逆コンパイル手段３１と、Ｃ言語で生成された、実行プログラム１３のソースプログラム１１と、Ｃ言語プログラムとを比較し、プログラム上の対応箇所を判断し、判断された対応箇所を対応付けして出力するプログラム比較手段３３とを備えた。【選択図】  図６
2013152559.tif 000002
【特許請求の範囲】
【請求項１】
ターゲットマシンから読み出した実行プログラムを逆コンパイルし、所定のプログラミング言語の言語プログラムを生成する逆コンパイル手段と、
前記所定のプログラミング言語で生成された、前記実行プログラムのソースプログラムと、前記言語プログラムとを比較し、プログラム上の対応箇所を判断する比較手段と、
前記比較手段により判断された前記対応箇所を対応付けして出力する出力手段とを備えたことを特徴とするプログラム比較解析装置。
【請求項２】
前記出力手段の出力結果に基づいて、前記対応箇所のプログラムの内容が一致するか否かを判定し、判定結果を前記出力結果と共に出力する判定手段をさらに備える請求項１記載のプログラム比較解析装置。
【請求項３】
前記出力手段は、対応箇所が比較して表示された対応表を出力する請求項１または２記載のプログラム比較解析装置。
【請求項４】
前記比較手段は、前記ソースプログラムと前記言語プログラムの制御構造、式、関数引数定義を比較し、一致部分および差異部分をプログラム対応表に出力する請求項２または３記載のプログラム比較解析装置。
【請求項５】
前記逆コンパイル手段により生成された前記言語プログラムに基づいて前記言語プログラムをツリー状で表した実行プログラム解析ツリーを生成する実行プログラム解析手段と、
前記実行プログラムのソースプログラムに基づいてソースプログラム解析ツリーを生成するソースプログラム解析手段とをさらに備え、
前記比較手段は、前記実行プログラム解析ツリーと前記ソースプログラム解析ツリーとを比較しプログラム上の対応箇所を判断し、
前記出力手段は、前記対応箇所がツリー状で比較して表示された対応表を出力する請求項１または２記載のプログラム比較解析装置。
【請求項６】
ターゲットマシンから読み出した実行プログラムを逆アセンブルし、アセンブラプログラムを生成する逆アセンブル手段と、
前記実行プログラムのソースプログラムに基づいてソースプログラム解析ツリーを生成するソースプログラム解析手段と、
前記ソースプログラム解析ツリーと、前記アセンブラプログラムとを比較しプログラム上の対応箇所を判断する比較手段と、
前記比較手段により判断された前記対応箇所を対応付けして出力する出力手段とを備えたことを特徴とするプログラム比較解析装置。
【請求項７】
前記出力手段の出力結果に基づいて、前記対応箇所のプログラムの内容が一致するか否かを判定し、判定結果を前記出力結果と共に出力する判定手段をさらに備える請求項６記載のプログラム比較解析装置。
【請求項８】
前記出力手段は、対応箇所が比較して表示された対応表を出力する請求項６または７記載のプログラム比較解析装置。
【請求項９】
前記所定のプログラミング言語は、Ｃ言語である請求項１〜８のいずれか一項に記載のプログラム比較解析装置。
【請求項１０】
ターゲットマシンから読み出した実行プログラムを逆コンパイルし、所定のプログラミング言語の言語プログラムを生成する逆コンパイルステップと、
前記所定のプログラミング言語で生成された、前記実行プログラムのソースプログラムと、前記言語プログラムとを比較し、プログラム上の対応箇所を判断する比較ステップと、
前記比較ステップにおいて判断された前記対応箇所を対応付けして出力する出力ステップとを備えたことを特徴とするプログラム比較解析方法。
【請求項１１】
前記逆コンパイルステップにおいて生成された前記言語プログラムに基づいて前記言語プログラムをツリー状で表した実行プログラム解析ツリーを生成する実行プログラム解析ステップと、
前記実行プログラムのソースプログラムに基づいてソースプログラム解析ツリーを生成するソースプログラム解析ステップとをさらに備え、
前記比較ステップは、前記実行プログラム解析ツリーと前記ソースプログラム解析ツリーとを比較しプログラム上の対応箇所を判断し、
前記出力ステップは、前記対応箇所がツリー状で比較して表示された対応表を出力する請求項１０記載のプログラム比較解析方法。
【請求項１２】
ターゲットマシンから読み出した実行プログラムを逆アセンブルし、アセンブラプログラムを生成する逆アセンブルステップと、
前記実行プログラムのソースプログラムに基づいてソースプログラム解析ツリーを生成するソースプログラム解析ステップと、
前記ソースプログラム解析ツリーと、前記アセンブラプログラムとを比較しプログラム上の対応箇所を判断する比較ステップと、
前記比較手段により判断された前記対応箇所を対応付けして出力する出力ステップとを備えたことを特徴とするプログラム比較解析方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ソースプログラムと実行プログラムとを比較解析するプログラム比較解析装置およびプログラム比較解析方法に関する。
【背景技術】
【０００２】
従来、ソースプログラムとターゲットマシンの実行プログラムとの一致を確認するための技術が特許文献１に開示されている。特許文献１の技術は、複数のコンパイラによって生成された、互いに異なる動作環境で動作する複数のマシン語プログラムに対して、同一の入力値を与える。この技術は、これらの入力値に対する出力値である出力データを比較することによって、コンパイラのバグを間接的に検出する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−１４１４０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述した特許文献１の技術は、バグを検出するために多数の入力値が必要である。このため、すべての入力値を試験できない場合、特許文献１の技術ではソースプログラムとターゲットマシンとの実行コードの一致を確認することができないという課題があった。
【０００５】
本発明はこのような事情を考慮してなされたもので、ソースプログラムと実行プログラムとの一致・不一致を容易に判定することができるプログラム比較解析装置およびプログラム比較解析方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明に係るプログラム比較解析装置は、上述した課題を解決するために、ターゲットマシンから読み出した実行プログラムを逆コンパイルし、所定のプログラミング言語の言語プログラムを生成する逆コンパイル手段と、前記所定のプログラミング言語で生成された、前記実行プログラムのソースプログラムと、前記言語プログラムとを比較し、プログラム上の対応箇所を判断する比較手段と、前記比較手段により判断された前記対応箇所を対応付けして出力する出力手段とを備えたことを特徴とする。
【発明の効果】
【０００７】
本発明に係るプログラム比較解析装置およびプログラム比較解析方法においては、ソースプログラムと実行プログラムとの一致・不一致を容易に判定することができる。
【図面の簡単な説明】
【０００８】
【図１】本発明に係るプログラム比較解析装置の第１実施形態を示す構成図。
【図２】実行プログラムの一例を示す説明図。
【図３】Ｃ言語プログラムの一例を示す説明図。
【図４】ソースプログラムとＣ言語プログラムとの対応箇所の出力例であるプログラム対応表を示す説明図。
【図５】プログラム一致判定手段により出力される一致判定結果の一例を示す説明図。
【図６】第１実施形態における比較解析装置の変形例を示す構成図。
【図７】本発明に係るプログラム比較解析装置の第２実施形態を示す構成図。
【図８】実行プログラム解析ツリーの一例を示す説明図。
【図９】ソースプログラム解析ツリーの一例を示す説明図。
【図１０】ソースプログラム解析ツリーと実行プログラム解析ツリーとの対応箇所の出力例であるプログラム対応表を示す説明図。
【図１１】プログラム一致判定手段により出力される一致判定結果の一例を示す説明図。
【図１２】第２実施形態におけるプログラム比較解析装置の変形例を示す構成図。
【図１３】本発明に係るプログラム比較解析装置の第３実施形態を示す構成図。
【図１４】ソースプログラム解析ツリーとアセンブラプログラムとの対応箇所の出力例であるプログラム対応表を示す説明図。
【図１５】プログラム一致判定手段により出力される一致判定結果の一例を示す説明図。
【図１６】第３実施形態におけるプログラム比較解析装置の変形例を示す構成図。
【発明を実施するための形態】
【０００９】
［第１実施形態］
本発明に係るプログラム比較解析装置およびプログラム比較解析方法の第１実施形態を添付図面に基づいて説明する。
【００１０】
図１は、本発明に係るプログラム比較解析装置の第１実施形態を示す構成図である。
【００１１】
第１実施形態におけるプログラム比較解析装置（比較解析装置）３０は、ソースプログラムを開発するための開発用コンピュータ１０に設けられる。この開発用コンピュータ１０は、高級言語の一例としてのＣ言語でＣ言語ソースプログラム（ソースプログラム）１１を生成する。開発用コンピュータ１０はコンパイラ１２を有し、このコンパイラ１２によりソースプログラム１１をコンパイルすることにより実行プログラム１３を生成する。実行プログラム１３は、実行プログラム１３が組み込まれるターゲットマシン２０に渡され、ターゲットマシン２０において実行される。
【００１２】
比較解析装置３０は、逆コンパイル手段３１、プログラム比較手段３３、およびプログラム一致判定手段３５を有する。逆コンパイル手段３１は、ターゲットマシン２０から読み出した実行プログラムを逆コンパイルし、ｉｆ文、ｗｈｉｌｅ文、ｓｗｉｔｃｈ文の制御構造、式、および関数引数定義からなるＣ言語プログラム３２を生成する。Ｃ言語プログラム３２は、ソースプログラム１１の高級言語と同じＣ言語からなるプログラムである。
【００１３】
プログラム比較手段３３は、ソースプログラム１１と逆コンパイルされ生成されたＣ言語プログラム３２とを入力し、プログラムの各部分を比較する。プログラム比較手段３３は、各プログラム１１、３２上の対応箇所を判断し、対応箇所を対応付けしたプログラム対応表３４を出力する。
【００１４】
プログラム一致判定手段３５は、プログラム比較手段３３の出力結果であるプログラム対応表３４に基づいて、ソースプログラム１１とＣ言語プログラム３２との対応箇所の内容が一致するか否かを判定する。すなわち、プログラム一致判定手段３５は、ソースプログラム１１とＣ言語プログラム３２とのｉｆ文、ｗｈｉｌｅ文およびｓｗｉｔｃｈ文の制御構造、式、および関数引数定義がそれぞれ１対１に対応しているか判定する。
【００１５】
次に、第１実施形態における比較解析装置３０の作用について説明する。
【００１６】
比較解析装置３０の逆コンパイル手段３１は、ターゲットマシン２０より実行プログラム１３を取得する。ここで、図２は、実行プログラム１３の一例を示す説明図である。図２においては、理解を容易にするためにアセンブラも付記している。
【００１７】
逆コンパイル手段３１は、この実行プログラム１３を逆コンパイルし、Ｃ言語プログラム３２を生成する。ここで、図３は、Ｃ言語プログラム３２の一例を示す説明図である。図３のＣ言語プログラム３２においては、予め決められた関数呼び出しのレジスタ使用ルールから、関数の第１引数はＲ１、第２引数はＲ２、リターン値はＲ１０を用いることとする。
【００１８】
プログラム比較手段３３は、開発用コンピュータ１０が保持するソースプログラム１１と、逆コンパイル手段３１により生成されたＣ言語プログラム３２とを入力する。プログラム比較手段３３（比較手段）は、ソースプログラム１１と図３のＣ言語プログラム３２とを比較し、プログラム上の対応箇所を判断する。例えば、プログラム比較手段３３は、ソースプログラム１１とＣ言語プログラム３２との対応関係を予め保持しており、その対応関係に従って判断する。
【００１９】
プログラム比較手段３３（出力手段）は、判断した対応箇所を出力する。ここで、図４は、ソースプログラム１１とＣ言語プログラム３２との対応箇所の出力例であるプログラム対応表３４を示す説明図である。プログラム比較手段３３は、図４に示すように、ソースプログラム１１とＣ言語プログラム３２との対応箇所を対応付けて出力する。また、プログラム比較手段３３は、ソースプログラム１１とＣ言語プログラム３２とにおけるレジスタと変数との対応についても、プログラム対応表３４に出力する。
【００２０】
プログラム一致判定手段３５は、図４に示すようなプログラム対応表３４に基づいて、ソースプログラム１１とＣ言語プログラム３２との対応箇所の内容が一致するか否かを判定する。
【００２１】
ここで、図５は、プログラム一致判定手段３５により出力される一致判定結果の一例を示す説明図である。プログラム一致判定手段３５は、対応箇所の文の種別（制御構造、式、および関数引数定義）を判定する。その後、プログラム一致判定手段３５は、対応箇所がそれぞれ１対１に対応しているか否かを判定する。プログラム一致判定手段３５は、対応箇所が一致している場合には「一致」、一致していない場合には「不一致」、判定不要である場合にはその旨を出力する。プログラム一致判定手段３５は、プログラム比較手段３３により出力されたプログラム対応表３４に文の種別および一致判定の結果を併せて、一致判定結果として出力する。
【００２２】
第１実施形態におけるプログラム比較解析装置３０およびプログラム比較解析方法によれば、ターゲットマシン２０の実行プログラム１３から生成されるＣ言語プログラム３２を、実行プログラム１３のソースプログラム１１と比較するので、容易にソースプログラム１１と実行プログラム１３との一致・不一致を判断できる。すなわち、比較解析装置３０は、実行プログラム１３が正しいか否かを判断するために入力操作などが不要であり、自動的に対応関係を確認することができるため、プログラムの分量によらずに容易に一致・不一致を確認することができる。
【００２３】
なお、第１実施形態における比較解析装置３０は、プログラム一致判定手段３５を省略してもよい。
【００２４】
図６は、第１実施形態における比較解析装置３０の変形例を示す構成図である。
【００２５】
プログラム比較手段３３は、図４に示すプログラム対応表３４を出力し、ユーザに提示する。ユーザは、このプログラム対応表３４を確認することにより、Ｃ言語ソースプログラム１１とＣ言語プログラム３２との対応箇所が一致しているか否かを容易に判定することができる。その結果、プログラム比較解析装置３０は、ソースプログラム１１と実行プログラム１３との一致・不一致を判定することができる。
【００２６】
［第２実施形態］
本発明に係るプログラム比較解析装置およびプログラム比較解析方法の第２実施形態を添付図面に基づいて説明する。
【００２７】
図７は、本発明に係るプログラム比較解析装置の第２実施形態を示す構成図である。
【００２８】
第２実施形態におけるプログラム比較解析装置（比較解析装置）４０が第１実施形態におけるプログラム比較解析装置３０と異なる点は、ソースプログラム１１と実行プログラム１３とをツリー状で比較する点である。プログラム比較解析装置４０が第１実施形態と対応する構成および部分については同一の符号を付し、重複する説明を省略する。
【００２９】
プログラム比較解析装置４０は、ソースプログラム解析手段４１、逆コンパイル手段３１、実行プログラム解析手段４２、ツリー比較手段４３、およびプログラム一致判定手段４４を有する。
【００３０】
ソースプログラム解析手段４１は、開発用コンピュータ１０が保持するＣ言語ソースプログラム（ソースプログラム）１１を入力し、ソースプログラム１１をツリー状で表したソースプログラム解析ツリー４５を生成する。実行プログラム解析手段４２は、逆コンパイル手段３１で生成されたＣ言語プログラム３２を入力し、Ｃ言語プログラム３２をツリー状で表した実行プログラム解析ツリー４６を生成する。
【００３１】
ツリー比較手段４３は、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６とを入力し、ツリー４５、４６の各部分を比較する。ツリー比較手段４３は、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６とのツリー構造および対応ノードを比較し、対応箇所を対応付けしたプログラム対応表４７を生成し出力する。
【００３２】
プログラム一致判定手段４４は、プログラム対応表４７に基づいて、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６の対応箇所の内容（ツリー４５、４６の各要素）が一致するか否かを判定する。
【００３３】
次に、第２実施形態における比較解析装置４０の作用について説明する。
【００３４】
比較解析装置４０の逆コンパイル手段３１は、ターゲットマシン２０より実行プログラム１３（図２参照）を取得する。逆コンパイル手段３１は、この実行プログラム１３を逆コンパイルし、Ｃ言語プログラム３２（図３参照）を生成する。
【００３５】
実行プログラム解析手段４２は、逆コンパイル手段３１よりＣ言語プログラム３２を入力し、実行プログラム解析ツリー４６を生成する。ここで、図８は、実行プログラム解析ツリー４６の一例を示す説明図である。
【００３６】
一方、ソースプログラム解析手段４１は、開発用コンピュータが保持するソースプログラム１１を入力し、ソースプログラム解析ツリー４５を生成する。ここで、図９は、ソースプログラム解析ツリー４５の一例を示す説明図である。
【００３７】
ツリー比較手段４３は、生成された実行プログラム解析ツリー４６と、ソースプログラム解析ツリー４５とを入力し、対応する各部分を比較する。ツリー比較手段４３は、各ツリー４５、４６の対応箇所を判断し、プログラム対応表４７を生成する。ここで、図１０は、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６との対応箇所の出力例であるプログラム対応表４７を示す説明図である。ツリー比較手段４３は、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６とにおけるレジスタと変数との対応についても、プログラム対応表４７に出力する。
【００３８】
プログラム一致判定手段４４は、プログラム対応表４７に基づいて、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６との対応箇所の内容が一致するか否かを判定する。
【００３９】
ここで、図１１は、プログラム一致判定手段４４により出力される一致判定結果の一例を示す説明図である。プログラム一致判定手段４４は、対応箇所がそれぞれ１対１に対応しているか否かを判定する。プログラム一致判定手段４４は、対応箇所が一致している場合には「一致」、一致していない場合には「不一致」を出力する。プログラム一致判定手段４４は、ツリー比較手段４３により出力されたプログラム対応表４７に一致判定の結果を併せて、一致判定結果として出力する。
【００４０】
第２実施形態における比較解析装置４０およびプログラム比較解析方法によれば、第１実施形態の比較解析装置３０の奏する効果に加え、ツリー状でソースプログラム１１および実行プログラム１３の一致・不一致を判断することができるため、各プログラム要素の対応を容易に認識することができる。
【００４１】
なお、第２実施形態における比較解析装置４０は、プログラム一致判定手段４４を省略してもよい。
【００４２】
図１２は、第２実施形態におけるプログラム比較解析装置４０の変形例を示す構成図である。
【００４３】
ツリー比較手段４３は、図１０に示すプログラム対応表４７を出力し、ユーザに提示する。ユーザは、このプログラム対応表４７を確認することにより、ソースプログラム解析ツリー４５と実行プログラム解析ツリー４６との対応箇所が一致しているか否かを容易に判定することができる。その結果、比較解析装置４０は、ソースプログラム１１と実行プログラム１３の一致・不一致を判定することができる。
【００４４】
［第３実施形態］
本発明に係るプログラム比較解析装置およびプログラム比較解析方法の第３実施形態を添付図面に基づいて説明する。
【００４５】
図１３は、本発明に係るプログラム比較解析装置の第３実施形態を示す構成図である。
【００４６】
第３実施形態におけるプログラム比較解析装置（比較解析装置）５０が第２実施形態における比較解析装置４０と異なる点は、実行プログラム１３を逆アセンブルし、このアセンブラプログラム５５をソースプログラム解析ツリー４５と比較する点である。比較解析装置５０が第１および第２実施形態と対応する構成および部分については同一の符号を付し、重複する説明を省略する。
【００４７】
比較解析装置５０は、ソースプログラム解析手段４１、逆アセンブル手段５１、ツリー・アセンブラ比較手段５２、およびプログラム一致判定手段５３を有する。
【００４８】
逆アセンブル手段５１は、ターゲットマシン２０から読み出した実行プログラム１３を逆アセンブルし、アセンブラプログラム５５を生成する。ツリー・アセンブラ比較手段５２は、ソースプログラム解析ツリー４５とアセンブラプログラム５５とを入力し、ソースプログラム解析ツリー４５とアセンブラプログラム５５との各部分を比較する。
【００４９】
ツリー・アセンブラ比較手段５２は、ソースプログラム解析ツリー４５とアセンブラプログラム５５との対応箇所を判断し、対応箇所を対応付けしたプログラム対応表５７を生成し出力する。
【００５０】
プログラム一致判定手段５３は、ツリー・アセンブラ比較手段５２の出力結果に基づいて、ソースプログラム解析ツリー４５とアセンブラプログラム５５との対応箇所の内容が一致するか否かを判定する。
【００５１】
次に、第３実施形態におけるプログラム比較解析装置５０の作用について説明する。
【００５２】
プログラム比較解析装置５０の逆アセンブル手段５１は、ターゲットマシン２０より実行プログラム１３（図２参照）を取得する。逆アセンブル手段５１は、この実行プログラム１３を逆アセンブルし、アセンブラプログラム５５を生成する。
【００５３】
一方、ソースプログラム解析手段４１は、開発用コンピュータ１０が保持するソースプログラム１１を入力し、ソースプログラム解析ツリー４５（図９参照）を生成する。
【００５４】
ツリー・アセンブラ比較手段５２は、生成されたアセンブラプログラム５５と、ソースプログラム解析ツリー４５とを入力し、対応する各部分を比較する。ツリー・アセンブラ比較手段５２は、ソースプログラム解析ツリー４５のツリー構造およびノードと、アセンブラプログラム５５とを比較して対応箇所を判断し、プログラム対応表５７を生成する。ここで、図１４は、ソースプログラム解析ツリー４５とアセンブラプログラム５５との対応箇所の出力例であるプログラム対応表５７を示す説明図である。ツリー・アセンブラ比較手段５２は、ソースプログラム解析ツリー４５とアセンブラプログラム５５とにおけるレジスタと変数との対応についても、プログラム対応表５７に出力する。
【００５５】
プログラム一致判定手段５３は、プログラム対応表５７に基づいて、ソースプログラム解析ツリー４５とアセンブラプログラム５５との対応箇所の内容が一致するか否かを判定する。
【００５６】
ここで、図１５は、プログラム一致判定手段５３により出力される一致判定結果の一例を示す説明図である。プログラム一致判定手段５３は、対応箇所がそれぞれ１対１に対応しているか否かを判定する。プログラム一致判定手段５３は、対応箇所が一致している場合には「一致」、一致していない場合には「不一致」を出力する。プログラム一致判定手段５３は、ツリー・アセンブラ比較手段５２により出力されたプログラム対応表５７に一致判定の結果を併せて、一致判定結果として出力する。
【００５７】
第３実施形態におけるプログラム比較解析装置５０およびプログラム比較解析方法によれば、第１実施形態のプログラム比較解析装置３０の奏する効果に加え、ソースプログラム１１と実行プログラム１３とを多様な形で比較解析することができる。
【００５８】
なお、第３実施形態におけるプログラム比較解析装置５０は、プログラム一致判定手段５３を省略してもよい。
【００５９】
図１６は、第３実施形態におけるプログラム比較解析装置５０の変形例を示す構成図である。
【００６０】
ツリー・アセンブラ比較手段５２は、図１４に示すプログラム対応表５７を出力し、ユーザに提示する。ユーザは、このプログラム対応表５７を確認することにより、ソースプログラム解析ツリー４５とアセンブラプログラム５５との対応箇所が一致しているか否かを容易に判定することができる。その結果、プログラム比較解析装置５０は、ソースプログラム１１と実行プログラム１３の一致・不一致を判定することができる。
【００６１】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００６２】
１０  開発用コンピュータ
１１  Ｃ言語ソースプログラム（ソースプログラム）
１２  コンパイラ
１３  実行プログラム
２０  ターゲットマシン
３０、４０、５０  プログラム比較解析装置（比較解析装置）
３１  逆コンパイル手段
３２  Ｃ言語プログラム
３３  プログラム比較手段
３４、４７、５７  プログラム対応表
３５、４４、５３  プログラム一致判定手段
４１  ソースプログラム解析手段
４２  実行プログラム解析手段
４３  ツリー比較手段
４５  ソースプログラム解析ツリー
４６  実行プログラム解析ツリー
５１  逆アセンブル手段
５２  ツリー・アセンブラ比較手段
５５  アセンブラプログラム
【図１】
2013152559.tif 000003
【図２】
2013152559.tif 000004
【図３】
2013152559.tif 000005
【図４】
2013152559.tif 000006
【図５】
2013152559.tif 000007
【図６】
2013152559.tif 000008
【図７】
2013152559.tif 000009
【図８】
2013152559.tif 000010
【図９】
2013152559.tif 000011
【図１０】
2013152559.tif 000012
【図１１】
2013152559.tif 000013
【図１２】
2013152559.tif 000014
【図１３】
2013152559.tif 000015
【図１４】
2013152559.tif 000016
【図１５】
2013152559.tif 000017
【図１６】
2013152559.tif 000018