JP2002215391A - プログラム解析装置及びプログラム解析方法及び記録媒体 - Google Patents

プログラム解析装置及びプログラム解析方法及び記録媒体

Info

Publication number
JP2002215391A
JP2002215391A JP2001345350A JP2001345350A JP2002215391A JP 2002215391 A JP2002215391 A JP 2002215391A JP 2001345350 A JP2001345350 A JP 2001345350A JP 2001345350 A JP2001345350 A JP 2001345350A JP 2002215391 A JP2002215391 A JP 2002215391A
Authority
JP
Japan
Prior art keywords
variable
subroutine
program
extracting
execution path
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
JP2001345350A
Other languages
English (en)
Inventor
Akihiko Matsuo
昭彦 松尾
Kenji Nagahashi
賢児 長橋
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2001345350A priority Critical patent/JP2002215391A/ja
Publication of JP2002215391A publication Critical patent/JP2002215391A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

(57)【要約】 【課題】プログラムを解析してサブルーチンを抽出し、
その呼出し関係を正確に出力する装置を提供すること。 【解決手段】プログラムを解析し、実行経路を分析する
実行経路分析手段と、分析されたプログラムの中から実
行経路にサブルーチンを含む条件分岐文の条件変数およ
びそのサブルーチンの呼出し先変数を検出する変数検出
手段と、検出された変数について、変数検出箇所からプ
ログラムの実行経路を順次遡り、変数の代入元の定数を
探索し確定する変数値確定処理手段と、確定された変数
値を基に条件分岐文の分岐箇所を限定し、限定した経路
から呼出し先が確定したサブルーチンを抽出する実行経
路限定手段とを備え、抽出したサブルーチンを基に予め
指定されたプログラムの構成図を生成出力するプログラ
ム解析装置。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のプログラム
から構成される大規模なソフトウェアの作成および保守
に不可欠な、処理内容の理解に用いられるサブルーチン
呼び出し関係情報を生成出力する装置に関する。
【0002】
【従来の技術】大規模なソフトウェアの構造を理解する
際に不可欠と言えるのが、サブルーチンの呼び出し関係
情報(サブルーチンによるプログラム構成図)である。
大規模なシステムではサブルーチンが別のサブルーチン
を呼んでいることがしばしばあり、注目しているプログ
ラムが実際にどのような処理を実行するのかをソースコ
ードを追いながら把握するのは困難である。こうした場
合に従来から、プログラムを構文解析し、サブルーチン
の呼び出し関係を作成し表示する装置が用いられてき
た。この装置を用いることで処理内容の把握が容易とな
り、また多くのプログラムの中からデータの読み込みを
行う処理や書き出しを行う処理を行う箇所などを素早く
特定することが可能になる。
【0003】図12に、従来例のプログラム解析装置の構
成図を示す。プログラム解析装置1は、入力部2 、記憶
部3、構文解析部13、プログラム構成図生成出力部8、
表示部10、サブルーチン抽出部11からなる。図13に、従
来例のプログラム解析装置の処理の流れ図を示す。図14
に従来のプログラムと表示例1を示す。
【0004】図14(a) にプログラム例を、図14(b) に表
示例を示す。まず、入力部2は、指定されたソースプロ
グラムを記憶部3から読込み、その中の指定された対象
プログラムを構文解析部13に渡す(S101 ステッフ゜)。次
に、構文解析部13は、対象プログラムについて構文解析
をする(S102 ステッフ゜)。 次に、サブルーチン抽出部11
は、構文解析された対象プログラムの中からサブルーチ
ン呼出し箇所をリストアップする(S103 ステッフ゜)。
【0005】図14(a) のPGM01 、PGM02 に示す対象プロ
グラムからは、サブルーチンDBIO001 、サブルーチンDB
IO002 がリストアップされる。次に呼び出されるサブル
ーチンの中から更にサブルーチンをリストアップする(S
104 ステッフ゜)。図14(a) に示すようにサブルーチンDBIO0
01 からは、サブルーチンDBWRITE,サブルーチンDBIO002
からは、DBREADが検出される。
【0006】次に全サブルーチンが終了したか確認する
(S105 ステッフ゜)。まだ、DBWRITE,DBREADについては、未
チェックのため、S104ステップに戻る。 DBWRITE,DBRE
ADのサブルーチンをリストアップする。DBWRITE,DBREAD
内には、サブルーチンはないものとすると、何もリスト
アップされない。
【0007】次に、全サブルーチン完了かを再度チェッ
クする(S105 ステッフ゜)。全サブルーチン完了したため、
その呼出し関係から呼出し関係情報すなわちプログラム
構成図を生成し、表示部10に出力する(S106 ステッフ゜)。
表示例を図14(b) に示す。
【0008】
【発明が解決しようとする課題】大規模なソフトウェア
では、特定のデータファイルの読み書きなどの処理など
もサブルーチン化され、システムの変更などによる影響
箇所を少なくすることに貢献している。このようなアク
セスサブルーチンは、データの読み込みや書き出しを一
つのサブルーチンにまとめ、その引数の一つを制御コマ
ンドとすることで記述を容易にしていることが多い。
【0009】また、サブルーチンの呼び出し先を変数に
よって指定しておき実行時に値を確定させるような手法
も、処理効率や拡張性、柔軟性のためによく使われる。
ところが、従来のプログラム解析装置では、呼び出し先
のサブルーチンが変数の値によって決まる場合の呼び出
し先を特定することが出来ず、充分な情報を表示するこ
とができなかった。例えば、上記のような制御コマンド
形式のサブルーチンを呼び出している場合、その箇所か
らはデータの書き込みは行わないにも関わらず書き込み
ルーチンへの呼び出し関係が表示されてしまうといった
問題があった。
【0010】図15に従来例のプログラムと表示例2を示
す。例えば、プログラムPGM03 では書き込み処理のため
にDBIOSUB1を呼んでいるが、図15(b) に示すプログラム
構成図上では、読み込み処理も行っているように表示さ
れてしまう。また、プログラムPGM04 では読み込み処理
のためにDBIOSUB2を呼んでいるが、図15(b) に示すプロ
グラム構成図上では、書きこみ処理も行っているように
表示されてしまう。
【0011】また、このようなサブルーチンに対して、
制御コマンドとして不適当な値を使っているため正常に
動作しなかったり、使われることのない不要な制御コマ
ンドが用意されていて性能上・保守上の問題になってい
るようなケースについても従来の技術ではチェックする
ことができず目視確認や動作テストが必要とされてい
た。
【0012】本発明の目的は、プログラムを解析してサ
ブルーチンを抽出し、その呼出し関係をより正確に出力
するプログラム解析装置の提供にある。
【0013】
【課題を解決するための手段】予め指定されたプログラ
ムから抽出されたサブルーチンを基にサブルーチンの中
からサブルーチンを抽出する処理を繰返すサブルーチン
抽出手段と、抽出されたサブルーチンを基に指定された
プログラムの構成図を生成し出力するプログラム構成図
生成出力手段とを有するプログラム解析装置であって、
サブルーチン抽出手段は、プログラムを解析し、実行経
路を分析する実行経路分析手段と、分析されたプログラ
ムの中から実行経路にサブルーチンを含む条件分岐文の
条件変数およびそのサブルーチンの呼出し先変数を検出
する変数検出手段と、検出された変数について、変数検
出箇所からプログラムの実行経路を順次遡り、変数の代
入元の定数を探索し確定する変数値確定処理手段と、確
定された変数値を基に条件分岐文の分岐箇所を限定し、
限定した経路から呼出し先が確定したサブルーチンを抽
出する実行経路限定手段とを備えた構成である。
【0014】この構成により、ソースプログラムを読込
み、まず分析対象プログラムのサブルーチンを抽出す
る。そしてサブルーチン内の実行経路上に、条件分岐文
とサブルーチンを抽出し、条件分岐文の条件変数および
サブルーチンの呼出し先の変数を検出する。次に実行経
路を順次遡りながら、その変数の代入元の定数を探索す
ることで、変数値を自動的に検出し確定する。そして、
確定した定数により、条件分岐文の分岐場所が確定する
ので、その実行経路の呼出し先が確定したサブルーチン
を抽出する。次に、このサブルーチンを呼出し、そのサ
ブルーチン内についても、これらの処理を繰り返すこと
で、サブルーチンの呼び出し関係が確定する。そして分
析対象プログラムから順次呼出されるサブルーチンの経
路が決まるので、この経路のサブルーチンからなるプロ
グラム構成図を生成する。この結果、より正確なプログ
ラム構成図を出力することが可能となる。
【0015】また、変数値確定処理手段は、予めプログ
ラムを実行させて取得した変数値を記憶する変数値記憶
手段と、変数の代入元の定数を探索のときに、変数値記
憶手段から変数に対応する変数値を取得する変数値取得
手段とを備えた構成である。この構成により、予めプロ
グラムの実行により取得した変数値を使用することがで
きるのでプログラムの実行経路が明確となり、より正確
なプログラム構成図を生成出力することが可能となる。
【0016】また、分析された実行経路からサブルーチ
ンを抽出し、抽出されたサブルーチンの使用変数の変数
を確定する使用変数値確定手段と、サブルーチン内の条
件分岐文の各分岐箇所の条件変数の変数値を抽出する分
岐箇所変数値抽出手段と、使用変数値確定手段で得られ
た変数値と分岐箇所変数値抽出手段で抽出された変数値
との比較内容を抽出し、出力する変数値比較出力手段と
を備えた構成である。
【0017】この構成により、予めサブルーチンを呼び
出す側のサブルーチンの変数値の抽出と、呼出される側
のサブルーチンの条件分岐文の分岐箇所の変数値との比
較ができる。この結果、不一致により、エラーを発見
し、修正できるので、より正確なサブルーチンの呼び出
し関係から生成されるプログラム構成図をより正確に出
力することが可能となる。
【0018】
【発明の実施の形態】図1にプログラム解析装置の実施
例1の構成図を示す。プログラム解析装置1は、入力部
2、記憶部3、変数値記憶部4、構文解析実行経路分析
部5、実行経路限定部6、変数値確定処理部7、プログ
ラム構成図生成出力部8、引数比較処理部9、表示部1
0、変数値取得部12から構成される。
【0019】図2に実施例1のプログラム解析装置の処
理の流れ図を示す。図6に実施例のプログラムと表示例
を示す。図6(a) の分析対象プログラムPGM03,PGM04 に
対する実行処理について、説明を行う。まずソースプロ
グラム名、対象プログラム名を入力部2により指定す
る。そして入力部2は、指定されたソースプログラムを
記憶部3から読み込み、分析対象プログラム名ともに構
文解析実行経路分析部5に渡す。
【0020】図6(a) の例では、対象プログラムとして
PGM03 ,PGM04が指定される。(S11ステッフ゜)。次に、構文
解析実行経路分析部5は、対象プログラムPGM03 に対し
て、構文を解析し実行経路分析を行う(S12ステッフ゜) 。分
析結果から、プログラムPGM03 の条件分岐箇所をリスト
アップする(S13ステッフ゜)。プログラムPGM03 には、条件
分岐箇所はないため、S15ステッフ゜ へ進む。
【0021】次に実行可能性のあるサブルーチンの呼出
し箇所をリストアップする。サブルーチン'DBIOSUB1'が
検出される( S15ステッフ゜ )。図4に実施例1の変数値確
定処理の流れ図を示す。次にサブルーチンの呼出し先の
変数を変数値確定処理部7にて確認する( S16ステッフ゜
)。サブルーチンの呼出し先は、変数ではなく、固定
値 'DBIOSUB1' であるので、変数値確定済として何もせ
ずに終了する( S31ステッフ゜ )。
【0022】次に呼び出されるサブルーチンの処理をす
べて完了しているか確認する(S17ステッフ゜)。サブルーチ
ン'DBIOSUB1'の処理が未了のため、対象プログラムにDB
IOSUB1を設定し、また、S12 ステッフ゜に戻り、同様な処理
を繰り返す。構文解析実行経路分析部5は、対象プログ
ラムDBIOSUB1に対して、構文を解析し実行経路分析を行
う(S12ステッフ゜) 。
【0023】分析結果から、サブルーチンDBIOSUB1のプ
ログラムの中から実行経路にサブルーチンを含む条件分
岐箇所をリストアップする(S13ステッフ゜)。図6(a) で
は、IF文3箇所(図6(a) の〜)が検出される。次
に条件分岐箇所について、実行経路限定部6にて実行経
路限定処理を行う(S14ステッフ゜)。
【0024】図3に実施例1の実行経路限定処理の流れ
図を示す。分岐箇所で使用されている変数をリストアッ
プする(S21ステッフ゜)。CMDID がリストアップされる。変
数について、変数値確定処理部7に値を問い合わせる(S
22ステッフ゜)。まず変数値が確定しているか否かをチェッ
クする(S31ステッフ゜)。
【0025】まだ、未確定のため、サブルーチンDBIOSU
B1の条件分岐箇所である注目箇所(図6(a) の)の前
に、実行される文があるか否かを判定する(S32ステッフ
゜)。実行文を呼出し元のプログラムPGM03 まで戻り、
直前の文(図6(a) に)をリストアップする。(S33ステ
ッフ゜)。その文に対して、確定実行処理を呼び出す(S34ス
テッフ゜)。
【0026】図5に実施例1の確定実行処理の流れ図を
示す。その文は注目変数CMDID の値を変更しているかを
確認する(S41ステッフ゜)。変更していないため、注目個所
をその文にして、変数値確定処理に戻る(S46ステッフ゜)。
まず変数値が確定しているか否かを確定値リストでチェ
ックする(S31ステッフ゜)。 まだ、未確定のため、サブル
ーチンDBIOSUB1の呼出し箇所である注目箇所(図6(a)
の)の前に、実行される文があるか否かを判定する(S
32ステッフ゜)。
【0027】実行文があるため、その直前の文(図6
(a) に)をリストアップする。(S33ステッフ゜)。その文
に対して、確定実行処理を呼び出す(S34ステッフ゜)。その
文は注目変数CMDID の値を変更しているかを確認する(S
41ステッフ゜)。注目変数CMIDは'WT'で変更されている。
【0028】次に、その文が代入している値が何かを確
認する(S42ステッフ゜)。'WT'は、定数のため、確定値リス
トに入れる(S43ステッフ゜)。そして、変数値確認処理に戻
る。変数値処理で、すべての変数値が完了したかを確認
する(S30ステッフ゜)。すべての変数値が完了したため、図
3に戻る。
【0029】変数が確定しているので、それを取得する
(S23ステッフ゜)。次に確定値 'WT' により、分岐条件をチ
ェックする(S24ステッフ゜)。IF文の中で、'WT'が成立する
箇所(図6(a)の)があるため、その成立時以外経
路、図6(a) の及びは、実行可能性なしとする(S25
ステッフ゜)。次に、図2に戻ると、IF文の中で、'WT'が成
立する箇所の実行可能性のあるサブルーチン'DBWRITE'
(図6(a) の(1))を抽出する(S15 ステッフ゜)。
【0030】サブルーチンの呼出し先は、変数でなく固
定値'DBWRITE' のため、変数値確定処理で、何もせずに
戻る(S16 ステッフ゜)。次に呼び出されるサブルーチンの
処理をすべて完了しているか確認する(S17ステッフ゜)。DBW
RITE の処理が未了のため、対象プログラムにDBWRITE
を設定し、また、S12 ステッフ゜に戻り、同様な処理を繰り
返す。
【0031】図示はしていないが、DBWRITE に条件分
岐、サブルーチンを含まないものとする。DBWRITE につ
いて、構文解析、実行経路解析が行われて(S12ステッフ
゜)、条件分岐およびサブルーチンがないので、S17 ステッ
フ゜に行き、全サブルーチンを対象プログラムとして処理
完了のため、処理を終了する。
【0032】この結果、プログラムPGM03 の中から、サ
ブルーチンDBIOSUB1が抽出され、更にサブルーチンDBIO
SUB1の中からサブルーチンDBWRITE が抽出されるプログ
ラムの実行経路が確定する。次に、全指定プログラムが
完了したかをチェックする(S18 ステッフ゜)。未了のた
め、プログラムPGM04 についても同様の処理を行う。
【0033】その結果、プログラムPGM04 の中から、サ
ブルーチンDBIOSUB1が抽出され、更にサブルーチンDBIO
SUB1の中からサブルーチンDBREADが抽出されるプログラ
ムの実行経路が確定する。そして全ての指定プログラム
が完了すると、プログラム構成図生成出力部8は、プロ
グラムのサブルーチンの実行経路について得た情報に基
いてプログラム構成図を生成し、表示部に出力する(S1
9 ステッフ゜)。図6に表示部の出力例を示す。 また、変
数値の確定を上記のように、自動で行わずに、画面上に
変数値問い合わせのメッセージを表示させ、オペレータ
がマニュアルで指定する方法もある。 また、対象とな
るプログラム中の注目箇所に、その箇所での変数の値を
外部に記録するプログラムを追加し、その対象となるプ
ログラムをあらかじめ動作させておくことで変数の値の
記録を作成しておく。そして変数値取得部12でこの記録
を参照する。
【0034】図7に実施例1の変数値記憶処理の説明図
を示す。変数の値を外部に記録する処理を追加した例で
ある。二重線の枠で囲まれた部分が追加したプログラム
である。このプログラムPGM10 は変数CMDID を使って指
定されるプログラムDBIOSUB3を呼び出しているが、CMDI
D の値はファイルから読み込まれるためプログラム解析
だけでは値が決められない。そのため、この変数の内容
を、ログファイルに出力するサブルーチンを追加するこ
とで記録している。
【0035】すなわち変数CMDID の引数となるCMD をCM
D-FILEから読み出したときにログをとり、変数値記憶部
4 に格納している。ログ記録完了後に、プログラム解析
装置1にて、図5の確定実行処理を行うときに、S42 ステ
ッフ゜で、その文が代入している値CMD を確認したときに
(図7の)、通常変数のため、注目変数CMIDをその変
数CMD にして(S45 ステッフ゜)変数値確定処理を再帰的に
呼出す(S46 ステッフ゜) 。
【0036】そして変数値確認処理で、変数値未確認の
ため、注目処理の前の文(図7の)をリストアップ
し、そして再度、図5の確定実行処理を行う。その文
は、注目変数CMD を変更している(S41 ステッフ゜)。その
ため、その文が代入している値は、外部入力(図7の
)のため、変数値取得部12は、ログファイルから変数
CMD に対応する定数を呼出してくる。この値を確定値リ
ストに設定することで、変数値確定処理が完了する。
【0037】また、図8に実行経路の強調表示例を示
す。プログラム構成図生成出力部8では、呼出し関係を
表示するときに、サブルーチン名ではなく、指定プログ
ラムから呼び出されるサブルーチンのソースを、実行さ
れる可能性がある範囲を例えばハイライトにより区別し
て表示することでより見やすい形態となる。この表示例
を図8に示す。この図は、第6(a)のプログラムPGM0
4 の例であり、CMDID='RD'のときの実行経路を強調表示
している。
【0038】次に、図9に実施例2の処理の流れ図を示
す。まずソースプログラム名、対象プログラム名を入力
部2により指定する。そして入力部2は、指定されたソ
ースプログラムを記憶部3から読み込み、分析対象プロ
グラム名ともに構文解析実行経路分析部5に渡す(S51ステ
ッフ゜)。次に全対象プログラムを構文解析実行経路分析
部5にて構文解析、実行経路分析を行う(S52ステッフ゜)。
【0039】次に、引数比較処理部9は、サブルーチン
を抽出し、そのサブルーチンの引数の一覧表を作成する
(S53ステッフ゜)。図10に実施例2のプログラム例を示す。
図11に実施例2のサブルーチン引数比較図の説明図を示
す。図10のプログラムPGM03,PGM04,PGM07 の場合は、サ
ブルーチンDBIOSUB1が共通で抽出される。
【0040】そして、変数値確定処理部7にて、使用引
数の変数値を確定する。変数CMDIDに対して、PGM03
は、引数'WT'、PGM04 は、引数'RD'、PGM07 は、引数'R
E'を検出する。また、変数DENPYOに対して、PGM03 は、
引数 '不定' PGM04 は、引数 '不定' PGM07 は、引数 '
不定’を検出する。次に、抽出した引数をもとに、引数
比較処理部9は、この一覧表を生成する。
【0041】次に、指定プログラムから呼出されるサブ
ルーチンDBIOSUB1について、構文解析、実行経路分析を
行う(S54ステッフ゜)。引数比較処理部9は、条件分岐箇所
について使用変数を抽出する(S55ステッフ゜)。 すなわ
ち、DBIOSUB1のIF文の分岐箇所の使用変数CMDID に対応
する変数値である引数'WT','RD','CL'を検出する。そし
て、引数値一覧表と比較する。
【0042】プログラムPGM07 から呼び出すサブルーチ
ンDBIOSUB1の変数CMDID の引数'RE'に対応するものがサ
ブルーチンDBIOSUB1の中のプログラムにない。また、サ
ブルーチンDBIOSUB1の変数CMDID の引数'CL'に対応する
ものを使用して呼出す指定プログラムが見つからない。
そして、これらの比較した結果を表示部10に表示出力す
る(S56ステッフ゜)。
【0043】
【発明の効果】本発明では、サブルーチンの呼び出し箇
所における変数の値によって呼び出し先が変わったり処
理内容が大きく異なるような場合においても呼び出し先
に関する正確な情報を表示できるため、プログラムの作
成や保守に必要な処理内容の把握が容易となり、その結
果作業に必要な工数が削減される。
【図面の簡単な説明】
【図1】 実施例1のプログラム解析装置の構成図
【図2】 実施例1のプログラム解析装置の処理の流
れ図
【図3】 実施例1の実行経路限定処理の流れ図
【図4】 実施例1の変数値確定処理の流れ図
【図5】 実施例1の確定実行処理の流れ図
【図6】 実施例のプログラムと表示例
【図7】 実施例1の変数値記録処理の説明図
【図8】 実施例1の実行経路の強調表示例の説明図
【図9】 実施例2のプログラム解析装置の処理の流
れ図
【図10】 実施例2のプログラム例
【図11】 実施例2のサブルーチンの引数比較図の説
明図
【図12】 従来例のプログラム解析装置の構成図
【図13】 従来例のプログラム解析装置の処理の流れ
【図14】 従来例のプログラム例と表示例1
【図15】 従来例のプログラム例と表示例2
【符号の説明】
1 プログラム解析装置 2 入力部 3 記憶部 4 変数値記憶部 5 構文解析実行経路分析部 6 実行経路限定部 7 変数値確定処理部 8 プログラム構成図生成出力部 9 引数比較処理部 10 表示部 11 サブルーチン抽出部 12 変数値取得部 13 構文解析部

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 予め指定されたプログラムから抽出され
    たサブルーチンを基にサブルーチンの中からサブルーチ
    ンを抽出する処理を繰返すサブルーチン抽出手段と、抽
    出されたサブルーチンを基に指定されたプログラムの構
    成図を生成し出力するプログラム構成図生成出力手段と
    を有するプログラム解析装置であって、 サブルーチン抽出手段は、プログラムを解析し、実行経
    路を分析する実行経路分析手段と、 分析されたプログラムの中から実行経路にサブルーチン
    を含む条件分岐文の条件変数およびそのサブルーチンの
    呼出し先変数を検出する変数検出手段と、 検出された変数について、変数検出箇所からプログラム
    の実行経路を順次遡り、変数の代入元の定数を探索し確
    定する変数値確定処理手段と、 確定された変数値を基に条件分岐文の分岐箇所を限定
    し、限定した経路から呼出し先が確定したサブルーチン
    を抽出する実行経路限定手段とを備えたことを特徴とす
    るプログラム解析装置。
  2. 【請求項2】 変数値確定処理手段は、予めプログラム
    を実行させて取得した変数値を記憶する変数値記憶手段
    と、変数の代入元の定数を探索のときに、変数値記憶手
    段から変数に対応する変数値を取得する変数値取得手段
    とを備えたことを特徴とする請求項1記載のプログラム
    解析装置。
  3. 【請求項3】 分析された実行経路からサブルーチンを
    抽出し、抽出されたサブルーチンの使用変数の変数を確
    定する使用変数値確定手段と、 サブルーチン内の条件分岐文の各分岐箇所の条件変数の
    変数値を抽出する分岐箇所変数値抽出手段と、 使用変数値確定手段で得られた変数値と分岐箇所変数値
    抽出手段で抽出された変数値との比較内容を抽出し出力
    する変数値比較出力手段とを備えたことを特徴とする請
    求項1記載のプログラム解析装置。
  4. 【請求項4】 予め指定されたプログラムから抽出され
    たサブルーチンを基にサブルーチンの中からサブルーチ
    ンを抽出する処理を繰返すサブルーチン抽出ステップ
    と、抽出されたサブルーチンを基に指定されたプログラ
    ムの構成図を生成し出力するプログラム構成図生成出力
    ステップとを有するプログラム解析方法であって、 サブルーチン抽出ステップは、プログラムを解析し、実
    行経路を分析する実行経路分析ステップと、 分析されたプログラムの中から実行経路にサブルーチン
    を含む条件分岐文の条件変数およびそのサブルーチンの
    呼出し先変数を検出する変数検出ステップと、 検出された変数について、変数検出箇所からプログラム
    の実行経路を順次遡り、変数の代入元の定数を探索し確
    定する変数値確定処理ステップと、 確定された変数値を基に条件分岐文の分岐箇所を限定
    し、限定した経路から呼出し先が確定したサブルーチン
    を抽出する実行経路限定ステップとを備えたことを特徴
    とするプログラム解析方法。
  5. 【請求項5】 予め指定されたプログラムから抽出され
    たサブルーチンを基にサブルーチンの中からサブルーチ
    ンを抽出する処理を繰返すサブルーチン抽出機能と、抽
    出されたサブルーチンを基に指定されたプログラムの構
    成図を生成し出力するプログラム構成図生成出力機能と
    を実現するプログラムを記録した記録媒体であって、 サブルーチン抽出機能は、プログラムを解析し、実行経
    路を分析する実行経路分析機能と、 分析されたプログラムの中から実行経路にサブルーチン
    を含む条件分岐文の条件変数およびそのサブルーチンの
    呼出し先変数を検出する変数検出機能と、 検出された変数について、変数検出箇所からプログラム
    の実行経路を順次遡り、変数の代入元の定数を探索し確
    定する変数値確定処理機能と、 確定された変数値を基に条件分岐文の分岐箇所を限定
    し、限定した経路から呼出し先が確定したサブルーチン
    を抽出する実行経路限定機能とを実現するプログラムを
    記録したコンピュータによって読取り可能な記録媒体。
  6. 【請求項6】 予め指定されたプログラムから抽出され
    たサブルーチンを基にサブルーチンの中からサブルーチ
    ンを抽出する処理を繰返すサブルーチン抽出機能と、抽
    出されたサブルーチンを基に指定されたプログラムの構
    成図を生成し出力するプログラム構成図生成出力機能と
    を実現させるためのプログラムであって、 プログラムを解析し、実行経路を分析する実行経路分析
    機能と、 分析されたプログラムの中から実行経路にサブルーチン
    を含む条件分岐文の条件変数およびそのサブルーチンの
    呼出し先変数を検出する変数検出機能と、 検出された変数について、変数検出箇所からプログラム
    の実行経路を順次遡り、変数の代入元の定数を探索し確
    定する変数値確定処理機能と、 確定された変数値を基に条件分岐文の分岐箇所を限定
    し、限定した経路から呼出し先が確定したサブルーチン
    を抽出する実行経路限定機能とを有するサブルーチン抽
    出機能を実現させるためのプログラム。
JP2001345350A 2000-11-20 2001-11-09 プログラム解析装置及びプログラム解析方法及び記録媒体 Pending JP2002215391A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001345350A JP2002215391A (ja) 2000-11-20 2001-11-09 プログラム解析装置及びプログラム解析方法及び記録媒体

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2000352622 2000-11-20
JP2000-352622 2000-11-20
JP2001345350A JP2002215391A (ja) 2000-11-20 2001-11-09 プログラム解析装置及びプログラム解析方法及び記録媒体

Publications (1)

Publication Number Publication Date
JP2002215391A true JP2002215391A (ja) 2002-08-02

Family

ID=26604279

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001345350A Pending JP2002215391A (ja) 2000-11-20 2001-11-09 プログラム解析装置及びプログラム解析方法及び記録媒体

Country Status (1)

Country Link
JP (1) JP2002215391A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007109044A (ja) * 2005-10-14 2007-04-26 Fujitsu Ltd プログラム変換プログラム、プログラム変換装置、プログラム変換方法
JP2007122207A (ja) * 2005-10-26 2007-05-17 Fujitsu Ltd プログラム分析プログラム、プログラム分析装置、プログラム分析方法
CN103902255A (zh) * 2012-12-24 2014-07-02 腾讯科技(深圳)有限公司 一种函数关系调用树的生成方法及系统
CN113568662A (zh) * 2021-07-23 2021-10-29 中信银行股份有限公司 一种基于调用关系的代码变更影响范围分析方法及系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007109044A (ja) * 2005-10-14 2007-04-26 Fujitsu Ltd プログラム変換プログラム、プログラム変換装置、プログラム変換方法
US8209670B2 (en) 2005-10-14 2012-06-26 Fujitsu Limited Program conversion program, program conversion apparatus and program conversion method
JP2007122207A (ja) * 2005-10-26 2007-05-17 Fujitsu Ltd プログラム分析プログラム、プログラム分析装置、プログラム分析方法
CN103902255A (zh) * 2012-12-24 2014-07-02 腾讯科技(深圳)有限公司 一种函数关系调用树的生成方法及系统
WO2014101585A1 (en) * 2012-12-24 2014-07-03 Tencent Technology (Shenzhen) Company Limited Systems and methods for generating function-relation call trees
CN103902255B (zh) * 2012-12-24 2019-01-15 腾讯科技(深圳)有限公司 一种函数关系调用树的生成方法及系统
CN113568662A (zh) * 2021-07-23 2021-10-29 中信银行股份有限公司 一种基于调用关系的代码变更影响范围分析方法及系统
CN113568662B (zh) * 2021-07-23 2024-04-30 中信银行股份有限公司 一种基于调用关系的代码变更影响范围分析方法及系统

Similar Documents

Publication Publication Date Title
US20190266073A1 (en) Operation verifying apparatus, operation verifying method and operation verifying system
US8006229B2 (en) Program maintenance support device and program for the same
JP4940791B2 (ja) テスト支援プログラム、テスト支援装置、およびテスト支援方法
CN113448845A (zh) 一种ui自动化测试方法及系统
JP4737624B2 (ja) アプリケーションの障害原因の特定作業支援システム
JPH08241191A (ja) Gui自動評価装置
CN114003269A (zh) 组件处理方法、装置、电子设备及存储介质
JP2002215391A (ja) プログラム解析装置及びプログラム解析方法及び記録媒体
JP2013077159A (ja) テスト自動化システム
JP2001282578A (ja) プログラムテスト支援装置、方法、および該方法に係るプログラムを記憶した記憶媒体
WO2021205589A1 (ja) テストスクリプト生成装置、テストスクリプト生成方法及びプログラム
JP5772233B2 (ja) プログラム実行トレース情報集約プログラム、装置、及び方法
GB2397905A (en) Method for automatically generating and ordering test scripts
JP5174648B2 (ja) プログラム開発支援機器、方法およびプログラム
CN112000573B (zh) 代码质量的监控方法、装置、计算机设备及介质
JPH0926897A (ja) プログラム解析装置及びプログラム解析方法
JP2004362495A (ja) エラーログ情報解析支援方法及び実施装置並びに処理プログラム
JP4641238B2 (ja) アプリケーション動作追跡支援装置
CN110879783B (zh) 一种程序测试方法、装置、设备及存储介质
JP2008191796A (ja) 解析装置及び解析方法及びプログラム
JPS6254337A (ja) プログラムの階層指定表示方式
JPH06290039A (ja) プログラム変更方法
JPH11327887A (ja) 自動部品化機能付コンパイラシステムおよび記録媒体
JPH0793144A (ja) プログラム解析装置
JP2002082802A (ja) 影響解析装置および方法、記録媒体、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040524

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20040610

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20040610

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061017

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061215

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070116