JPH10293683A - プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体 - Google Patents

プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体

Info

Publication number
JPH10293683A
JPH10293683A JP9100502A JP10050297A JPH10293683A JP H10293683 A JPH10293683 A JP H10293683A JP 9100502 A JP9100502 A JP 9100502A JP 10050297 A JP10050297 A JP 10050297A JP H10293683 A JPH10293683 A JP H10293683A
Authority
JP
Japan
Prior art keywords
program
difference
assembly language
compiler
version
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9100502A
Other languages
English (en)
Inventor
Norikazu Iwama
則和 岩間
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP9100502A priority Critical patent/JPH10293683A/ja
Publication of JPH10293683A publication Critical patent/JPH10293683A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】 コンパイラのバージョンの差異により生じる
アセンブリ言語プログラムの相違を解析してユーザに理
解しやすく表示することである。 【解決手段】 ユーザ作成の応用ソフトプログラム10
と、これを旧バージョンコンパイラ11でコンパイルし
て生成した旧バージョンアセンブリ言語プログラム13
と、新バージョンコンパイラ12でコンパイルして生成
した新バージョンアセンブリ言語プログラム14とを入
力し、旧バージョンアセンブリ言語プログラム13と新
バージョンアセンブリ言語プログラム13とのアセンブ
ラ部分を比較して、相違がある場合にはその差異部分を
抽出し、差異部分の差異情報があるか否かを判断して、
差異情報がある場合には、その差異情報を抽出し、抽出
された差異部分、及び前記差異情報を結果診断レポート
16として出力するプログラム比較部15を設けるよう
にしてある。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、プログラムの比較
解析装置、プログラムの比較解析方法、及びプログラム
の比較解析プログラムを記録した機械読み取り可能な記
録媒体に関し、特に、コンパイラのバージョンの差異に
より生じるアセンブリ言語プログラムの相違を解析して
ユーザに理解しやすく表示することができる技術に関す
る。
【0002】
【従来の技術】ユーザが作成した応用ソフトプログラム
(アプリケーションプログラム)を機械語に翻訳する言
語処理システムを一般にコンパイラと呼んでいる。この
コンパイラは、翻訳したプログラムの実行速度の向上等
を目的としてソフトウエアの改変(バージョンアップ)
が行われる場合が多い。従って、このバージョンアップ
がなされると、旧バージョンのコンパイラと新バージョ
ンのコンパイラが存在することになる。
【0003】このコンパイラのバージョンの差異により
翻訳したプログラム(アセンブリ言語プログラム)が相
違することが多く、場合によっては、ユーザが作成した
プログラムの変更が必要となる。このコンパイラのバー
ジョンアップは、ソフトウエア開発者にとっては、重大
な関心事である。
【0004】従って、ユーザは、新バージョンコンパイ
ラで応用ソフトプログラムを再コンパイルをした場合
に、応用ソフトプログラムとハードウエアとを組み合わ
せた動作確認の結果が、旧バージョンコンパイラでコン
パイルした場合の動作と同等であるか否かを確かめる場
合が多い。従来から、新旧アセンブリ言語ファイルの単
純比較作業をおこない、差異情報についての解析を、コ
ンパイラ作成者の提供するコンパイラバージョンアップ
情報との照合作業により確認をおこなっていた。
【0005】図9は、新旧コンパイラにより生成された
アセンブリ言語のファイルを単純に比較した方法により
出力された結果を示したものである。この出力結果は、
旧バージョンのコンパイラで生成したアセンブリ言語で
ある「P1_OLD.ASM」と、新バージョンのコン
パイラで生成したアセンブリ言語である「P1_NE
W.ASM」とを比較したものである。
【0006】この比較は、新旧バージョンのコンパイラ
で生成されたアセンブリ言語の文字(キャラクタ)を1
つ1つ比較して、相違点を発見した場合には、該当する
アセンブリ言語の相違する行の双方を抽出して比較ファ
イルに書き込むようにして行う。例えば、図9の比較結
果においては、同図2行目乃至4行目は、P1_OL
D.ASMの相違行について、同図5行目乃至7行目
は、P1_NEW.ASMの相違行について、それぞれ
示してある。また同様に、同図9行目乃至13行目は、
P1_OLD.ASM内の関数について、同図14行目
乃至18行目は、P1_NEW.ASM内の関数につい
て、それぞれ示してある。
【0007】このように、ユーザは、この出力結果を見
ることにより新コンパイラによって応用ソフトプログラ
ムの変更点について知ることができ、それにより、応用
ソフトプログラムの改変が必要か否かを判断することが
できる。
【0008】
【発明が解決しようとする課題】しかしながら、従来法
による単純な比較方法では以下のような問題点があっ
た。まず、第一には、比較作業および差異情報の解析作
業が人間による手作業であり、確認ミスが発生し易く、
作業時間がかかってしまうことである。また、第二に
は、従来技術を用いた単純な比較作業では得られる情報
が差異の有無のみであり、コメントとして付加される新
旧コンパイラのバージョン情報等のコメントの相違(図
9の2行目乃至8行目)も差異有りとして結果が出力さ
れてしまうため、ユーザにとって必要でない相違情報ま
で出力してしまうということである。さらに、第三に
は、新旧バージョンのコンパイラはアセンブリ言語プロ
グラムに差異情報の付加処理はないため、応用ソフトプ
ログラムトハードウエアとを組み合わせて誤動作が無い
ことを保証できる情報にはならないということである。
従って、この結果、コンパイラ作成者へ問い合わせて確
かめる事が必要となってしまうという問題があった。
【0009】本発明は、上記事情に鑑みてなされたもの
であり、その目的とするところは、コンパイラのバージ
ョンの差異により生じるアセンブリ言語プログラムの相
違を解析してユーザに理解しやすく表示することができ
るプログラムの比較解析装置、プログラムの比較解析方
法、及びプログラムの比較解析プログラムを記録した機
械読み取り可能な記録媒体を提供することにある。
【0010】
【課題を解決するための手段】上記目的を達成するた
め、請求項1の発明は、ユーザ作成の応用ソフトプログ
ラムと、このユーザ作成の応用ソフトプログラムを旧バ
ージョンコンパイラでコンパイルして生成した旧バージ
ョンアセンブリ言語プログラムと、ユーザ作成の応用ソ
フトプログラムを新バージョンコンパイラでコンパイル
して生成した新バージョンアセンブリ言語プログラムと
を入力する手段と、前記旧バージョンアセンブリ言語プ
ログラムと前記新バージョンアセンブリ言語プログラム
とのアセンブラ部分を比較して、差異がある場合にはそ
の差異部分を抽出する手段と、前記差異部分の差異情報
があるか否かを判断し、前記差異情報がある場合には、
その差異情報を抽出する手段と、前記抽出された差異部
分、及び前記差異情報を結果診断レポートとして出力す
る手段と、を備えることを特徴とする。
【0011】請求項2の発明は、前記請求項1における
結果診断レポートは、前記比較を行った関数を表示する
関数名表示部と、前記旧バージョンのコンパイラ及び前
記新バージョンのコンパイラのバージョン情報を表示す
るコンパイラバージョン表示部と、前記抽出された差異
部分を表示する差異情報表示部と、前記比較対象となっ
た単位を表示する比較単位表示部と、前記ユーザ作成の
応用ソフトプログラムを表示するソース表示部と、前記
旧バージョンアセンブリ言語プログラムを表示するバー
ジョンコンパイラ生成アセンブラソース表示部と、前記
新バージョンアセンブリ言語プログラムを表示する新バ
ージョンコンパイラ生成アセンブラソース表示部と、を
有することを特徴とする。
【0012】上記目的を達成するため、請求項3の発明
は、ユーザ作成の応用ソフトプログラムと、このユーザ
作成の応用ソフトプログラムを旧バージョンコンパイラ
でコンパイルして生成した旧バージョンアセンブリ言語
プログラムと、ユーザ作成の応用ソフトプログラムを新
バージョンコンパイラでコンパイルして生成した新バー
ジョンアセンブリ言語プログラムとを入力し、前記旧バ
ージョンアセンブリ言語プログラムと前記新バージョン
アセンブリ言語プログラムとのアセンブラ部分を比較し
て、差異がある場合にはその差異部分を抽出し、前記差
異部分の差異情報があるか否かを判断し、前記差異情報
がある場合には、その差異情報を抽出し、前記抽出され
た差異部分、及び前記差異情報を結果診断レポートとし
て出力することを特徴とする。
【0013】請求項4の発明は、前記請求項3にて前記
旧バージョンアセンブリ言語プログラムと前記新バージ
ョンアセンブリ言語プログラムとのアセンブラ部分を比
較して、差異が無い場合には、その旨を結果診断レポー
トとして出力することを特徴とする。
【0014】請求項5の発明は、前記請求項3にて差異
部分の差異情報があるか否かを判断し、前記差異情報が
無い場合には、その差異が発生した原因が不明である
旨、及び前記差異情報を結果診断レポートとして出力す
ることを特徴とする。
【0015】請求項6の発明は、前記請求項3における
前記結果診断レポートは、前記比較を行った関数と、前
記旧バージョンのコンパイラ及び前記新バージョンのコ
ンパイラのバージョン情報と、前記抽出された差異部分
と、前記比較対象となった単位と、前記ユーザ作成の応
用ソフトプログラムと、前記旧バージョンアセンブリ言
語プログラムと、前記新バージョンアセンブリ言語プロ
グラムと、を有することを特徴とする。
【0016】上記目的を達成するため、請求項7の発明
は、プログラムの比較解析プログラムを記録した機械読
み取り可能な記録媒体であって、ユーザ作成の応用ソフ
トプログラムと、このユーザ作成の応用ソフトプログラ
ムを旧バージョンコンパイラでコンパイルして生成した
旧バージョンアセンブリ言語プログラムと、ユーザ作成
の応用ソフトプログラムを新バージョンコンパイラでコ
ンパイルして生成した新バージョンアセンブリ言語プロ
グラムとを入力するステップと、前記旧バージョンアセ
ンブリ言語プログラムと前記新バージョンアセンブリ言
語プログラムとのアセンブラ部分を比較して、相違があ
る場合にはその差異部分を抽出するステップと、前記差
異部分の差異情報があるか否かを判断し、前記差異情報
がある場合には、その差異情報を抽出するステップと、
前記抽出された差異部分、及び前記差異情報を結果診断
レポートとして出力するステップと、コンピューターに
実行させることを特徴とする。
【0017】請求項8の発明は、前記請求項7にてコン
ピューターに前記旧バージョンアセンブリ言語プログラ
ムと前記新バージョンアセンブリ言語プログラムとのア
センブラ部分を比較させ、差異が無い場合には、その旨
を結果診断レポートとして出力させることを特徴とす
る。
【0018】請求項9の発明は、前記請求項7にてコン
ピューターに前記差異部分の差異情報があるか否かを判
断させ、前記差異情報が無い場合には、その差異が発生
した原因が不明である旨、及び前記差異情報を結果診断
レポートとして出力させることを特徴とする。
【0019】
【発明の実施の形態】以下、本発明に係るプログラムの
比較解析装置、プログラムの比較解析方法、及びプログ
ラムの比較解析プログラムを記録した機械読み取り可能
な記録媒体の実施形態について、図面を参照しながら詳
細に説明する。
【0020】図1は、本発明に係るプログラムの比較解
析装置の実施形態を説明するために示したものである。
このプログラム解析装置は、ユーザ作成の応用ソフトプ
ログラム10と、このユーザ作成の応用ソフトプログラ
ム10を旧バージョンコンパイラ11でコンパイルして
生成した旧バージョンアセンブリ言語プログラム13
と、ユーザ作成の応用ソフトプログラム10を新バージ
ョンコンパイラ12でコンパイルして生成した新バージ
ョンアセンブリ言語プログラム14とを入力し、結果診
断レポート16を出力するプログラム比較部15を備え
るものである。
【0021】ここで、本実施形態におけるプログラム比
較部15が具備するハードウエア構成は、各種処理を行
うためのCPUと、キーボード、マウス、ライトペン、
又はフレキシブルディスク装置等の入力装置と、メモリ
装置やディスク装置等の外部記憶装置と、ディスプレイ
装置、プリンタ装置等の出力装置等とを備えた通常のコ
ンピュータシステムを用いてもよい。なお、前記CPU
は、以下の処理等を行う演算部と、前記処理の命令を記
憶する主記憶部とを具備する。
【0022】なお、このプログラム比較部15は、旧バ
ージョンコンパイラ及び新バージョンコンパイラを同一
のコンピュータシステムに具備するようにしてもよい。
【0023】次に、本実施形態の具体例について、図面
を参照しながら説明する。図2は、この具体例で用いる
ユーザが作成した応用ソフトプログラム10を示したも
のである。この応用ソフトプログラムは、ユーザが作成
しうるプログラムであればよく、例えばCやFORTR
AN等の高級言語で作成したプログラムが含まれる。
【0024】このユーザの作成した応用ソフトプログラ
ム10を、旧バージョンコンパイラ11でコンパイルす
ることによりアセンブリ言語プログラム13が出力され
る。図3は、旧バージョンコンパイラ11で生成され、
出力されたアセンブリ言語プログラム13を示すもので
ある。ここで、一般に、アセンブリ言語プログラムは、
最初の数行は、コンパイラ側でコンパイラのバージョン
情報等を表すコメント文を付加する場合が多い。図3に
示したアセンブリ言語プログラム13においても最初の
2行はコメント文であり、コンパイラの種類やそのバー
ジョン情報(第1行目)等が付加されている。なお、本
実施形態では、「;」(セミコロン)は、それ以降はコ
メント文であることを意味するものとする。
【0025】また、ユーザの作成した応用ソフトプログ
ラム10を新バージョンコンパイラ12でコンパイルす
ることにより、差異情報付きアセンブリ言語プログラム
14が出力される。図4は、新バージョンコンパイラ1
2で生成され、出力されたアセンブリ言語プログラム1
4を示すものである。同図に示したアセンブリ言語プロ
グラム14においても最初の2行はコメント文であり、
コンパイラの種類やそのバージョン等が付加されてい
る。また、7行目のコメント文として付加された「;最
適化」は、新バージョンコンパイラでコンパイルした場
合に、旧バージョンコンパイラでコンパイルして生成し
たアセンブリ言語プログラムと相違する部分を明示する
とともに、その相違する理由を付加したものである。以
降、この情報を差異情報と記す。この7行目は、旧バー
ジョンのコンパイラで生成したアセンブリ言語プログラ
ムでは命令が、「add」となっているのに対し、新バ
ージョンのコンパイラで生成したアセンブリ言語プログ
ラムでは命令が、「inc」となっている。この相違
は、最適化のために発生したものであることを意味す
る。
【0026】次に、プログラム比較部15の説明を行
う。図5は、プログラム比較部15の処理手順を示すフ
ローチャートである。このプログラム比較部15は、ま
ず、ユーザ作成の応用ソフトプログラム10、旧バージ
ョンアセンブラ言語プログラム13、及び新バージョン
アセンブラ言語プログラム14を読み込む(ステップS
101)。続いて、読み込んだ新旧アセンブリ言語プロ
グラム中にバージョン情報部分、アセンブラ命令部分、
及び、関数名部分等を読み込む(ステップS102)。
【0027】続いて、読み込んだ新旧アセンブリ言語プ
ログラム中の、アセンブラ命令部分を行単位で比較し差
異の有無を判断する。(ステップS103)。差異がな
い場合には、「違い無し」を表示して(ステップS10
5)、ステップS113へ進む。一方、差異がある場合
には、「違い有り」を表示して(ステップS104)、
ステップS106へ進む。本実施形態の具体例では、差
異があるので、ステップS106に進む。続いて、新旧
アセンブリ言語の差異部分を抽出し、その部分を抜き出
す(ステップS106)。本実施形態の具体例では、バ
ージョン情報、及び第7行目の差異部分が抜き出され
る。また、抜き出された差異部分のうち、新バージョン
のコンパイラ出力のアセンブリ言語プログラム中の差異
情報部分を読み込む(ステップS107)。続いて、差
異情報の開始文字である「;」(セミコロン)があるか
否かを判断し(ステップS108)、これにより、差異
情報の説明文があるか否かを判断する(ステップS10
9)。この判断によりセミコロンがある場合には、差異
情報があると判断することができる(ステップS11
0)。この場合には、差異情報を表示する(ステップS
111)。一方、差異情報が無い場合には、その差異の
原因が不明であるので、「原因不明」を表示する(ステ
ップS112)。続いて、結果診断レポートに必要なデ
ータを編集して(ステップS113)、結果診断レポー
トファイルを出力する(ステップS114)。
【0028】なお、プログラム比較部では、本来の目的
とは違う情報、例えば、新旧コンパイラのバージョン情
報等の差異については、比較作業は行わないものとす
る。
【0029】図6は、プログラム比較部15により出力
された結果診断レポート16を示したものである。この
結果診断レポートは、関数名表示部161aと、コンパ
イラバージョン表示部162aと、差異情報表示部16
3aと、比較単位表示部164aと、ソース表示部16
5aと、旧バージョンコンパイラ生成アセンブラソース
表示部166aと、新バージョンコンパイラ生成アセン
ブラソース表示部167aとを有するものである。
【0030】ここで、関数名表示部161aは、対象と
なった関数を表示するものである。本実施形態の具体例
では、t_enzan()が対象となる関数である。コ
ンパイラバージョン表示部162aは、旧コンパイラの
バージョン及び新コンパイラのバージョンを表示するた
めのものである。本実施形態の具体例では、旧バージョ
ンが「0.7q08」であり、新バージョンが「0.7
q09」である。また、差異情報表示部163aは、新
旧コンパイラで生成したアセンブリ言語に差異部分があ
ったか否かを表示するためのものである。本実施形態の
具体例では、差異があったので、「差異あり」の表示が
されている。比較単位表示部164aは、比較対象とな
った単位を表示するものである。本実施形態の具体例で
は、関数を比較単位として比較したので、「関数」と表
示がされている。ソース表示部165aは、対象となっ
たユーザ作成応用ソフトプログラムを表示するためのも
のである。本実施形態の具体例では、図2に示したユー
ザ作成応用ソフトプログラムが表示されている。旧バー
ジョンコンパイラ生成アセンブラソース表示部166a
は、旧バージョンコンパイラでコンパイルして生成した
アセンブリ言語を表示するためのものである。本実施形
態の具体例では、図3に示したアセンブリ言語の関数部
分のみが表示されている。新バージョンコンパイラ生成
アセンブラソース表示部167aは、新バージョンコン
パイラでコンパイルして生成したアセンブリ言語を表示
するためのものである。本実施形態の具体例では、図4
に示したアセンブリ言語の関数部分のみが表示されてい
る。また、差異があった場合には、新バージョンコンパ
イラが付加した差異情報も表示するようにしてある。こ
れにより、ユーザはこのような差異が何故発生したかを
把握することができる。
【0031】図7は、別の結果診断レポート16を示し
たものである。この結果診断レポートは、新バージョン
コンパイラ生成アセンブラソース表示部167bで、
「?原因不明」なる文字がプログラム比較部15で付加
されている。これは、図5のフローチャートのステップ
S112で付加されたものである。このように差異があ
った場合であって、その理由がコンパイラ側で付加され
ていないとしても、ユーザは、少なくとも差異があった
ことを把握することができる。
【0032】図8は更に別の結果診断レポート16を示
したものである。この結果診断レポートは、差異情報表
示部163cで「差異無し」なる表示がしてある。これ
は、図5のフローチャートのステップS105で付加さ
れたものである。この場合には、新旧コンパイラでコン
パイルした場合に生成されたアセンブリ言語に差異がな
かったことを意味する。
【0033】このように、差異がある場合は差異有りの
データ163aに、差異のあった命令部分166a,1
67aや差異情報等のデータを編集し、結果診断レポー
ト16として出力する。また、アセンブラ命令部分につ
いて差異の無い場合は、応用ソフトプログラム10から
抽出した関数名161aと旧バージョンコンパイラ11
の出力するアセンブリ言語プログラム13と差異無しの
データのみ編集し、結果診断レポート16として出力す
る。
【0034】また、アセンブラ命令部分に差異が有り、
差異情報データが空白となる場合は、コンパイラ作成者
が意図しない差異であり、新バージョンコンパイラの不
具合である事が確認できる。
【0035】ユーザは、種々の事情により旧バージョン
コンパイラで作成した既存の応用ソフトプログラムを、
新バージョンコンパイラで再コンパイル(再翻訳)した
いと考える。
【0036】この時に重要な事は、新バージョンコンパ
イラで再コンパイルされた応用ソフトプログラムと組み
合わせた検査において、旧バージョンコンパイラでコン
パイルした際の検査で確認した動作と同一の動作が実現
されるかという点であり、さらにハードウエアと組み合
わせた検査を再度実施する際には、ユーザにとって面倒
な作業で応用ソフトプログラムの開発効率を下げないよ
うにする点である。
【0037】本実施形態のプログラムの比較解析装置及
びプログラムの比較解析方法によれば、ユーザは、異な
るコンパイラのバージョン間の差異により発生する応用
ソフトプログラムの相違を、結果レポートを確認する事
で知ることが可能である。これにより、新バージョンコ
ンパイラでコンパイルされた応用ソフトプログラムが、
旧バージョンコンパイラで確認したものと、同一の動作
をするかどうかの確認作業が安易になる。結果的に、応
用ソフトプログラムの開発期間および保守期間の短縮が
望める。
【0038】また、本実施形態のプログラムの比較解析
装置及びプログラムの比較解析方法によれば、ユーザ
は、コンパイラ作成者の提供する新バージョンコンパイ
ラのバグ情報を確認し、旧バージョンコンパイラに不具
合のあることを確認することができ、応用ソフトプログ
ラムの作成時に、旧バージョンコンパイラのバグを発見
することができる。
【0039】更に、本実施形態のプログラムの比較解析
装置及びプログラムの比較解析方法によれば、新バージ
ョンコンパイラに旧バージョンコンパイラよりも優れて
いる機能(コンパイラの使い勝手が良い、完成した応用
ソフトプログラムをハードウエアに組み込んだ差異の実
行速度が向上する等)についての情報を得ることができ
る。
【0040】なお、上述したプログラムの比較解析方法
を実現するためのプログラムは記録媒体に保存すること
ができる。この記録媒体をコンピュータシステムによっ
て読み込ませ、前記プログラムを実行してコンピュータ
を制御しながら上述したプログラムの比較解析方法を実
現することができる。ここで、前記記録媒体とは、メモ
リ装置、磁気ディスク装置、光ディスク装置等、プログ
ラムを記録することができるような装置が含まれる。
【0041】
【発明の効果】以上説明してきたように、本発明に係る
プログラムの比較解析装置、プログラムの比較解析方
法、及びプログラムの比較解析プログラムを記録した機
械読み取り可能な記録媒体によれば、コンパイラのバー
ジョンの差異により生じるアセンブリ言語プログラムの
相違を解析してユーザに理解しやすく表示することがで
きる。
【図面の簡単な説明】
【図1】本実施形態のプログラム比較解析装置を示すブ
ロック図である。
【図2】本実施形態を説明するために用いるユーザ作成
応用ソフトプログラム10を示す図である。
【図3】プログラム10を旧バージョンコンパイラでコ
ンパイルして生成された旧バージョンアセンブリ言語プ
ログラム13である。
【図4】プログラム10を新バージョンコンパイラでコ
ンパイルして生成された新バージョンアセンブリ言語プ
ログラム14である。
【図5】プログラム比較部15のアルゴリズムを示すフ
ローチャートである。
【図6】結果診断レポート16を示す図である。
【図7】比較により原因不明箇所がある場合の結果診断
レポート16を示す図である。
【図8】比較により差異がない場合の結果診断レポート
16を示す図である。
【図9】新旧コンパイラにより生成されたアセンブリ言
語のファイルを単純に比較する従来方法により出力され
た結果を示したものである。
【符号の説明】
10 ユーザ作成用ソフトプログラム 11 旧バージョンコンパイラ 12 新バージョンコンパイラ 13 旧バージョンアセンブリ言語プログラム 14 新バージョンアセンブリ言語プログラム 15 プログラム比較部 16 結果診断レポート 161 関数名表示部 162 コンパイラバージョン表示部 163 差異情報表示部 164 比較単位表示部 165 ソース表示部 166 旧バージョンコンパイラ生成アセンブラソース
表示部 167 新バージョンコンパイラ生成アセンブラソース
表示部

Claims (9)

    【特許請求の範囲】
  1. 【請求項1】 ユーザ作成の応用ソフトプログラムと、
    このユーザ作成の応用ソフトプログラムを旧バージョン
    コンパイラでコンパイルして生成した旧バージョンアセ
    ンブリ言語プログラムと、ユーザ作成の応用ソフトプロ
    グラムを新バージョンコンパイラでコンパイルして生成
    した新バージョンアセンブリ言語プログラムとを入力す
    る手段と、 前記旧バージョンアセンブリ言語プログラムと前記新バ
    ージョンアセンブリ言語プログラムとのアセンブラ部分
    を比較して、差異がある場合にはその差異部分を抽出す
    る手段と、 前記差異部分の差異情報があるか否かを判断し、前記差
    異情報がある場合には、その差異情報を抽出する手段
    と、 前記抽出された差異部分、及び前記差異情報を結果診断
    レポートとして出力する手段と、 を備えることを特徴とするプログラムの比較解析装置。
  2. 【請求項2】 前記結果診断レポートは、 前記比較を行った関数を表示する関数名表示部と、 前記旧バージョンのコンパイラ及び前記新バージョンの
    コンパイラのバージョン情報を表示するコンパイラバー
    ジョン表示部と、 前記抽出された差異部分を表示する差異情報表示部と、 前記比較対象となった単位を表示する比較単位表示部
    と、 前記ユーザ作成の応用ソフトプログラムを表示するソー
    ス表示部と、 前記旧バージョンアセンブリ言語プログラムを表示する
    バージョンコンパイラ生成アセンブラソース表示部と、 前記新バージョンアセンブリ言語プログラムを表示する
    新バージョンコンパイラ生成アセンブラソース表示部
    と、 を有することを特徴とする請求項1記載のプログラムの
    比較解析装置。
  3. 【請求項3】 ユーザ作成の応用ソフトプログラムと、
    このユーザ作成の応用ソフトプログラムを旧バージョン
    コンパイラでコンパイルして生成した旧バージョンアセ
    ンブリ言語プログラムと、ユーザ作成の応用ソフトプロ
    グラムを新バージョンコンパイラでコンパイルして生成
    した新バージョンアセンブリ言語プログラムとを入力
    し、 前記旧バージョンアセンブリ言語プログラムと前記新バ
    ージョンアセンブリ言語プログラムとのアセンブラ部分
    を比較して、差異がある場合にはその差異部分を抽出
    し、 前記差異部分の差異情報があるか否かを判断し、前記差
    異情報がある場合には、その差異情報を抽出し、 前記抽出された差異部分、及び前記差異情報を結果診断
    レポートとして出力することを特徴とするプログラムの
    比較解析方法。
  4. 【請求項4】 前記旧バージョンアセンブリ言語プログ
    ラムと前記新バージョンアセンブリ言語プログラムとの
    アセンブラ部分を比較して、差異が無い場合には、その
    旨を結果診断レポートとして出力することを特徴とする
    請求項3記載のプログラムの比較解析方法。
  5. 【請求項5】 前記差異部分の差異情報があるか否かを
    判断し、前記差異情報が無い場合には、その差異が発生
    した原因が不明である旨、及び前記差異情報を結果診断
    レポートとして出力することを特徴とする請求項3記載
    のプログラムの比較解析方法。
  6. 【請求項6】 前記結果診断レポートは、 前記比較を行った関数と、 前記旧バージョンのコンパイラ及び前記新バージョンの
    コンパイラのバージョン情報と、 前記抽出された差異部分と、 前記比較対象となった単位と、 前記ユーザ作成の応用ソフトプログラムと、 前記旧バージョンアセンブリ言語プログラムと、 前記新バージョンアセンブリ言語プログラムと、 を有することを特徴とする請求項3記載のプログラムの
    比較解析方法。
  7. 【請求項7】 ユーザ作成の応用ソフトプログラムと、
    このユーザ作成の応用ソフトプログラムを旧バージョン
    コンパイラでコンパイルして生成した旧バージョンアセ
    ンブリ言語プログラムと、ユーザ作成の応用ソフトプロ
    グラムを新バージョンコンパイラでコンパイルして生成
    した新バージョンアセンブリ言語プログラムとを入力す
    るステップと、 前記旧バージョンアセンブリ言語プログラムと前記新バ
    ージョンアセンブリ言語プログラムとのアセンブラ部分
    を比較して、相違がある場合にはその差異部分を抽出す
    るステップと、 前記差異部分の差異情報があるか否かを判断し、前記差
    異情報がある場合には、その差異情報を抽出するステッ
    プと、 前記抽出された差異部分、及び前記差異情報を結果診断
    レポートとして出力するステップと、 をコンピューターに実行させることを特徴とするプログ
    ラムの比較解析プログラムを記録した機械読み取り可能
    な記録媒体。
  8. 【請求項8】 コンピューターに前記旧バージョンアセ
    ンブリ言語プログラムと前記新バージョンアセンブリ言
    語プログラムとのアセンブラ部分を比較させ、差異が無
    い場合には、その旨を結果診断レポートとして出力させ
    ることを特徴とする請求項7記載のプログラムの比較解
    析プログラムを記録した機械読み取り可能な記録媒体。
  9. 【請求項9】 コンピューターに前記差異部分の差異情
    報があるか否かを判断させ、前記差異情報が無い場合に
    は、その差異が発生した原因が不明である旨、及び前記
    差異情報を結果診断レポートとして出力させることを特
    徴とする請求項7記載のプログラムの比較解析プログラ
    ムを記録した機械読み取り可能な記録媒体。
JP9100502A 1997-04-17 1997-04-17 プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体 Pending JPH10293683A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9100502A JPH10293683A (ja) 1997-04-17 1997-04-17 プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9100502A JPH10293683A (ja) 1997-04-17 1997-04-17 プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体

Publications (1)

Publication Number Publication Date
JPH10293683A true JPH10293683A (ja) 1998-11-04

Family

ID=14275721

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9100502A Pending JPH10293683A (ja) 1997-04-17 1997-04-17 プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体

Country Status (1)

Country Link
JP (1) JPH10293683A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100655275B1 (ko) * 1999-08-25 2006-12-08 삼성전자주식회사 조건 분기 명령어의 컴파일 방법
JP2014013435A (ja) * 2012-07-03 2014-01-23 Fujitsu Ltd コンパイル実行・管理方法、装置、及びプログラム
US9223570B2 (en) 2013-03-14 2015-12-29 Red Hat, Inc. Migration assistance using compiler metadata
CN109815111A (zh) * 2018-12-13 2019-05-28 深圳壹账通智能科技有限公司 灰度测试方法、装置、计算机设备及存储介质
CN112597057A (zh) * 2021-01-04 2021-04-02 网易(杭州)网络有限公司 一种蓝图数据的差异化处理方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100655275B1 (ko) * 1999-08-25 2006-12-08 삼성전자주식회사 조건 분기 명령어의 컴파일 방법
JP2014013435A (ja) * 2012-07-03 2014-01-23 Fujitsu Ltd コンパイル実行・管理方法、装置、及びプログラム
US9223570B2 (en) 2013-03-14 2015-12-29 Red Hat, Inc. Migration assistance using compiler metadata
CN109815111A (zh) * 2018-12-13 2019-05-28 深圳壹账通智能科技有限公司 灰度测试方法、装置、计算机设备及存储介质
CN112597057A (zh) * 2021-01-04 2021-04-02 网易(杭州)网络有限公司 一种蓝图数据的差异化处理方法和装置
CN112597057B (zh) * 2021-01-04 2023-10-20 网易(杭州)网络有限公司 一种蓝图数据的差异化处理方法和装置

Similar Documents

Publication Publication Date Title
US5926638A (en) Program debugging system for debugging a program having graphical user interface
US7296261B2 (en) Method for determining the degree to which changed code has been exercised
KR100915762B1 (ko) 통합 개발 환경에서의 의사 번역
US7231633B2 (en) Debugging with set verbosity level during read and analysis of executable code and associated comments while logging according to set verbosity level
US8117589B2 (en) Metadata driven API development
US8122440B1 (en) Method and apparatus for enumerating external program code dependencies
US20230004368A1 (en) Multi-chip compatible compiling method and device
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
JP2000181725A (ja) 実行可能なコ―ドを改変し、追加機能を付与するための方法およびシステム
JP5208635B2 (ja) プログラミングを支援するための情報処理装置、情報処理システム、プログラミング支援方法およびプログラム
US7721250B2 (en) System and method for interactive and integrated software development process and phases
US8898649B2 (en) Application program analysis method, analysis system and recording medium for identifying a contributing factor for an invalid operation of an application program
KR20100106409A (ko) 다중 언어 소프트웨어 코드 분석
US7240334B1 (en) Methods, systems, and computer program products for deferred computer program tracing
JPH0748182B2 (ja) プログラム・エラー検出方法
JP6845429B2 (ja) コンパイラプログラム、情報処理装置およびコンパイル方法
US20110202906A1 (en) Compiling method and compiling program
US20220179930A1 (en) Source modification engine
JP2008276735A (ja) プログラムコード変換装置及びプログラムコード変換方法
JPH10293683A (ja) プログラムの比較解析装置、プログラムの比較解析方法、及びプログラムの比較解析プログラムを記録した機械読み取り可能な記録媒体
EP1202171A2 (en) Compile method and program recording medium
JP2008052688A (ja) プログラムのパッチデータ生成装置
Freeman et al. Using the Go Tools
JP4983027B2 (ja) チェックプログラム及びチェック方法
JPH11110256A (ja) プログラムデバッグ装置、プログラムデバッグ方法及びその方法を記録したコンピュータ読取り可能な記録媒体