JP7038577B2 - プログラム分析装置及びプログラム分析方法 - Google Patents

プログラム分析装置及びプログラム分析方法 Download PDF

Info

Publication number
JP7038577B2
JP7038577B2 JP2018047805A JP2018047805A JP7038577B2 JP 7038577 B2 JP7038577 B2 JP 7038577B2 JP 2018047805 A JP2018047805 A JP 2018047805A JP 2018047805 A JP2018047805 A JP 2018047805A JP 7038577 B2 JP7038577 B2 JP 7038577B2
Authority
JP
Japan
Prior art keywords
metric
program
importance
element group
integrated
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.)
Active
Application number
JP2018047805A
Other languages
English (en)
Other versions
JP2019160008A (ja
Inventor
弘毅 伊藤
利治 相浦
悠平 小糸
剛 畠山
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2018047805A priority Critical patent/JP7038577B2/ja
Publication of JP2019160008A publication Critical patent/JP2019160008A/ja
Application granted granted Critical
Publication of JP7038577B2 publication Critical patent/JP7038577B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Description

この発明は、プログラム分析装置及びプログラム分析方法に関するものであり、プログラムのソースコード等からプログラムの構造及び振舞いを抽出する装置に関するものである。
ソフトウェア開発では、機能追加又は不具合改修を実施する際、対象プログラムの構造及び振舞いを確認してプログラムの修正内容を決定する。しかし、ドキュメントの不備により、対象ソフトウェアの構造及び振舞いの認識が困難な場合がある。その際用いられる技術がリバースエンジニアリングである。
リバースエンジニアリングでは、ソースコード解析等でモジュール同士の関連性及びロジックの呼び出し構造を解析・図式化する。このリバースエンジニアリングの解析・図式化により、ソフトウェアの構造を認識しやすくすることができる。当該技術は、市販されている設計開発支援ツール、モデリングツール、及び、その他の各種ツールで利用されている。
しかし、リバースエンジニアリングした際に、クラス・関数等の構成要素が全て抽出されてしまうため、図が巨大になりがちである。人が認識しやすい図にするには、自身が確認したい要素のみを抽出するよう修正を施さなければならない。
上記課題に対応するため、リバースエンジニアリングによって抽出したプログラム構造又は振舞いについて、重要でない要素を捨象することにより、人が認識しやすい図に変換する先行技術が存在する。例えば、特許文献1では、プログラム構造を基に、オブジェクト指向のプログラム構造の特徴(可視性等)をもとに抽出対象のクラス/メンバ候補の重要度を評価し、重要度の高い要素のみを含んだ図を自動生成する方法を示している。
特開2000-112742号公報
特許文献1に示された先行技術で実施している図の抽象化は、オブジェクト指向言語に特化したアルゴリズムであり、入力情報又は出力される図に依存したアルゴリズムとなっており、他形式の場合には適用することができない。
本発明は、ユーザが確認したい図に対し汎用的に抽象化を実行して出力できるプログラム分析装置を提供する。
この発明に係るプログラム分析装置は、
プログラムのプログラム構造と振舞いを示す全体要素群を入力して、プログラムのメトリクスを解析し、メトリクスを出力するメトリクス解析装置と、
前記メトリクスと重み値とを入力し、前記全体要素群の各要素に対して、前記メトリクスと前記重み値とから要素重要度を算出する重要度算出装置と、
前記全体要素群の各要素について前記要素重要度の値に基づいて抽出要素群を出力する要素抽出装置と
を備えた。
この発明によれば、重要度算出装置がメトリクスと重み値とから要素重要度を算出するので、プログラム構造又は振舞いを構成する要素のうち重要度の低い要素を省略して図式化し、ユーザに提示することができる。
実施の形態1に係るプログラム分析装置100を示す図である。 本発明の実施の形態1に係るプログラム分析装置100の全体処理を示すフローチャートである。 実施の形態1に係るプログラム分析装置100における要素抽出処理102の詳細処理を示すフローチャートである。 実施の形態1に係るプログラム分析装置100におけるメトリクス統合処理203の具体例を示す図である。 実施の形態1に係るプログラム分析装置100における重要度算出処理204の具体例を示す図である。 実施の形態1に係るプログラム分析装置100における最終出力図の具体例を示す図である。 実施の形態3に係るプログラム分析装置100を示す図である。
実施の形態1.
***構成の説明***
図1は、実施形態1に係るプログラム分析装置としてのプログラム分析装置100を示す図である。
プログラム分析装置100は、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15を備える。
プログラム分析装置100は、ソースコード16、ログ17、全体要素群18、メトリクス19、重み値20、要素重要度21、抽出要素群22をデータとして取り扱う。
これらのデータは、電子データであり、メモリ又は記憶部に記憶され、メモリ又は記憶部から読み込まれて使用される。
コード解析装置11は、プログラムのソースコード16を入力して、プログラム構造と振舞いとを解析してプログラム構造と振舞いとを示す要素群を全体要素群18として出力する。
メトリクス解析装置12は、プログラム構造と振舞いを示す全体要素群18及びログ17を入力して、プログラムのメトリクスを解析し、メトリクス19を出力する。
ここでのメトリクスとは、ソフトウェアメトリクスのことであり、ソフトウェアメトリクスとは、ソフトウェア及びソフトウェア開発を種々の視点から定量的に評価したものであり、各種の数値を有する。
重要度算出装置13は、メトリクス19と重み値20とを入力し、全体要素群18の各要素eに対して、メトリクス19と重み値20とから要素重要度を算出する。
要素抽出装置14は、全体要素群の各要素eについて要素重要度の値に基づいて、重要要素を抽出して、抽出要素群22として出力する。
出力装置15は、抽出要素群22として出力された重要要素を図式化して出力する。
***ハードウェア構成の説明***
以下、プログラム分析装置100のハードウェア構成の補足説明を行う。
図1に示すプロセッサ901は、プロセッシングを行うIC(Integrated Circuit)である。
プロセッサ901は、CPU(Central Processing Unit)、DSP(Digital Signal Processor)等である。
図1に示すメモリ902は、RAM(Random Access Memory)である。
図1に示す補助記憶装置903は、記録媒体の一例であり、ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等である。
図1に示す通信インターフェース904は、データを受信するレシーバー及びデータを送信するトランスミッターを含む。
通信インターフェース904は、例えば、通信チップ又はNIC(Network Interface Card)等を有する。
また、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、出力装置15、オペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609の処理の結果を示す情報、データ、信号値及び変数値が、メモリ902、補助記憶装置903、プロセッサ901内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶される。
また、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、出力装置15、オペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、DVD等の可搬記憶媒体その他の記録媒体に記憶されてもよい。
また、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15の「装置」を、「デバイス」又は「回路」又は「工程」又は「手順」又は「処理」又は「部」に読み替えてもよい。
また、プログラム分析装置100は、ロジックIC(Integrated Circuit)、GA(Gate Array)、ASIC(Application Specific
Integrated Circuit)、FPGA(Field-Programmable Gate Array)といった処理回路により実現されてもよい。
なお、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路との上位概念を、「プロセッシングサーキットリー」という。つまり、プロセッサと、メモリと、プロセッサとメモリの組合せと、処理回路とは、それぞれ「プロセッシングサーキットリー」の具体例である。
***動作の説明***
プログラム分析装置100のプログラム分析方法について説明する。
プログラム分析方法の具体例として、図2のプログラム分析装置100の全体処理を示すフローチャートによりプログラム構造と振舞いの抽出方法を説明する。
コード解析装置11は、全体抽出処理101において、ソースコードを入力として、全体要素群18を出力する。
本手順は、リバースエンジニアリングの従来技術にて実現可能である。市販のツールでは、ソースコードを入力としてプログラム構造をXML(Extensible Markup Language)構造で出力する機能を提供しているものがあり、その出力を利用して以降の手順を実施しても構わない。
メトリクス解析装置12と重要度算出装置13により要素抽出処理102で行われる要素抽出処理の詳細手順を図3に示す。
要素抽出処理102は、メトリクス算出処理201、重要度設定処理202、メトリクス統合処理203、重要度算出処理204、及び、要素選定処理205にて構成され、各処理を順に実行することにより実現する。以下、メトリクス解析装置12と重要度算出装置13のは、詳細手順の内容を示す。
メトリクス解析装置12は、メトリクス算出処理201において、ログ17と全体要素群18を入力として、メトリクス19を算出する。
ここで、ログ17とは、対象プログラムが出力するログ又はOS(オペレーティングシステム)から出力されるログ、プログラム開発の過程で発生したデータ(バージョン管理システムのコミットログ等)等を意味している。
メトリクス解析装置12への入力は、データの内容に応じて、ログ17と全体要素群18のどちらか片方のみでも構わない。
メトリクス解析装置12は、メトリクス19として、プログラムの内容を解析して得られたソフトウェアメトリクス、又は、プログラム実行ログの内容を解析して得られたソフトウェアメトリクス、又は、プログラム開発の過程で発生したデータを解析して得られたメトリクスを出力する。
メトリクス解析装置12によるメトリクス算出処理201によって算出されるメトリクスの例としては、プロセスフローの実行回数、対象モジュールのライン数、サイクロマティック複雑度、実行時の呼び出し回数、処理実行時間、構成管理のコミット回数等が挙げられる。
図4の(a)は、メトリクス19を表形式で示したものである。
図4の(a)のメトリクス19は、種類数をn個としている。
図4の(b)において、P1~P5はプロセスであり、e1~e5はプロセス間の関連を示す要素であり、F1は、P1,P2,P4,P5からなるプロセスフローであり、F2は、P1,P3,P4,P5からなるプロセスフローである。
図4の(a)に示すように、メトリクス解析装置12によるメトリクス算出処理201によって、1番目のメトリクスmとしてプロセスフローの実行回数が採用され、プロセスフローF1、F2の実行回数が判明しているものとする。
図4の(a)では、プロセスフローF1の実行回数は2000回であり、プロセスフローF2の実行回数は1500回であることが判明している。
重要度算出装置13は、重要度設定処理202において、重み値wを設定する。
まず、ユーザは、メトリクス算出処理201で得られたメトリクス19について、重み値20を決定する。ユーザは、図で確認したい側面に対応するメトリクスの重み値を高めに設定し、捨象したい側面に対応するメトリクスの重み値を低めに設定する。重要度算出装置13は、ユーザが決定した重み値20を入力して記憶する。
なお、重要度算出に利用しないメトリクスに関して、ユーザは、当該メトリクスを重要度算出の対象として指定しないか、又は、重み値を0として設定する。
重要度算出装置13は、メトリクス統合処理203において、全体要素群18とメトリクス19の内容を照合し、最終的に出力される図中の要素に対する統合メトリクスを算出する。
このメトリクス統合処理203は、図中の各要素とメトリクス19は必ずしも1対1で関連付かないため、演算により各要素に関連するメトリクスを一意に決定するために行う。
重要度算出装置13は、i番目のメトリクスmに対する統合メトリクスx (i)を下記式によって算出する。
統合メトリクスx (i)は要素eと関連するメトリクスmijの総和を算出することを意味する。ただし、ベクトルbはメトリクスmが要素eと関連するメトリクスであるかを表す関連値を要素に持つベクトルであり、ベクトルbの要素bは下記のとおり定義される。もし、得られたメトリクスmijが要素eと関連付く場合、bの値は1とする。逆に、メトリクスmijが要素eと無関係の場合、bの値は0とする。
重要度算出装置13は、要素eとメトリクスmijとが関連するか否かを示す関連値bをベクトルbとして記憶している。
Figure 0007038577000001
統合メトリクスの算出例を図4の(c)に示す。
要素e1の統合メトリクスx (1)は、要素eと関連付くメトリクスm1jの総和であり、重要度算出装置13は、要素e1と関連付くF1のbの値は1とし、要素e1と無関係のF1のbの値は0とし、要素e1の統合メトリクスxe1 (1)を、以下の式で求めることができる。
e1 (1)=b11+b12=1・2000+0・1500=2000
同様に、重要度算出装置13は、図4の(c)に示すように、要素e2からe5の統合メトリクスも計算する。
メトリクスとしてプロセスフローの実行回数を採用した場合、図中のe1とe3の統合メトリクスはプロセスフローF1の実行回数2000となり、e2とe4の統合メトリクスはプロセスフローF2の実行回数1500となり、e5の統合メトリクスはプロセスフローF1とF2の実行回数の和である3500となる。
e1の統合メトリクス=2000
e2の統合メトリクス=1500
e3の統合メトリクス=2000
e4の統合メトリクス=1500
e5の統合メトリクス=3500
重要度算出装置13は、重要度算出処理204において、全体要素群18の各要素eに対して、メトリクス19と重み値20の値から要素重要度21を算出する。例えば、要素eに対する重要度Sは以下の式にて定義できる。
以下の式は、要素重要度21を、重み値20の値と統合メトリクスとの積の総和で求めることを示している。
ただし、nはメトリクス19の種類数、ベクトルwはメトリクスに対する重み値20のn次元ベクトル、ベクトルxはメトリクス統合処理203で算出した統合メトリクスをスケーリングにより0から1まで範囲の値に変換した値のn次元ベクトルである。なお、重要度算出式は必ずしも下記である必要はなく、メトリクスの特性に応じて特定のメトリクスの次数を変更し、別の重要度算出式を定義し評価しても構わない。
Figure 0007038577000002
スケーリングを実施するのは、メトリクスの種類によって取りうる値のスケールが異なるため、値の調整を施さないとスケールの大きいメトリクスの重要度算出に与える影響が支配的となってしまうためである。スケーリングの手法は、従来技術のものを利用して構わない。スケーリング手法の一例として、Min-Max正規化がある。Min-Max正規化では、データの最大値を1、最小値を0となるように、値を補正するものである。具体的には、統合メトリクスは下記式により値を補正することができる。
Figure 0007038577000003
図4の例の場合、要素e1の正規化後の統合メトリクスは下記のとおり算出される。
Figure 0007038577000004
要素e1の正規化後の統合メトリクス=(2000-1500)/(3500-1500)=0.25
要素e2の正規化後の統合メトリクス=(1500-1500)/(3500-1500)=0
要素e3の正規化後の統合メトリクス=(2000-1500)/(3500-1500)=0.25
要素e4の正規化後の統合メトリクス=(1500-1500)/(3500-1500)=0
要素e5の正規化後の統合メトリクス=(3500-1500)/(3500-1500)=1
図5にプロセスフロー図における各プロセス間の関連に関する重要度算出の一例を示す。
2番目のメトリクスから算出された要素e1の正規化後の統合メトリクスが以下のようなものであるとする。
要素e1の正規化後の統合メトリクス=1
要素e2の正規化後の統合メトリクス=1
要素e3の正規化後の統合メトリクス=0
要素e4の正規化後の統合メトリクス=0.25
要素e5の正規化後の統合メトリクス=1
また、メトリクス19の種類数n=2とし、メトリクスm、mに対する重み値w、wが以下のようなものであるとする。
=1
=0.25
重要度算出装置13は、統合メトリクスの正規化結果とメトリクスに対する重み値の積和により、プロセス間の関連に関する重要度Sek(k=1,2,…,5)を算出する。
e1=1・0.25+0.25・1=0.5
同様に、重要度算出装置13は、図5に示すように、要素e2からe5の重要度Sekの値も計算することができる。
要素抽出装置14は、要素選定処理205において、全体要素群18の各要素について要素重要度21の値を照らし合わせ、最終的に図として出力する重要要素を、抽出要素群22として出力する。具体的には、重要度算出処理204で算出した値が閾値θ以上の重要度の要素を重要要素として抽出する。閾値θは別途ユーザが指定でき、任意の値をとることができる。
例えば、図5で示した重要度に対して閾値θを0.25に設定した場合、e1、e2、e3、e5は重要度が閾値θ以上であるため、重要要素として抽出される。e4は重要度が閾値θ未満であるため、重要要素として抽出されない。
出力装置15は、表示処理103において、出力装置15は抽出要素群22の内容を図式化して出力し、ユーザに提示する。画面表示、レポート出力等の提示形式は問わない。
図5で示した重要度に対して閾値θを0.25に設定した場合、最終的に図6で示す図が最終的に出力される。閾値θが0.25より低いe4の関連が省略されて作成される。
***実施の形態1のまとめ***
実施形態1に係るプログラム分析装置としてのプログラム分析装置100の特徴点は、重要度算出装置13である。
重要度算出装置13は、全体要素群18とメトリクス19との内容を照合し、全体要素群18の各要素に対する統合メトリクスを算出する。具体的には、重要度算出装置13は、全体要素群の要素eと関連付くメトリクスの総和を統合メトリクスとして算出する。
さらに、重要度算出装置13は、全体要素群の各要素eに対して、統合メトリクスと重み値の値から要素重要度を算出する。具体的には、重要度算出装置13は、全体要素群の各要素eに対して、統合メトリクスと重み値の積の総和を要素重要度として算出する。
実施の形態1に係るプログラム分析装置100は、プログラム構造・振舞い解析機能とリバースエンジニアリングの結果出力機能とに対し、重要度算出装置13による重要度算出機能を組み合わせることにより抽象化した図を汎用的に作成するものである。
***実施の形態1の効果の説明***
実施の形態1に係るプログラム分析装置100は、プログラム構造又は振舞いを構成する要素のうち重要度の低い要素を省略して図式化し、ユーザに提示する機能を有する。
このため、実施の形態1に係るプログラム分析装置100によれば、リバースエンジニアリングして得られた図について、ユーザが確認したい観点での図が出力され、人手で整形する時間が減少し、プログラムの概要把握に要する時間的コストが削減できることが期待される。
***実施の形態1の変形例***
コード解析装置11は、プログラム構造と振舞いとの両方を解析する必要はなくプログラム構造と振舞いとの片方を解析して出力してもよい。
コード解析装置11は、プログラム構造と振舞いとを解析してプログラム構造と振舞いとを示す要素群をすべて出力する必要はなく部分的な要素群を出力してもよい。
メトリクス解析装置12は、全体要素群18をすべて入力する必要はなく部分的な要素群を入力してもよい。
重要度算出装置13は、関連値bを外部から入力してもよい。
重要度算出装置13は、関連値bを1又は0ではなく、0以上1以下の値で記憶してもよい。
実施の形態2.
<重み値20の変更>
実施の形態1のプログラム分析装置100において、重要度算出装置13が、ユーザが変更した重み値20を入力し、要素抽出処理102と表示処理103とを繰り返すようにしてもよい。すなわち、メトリクスの重み値wを変えて与えることにより、重要度Sを変更する手段を持たせてもよい。
重要度算出装置13がメトリクスの重み値を入力して重要度を変更する手段を持つので、コード解析装置11とメトリクス解析装置12を再度実行することなく、処理時間が減少し、プログラムの概要把握に要する時間的コストが削減できる。
<閾値θの変更>
また、実施の形態1のプログラム分析装置100において、要素抽出装置14が、ユーザが変更した閾値θを入力し、要素抽出処理102と表示処理103とを繰り返すようにしてもよい。
要素抽出装置14が閾値θを入力して変更する手段を持つので、コード解析装置11、メトリクス解析装置12、及び、重要度算出装置13を再度実行することなく、処理時間が減少し、プログラムの概要把握に要する時間的コストが削減できる。
実施の形態3.
実施の形態3では、実施の形態1とは異なるプログラム分析装置としてのプログラム分析装置100のハードウェア構成の説明を行う。
***ハードウェア構成の説明***
図7に示すプログラム分析装置100のコード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15は、それぞれ、個別のコンピュータであり、各装置がネットワークで接続されている場合を示している。
プログラム分析装置100は、ソースコード16、ログ17、全体要素群18、メトリクス19、重み値20、要素重要度21,抽出要素群22をネットワークを経由したオンラインデータとし取り扱うことができる。
コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15は、それぞれ、以下のハードウェアを有する。
1.CPU(Central Processing Unit)、DSP(Digital Signal Processor)等のプロセッサ
2.RAM(Random Access Memory)等のメモリ
3.ROM(Read Only Memory)、フラッシュメモリ、HDD(Hard Disk Drive)等の補助記憶装置
4.データを受信するレシーバー及びデータを送信するトランスミッターを含む通信インターフェース
また、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15は、それぞれ、オペレーティングシステム、ネットワークドライバ及びストレージドライバ等を有しており、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15が扱う情報、データ、信号値及び変数値を入出力し、情報、データ、信号値及び変数値をメモリ、補助記憶装置、プロセッサ内のレジスタ及びキャッシュメモリの少なくともいずれかに記憶する。
また、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、出力装置15、オペレーティングシステム607、ネットワークドライバ608及びストレージドライバ609の機能を実現するプログラムは、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、DVD等の可搬記憶媒体に記憶され、CPUにより実行される。
図示しないが、コード解析装置11、メトリクス解析装置12、重要度算出装置13、要素抽出装置14、及び、出力装置15のうち2つ以上の装置が一つのコンピュータに実装されてもよい。
***実施の形態の組み合わせ***
前述した実施の形態のうち、2つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、1つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、2つ以上を部分的に組み合わせて実施しても構わない。
11 コード解析装置、12 メトリクス解析装置、13 重要度算出装置、14 要素抽出装置、15 出力装置、16 ソースコード、17 ログ、18 全体要素群、19 メトリクス、20 重み値、21 要素重要度、22 抽出要素群、100 プログラム分析装置、101 全体抽出処理、102 要素抽出処理、103 表示処理、201 メトリクス算出処理、202 重要度設定処理、203 メトリクス統合処理、204 重要度算出処理、205 要素選定処理、607 オペレーティングシステム、608 ネットワークドライバ、609 トレージドライバ、901 プロセッサ、902 メモリ、903 補助記憶装置、904 通信インターフェース、e 要素、m メトリクス、x 統合メトリクス、w 重み値、θ 閾値。

Claims (6)

  1. プログラムのプログラム構造と振舞いを示す全体要素群を入力して、プログラムのメトリクスを解析し、メトリクスを出力するメトリクス解析装置と、
    前記メトリクスと重み値とを入力し、前記メトリクスから前記全体要素群の各要素に対する統合メトリクスを算出し、前記全体要素群の各要素に対して、前記統合メトリクスと前記重み値とから要素重要度を算出する重要度算出装置と、
    前記全体要素群の各要素について前記要素重要度の値に基づいて抽出要素群を出力する要素抽出装置と
    を備えたプログラム分析装置。
  2. プログラムのプログラム構造と振舞いを示す全体要素群を入力して、プログラムのメトリクスを解析し、メトリクスを出力するメトリクス解析装置と、
    前記メトリクスと重み値とを入力し、前記全体要素群の各要素と関連する前記メトリクスの総和を統合メトリクスとして算出し、前記全体要素群の各要素に対して、前記統合メトリクスと前記重み値の積の総和を要素重要度として算出する重要度算出装置と、
    前記全体要素群の各要素について前記要素重要度の値に基づいて抽出要素群を出力する要素抽出装置と
    を備えたプログラム分析装置。
  3. プログラムのプログラム構造と振舞いとを解析して前記全体要素群を出力するコード解析装置を備えた請求項1又は2に記載のプログラム分析装置。
  4. 前記抽出要素群を出力する出力装置を備えた請求項1から3のいずれか1項に記載のプログラム分析装置。
  5. メトリクス解析装置が、プログラムのプログラム構造と振舞いを示す全体要素群を入力して、プログラムのメトリクスを解析し、メトリクスを出力し、
    重要度算出装置が、前記メトリクスと重み値とを入力し、前記メトリクスから前記全体要素群の各要素に対する統合メトリクスを算出し、前記全体要素群の各要素に対して、前記統合メトリクスと前記重み値とから要素重要度を算出し、
    要素抽出装置が、前記全体要素群の各要素について前記要素重要度の値に基づいて抽出要素群を出力するプログラム分析方法。
  6. メトリクス解析装置が、プログラムのプログラム構造と振舞いを示す全体要素群を入力して、プログラムのメトリクスを解析し、メトリクスを出力し、
    重要度算出装置が、前記メトリクスと重み値とを入力し、前記全体要素群の各要素と関連する前記メトリクスの総和を統合メトリクスとして算出し、前記全体要素群の各要素に対して、前記統合メトリクスと前記重み値の積の総和を要素重要度として算出し、
    要素抽出装置が、前記全体要素群の各要素について前記要素重要度の値に基づいて抽出要素群を出力するプログラム分析方法。
JP2018047805A 2018-03-15 2018-03-15 プログラム分析装置及びプログラム分析方法 Active JP7038577B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018047805A JP7038577B2 (ja) 2018-03-15 2018-03-15 プログラム分析装置及びプログラム分析方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018047805A JP7038577B2 (ja) 2018-03-15 2018-03-15 プログラム分析装置及びプログラム分析方法

Publications (2)

Publication Number Publication Date
JP2019160008A JP2019160008A (ja) 2019-09-19
JP7038577B2 true JP7038577B2 (ja) 2022-03-18

Family

ID=67992638

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018047805A Active JP7038577B2 (ja) 2018-03-15 2018-03-15 プログラム分析装置及びプログラム分析方法

Country Status (1)

Country Link
JP (1) JP7038577B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112348309A (zh) * 2020-09-16 2021-02-09 国网上海能源互联网研究院有限公司 一种用于为海岛微电网的指标确定质量等级的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001090887A1 (fr) 2000-05-25 2001-11-29 Fujitsu Limited Procede de traitement de programme permettant un traitement haute vitesse au moyen d'un materiel a reconfiguration dynamique et programme permettant d'executer ce procede de traitement
WO2015145539A1 (ja) 2014-03-24 2015-10-01 株式会社日立製作所 プログラム抽象図作成装置、及びプログラム抽象図作成プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09212387A (ja) * 1996-01-31 1997-08-15 Matsushita Electric Works Ltd プログラム開発支援装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001090887A1 (fr) 2000-05-25 2001-11-29 Fujitsu Limited Procede de traitement de programme permettant un traitement haute vitesse au moyen d'un materiel a reconfiguration dynamique et programme permettant d'executer ce procede de traitement
WO2015145539A1 (ja) 2014-03-24 2015-10-01 株式会社日立製作所 プログラム抽象図作成装置、及びプログラム抽象図作成プログラム

Also Published As

Publication number Publication date
JP2019160008A (ja) 2019-09-19

Similar Documents

Publication Publication Date Title
US10565442B2 (en) Picture recognition method and apparatus, computer device and computer- readable medium
US8549478B2 (en) Graphical user interface input element identification
US10185615B2 (en) Analysis stack for an event flow
US10360004B2 (en) Using dynamic information to refine control flow graphs
CN104020994B (zh) 基于流系统的流过程定义装置和流过程定义方法
CN109872230B (zh) 金融数据分析系统的测试方法、装置、介质、电子设备
CN114443559A (zh) 可重构算子单元、处理器、计算方法、装置、设备及介质
JP7038577B2 (ja) プログラム分析装置及びプログラム分析方法
CN110909005A (zh) 一种模型特征分析方法、装置、设备及介质
CN109325167B (zh) 特征分析方法、装置、设备、计算机可读存储介质
WO2019136799A1 (zh) 数据离散化方法、装置、计算机设备及存储介质
CN116166967B (zh) 基于元学习与残差网络的数据处理方法、设备和存储介质
US10726012B2 (en) Metadata registration method and device
JP6790921B2 (ja) プログラム分析装置、プログラム分析方法及びプログラム分析プログラム
CN113297479B (zh) 一种用户画像生成方法、装置及电子设备
JP6364332B2 (ja) 仕様生成方法、仕様生成装置、及びプログラム
CN109284354B (zh) 脚本搜索方法、装置、计算机设备及存储介质
JP2023507688A (ja) プロセスのエッジテーブル表現
JP2017151594A (ja) 支援装置、支援方法及びプログラム
US10303832B2 (en) Architecture generating device
CN112183714A (zh) 基于人工神经网络的自动化数据切片
WO2015135182A1 (en) Method and apparatus for evaluating performance of real-time system
JP7238361B2 (ja) エラー出力装置、エラー出力方法、学習装置、学習済みモデルの生成方法、プログラム、および学習済みモデル
CN113177784B (zh) 地址类型识别方法及装置
WO2024037168A1 (zh) 建立模型的方法、装置以及设备

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200914

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210818

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210824

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211006

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220308

R150 Certificate of patent or registration of utility model

Ref document number: 7038577

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150