JP2018073054A - オブジェクト分析装置、オブジェクト分析方法、及びプログラム - Google Patents

オブジェクト分析装置、オブジェクト分析方法、及びプログラム Download PDF

Info

Publication number
JP2018073054A
JP2018073054A JP2016210770A JP2016210770A JP2018073054A JP 2018073054 A JP2018073054 A JP 2018073054A JP 2016210770 A JP2016210770 A JP 2016210770A JP 2016210770 A JP2016210770 A JP 2016210770A JP 2018073054 A JP2018073054 A JP 2018073054A
Authority
JP
Japan
Prior art keywords
display
function
analysis
source code
unit
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.)
Granted
Application number
JP2016210770A
Other languages
English (en)
Other versions
JP6310527B1 (ja
Inventor
幸一 野口
Koichi Noguchi
幸一 野口
忠海 三好
Tadaumi Miyoshi
忠海 三好
峰子 村上
Mineko Murakami
峰子 村上
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.)
Dts Insight Corp
Original Assignee
Dts Insight 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 Dts Insight Corp filed Critical Dts Insight Corp
Priority to JP2016210770A priority Critical patent/JP6310527B1/ja
Application granted granted Critical
Publication of JP6310527B1 publication Critical patent/JP6310527B1/ja
Publication of JP2018073054A publication Critical patent/JP2018073054A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】ソフトウェアの影響度を可視化し、設計時における変更点の妥当性確認に活用可能とするオブジェクト分析プログラム及び方法を提供する。【解決手段】オブジェクト分析装置1は、所定の表示を行う表示部6と、コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するオブジェクト分析部3aと、影響度及び構造出力ファイルを記憶する記憶部5と、影響度及び構造出力ファイルに基づいて表示部による表示を制御する分析結果表示制御部3bとを有し、オブジェクトには、コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、ソースコード上で関数コールした際に生成される分岐命令とを含む。【選択図】図1

Description

本発明は、例えばソフトウェアの流用開発又は派生開発において、変更部位に関する他部位への影響度を確認可能とする、オブジェクト分析装置、オブジェクト分析方法、及びプログラムに関する。
近年、組み込み機器開発において、特定のベースライン部品から改良開発する、所謂流用開発が主流になりつつある。その理由としては、ソフトウェアの、部品化、プラットフォーム化が進み、ソフトウェアを1から新たに開発する必要性がなくなったことや、エンドユーザの多様なニーズに対応した製品開発が嘱望されていることが挙げられる。
しかし、このような流用開発では、現状は想定以上に効率が上がっていない。その理由としては、モジュールの追加、変更、及び削除の部位(以下、変化点という)が、既存のソフトウェア全体にどのような影響を与えているか分からず、その結果、考慮不足による不具合が生じ、手もどりが発生していることが挙げられる。
また、このような流用開発においては、ソフトウェア部品は、過去の資産の積み上げとなる。そのため、流用部品の構造がそもそも複雑な場合、ソフトウェアへの影響度が大きくなり、膨大な変化点の確認作業が必要となる。新規部品においても、以後の流用開発に直結するため、簡素に設計しておくことが望ましい。このような観点からも、ソフトウェア部品は、流用、新規を問わず、可視化及び指標化が求められる。
一方、従来、ソフトウェアの構造分析について、ソースコードレベルでの分析手法は存在する。例えば、特許文献1では、複数のモジュールで構成されたコンピュータシステムが組み込まれた組込システムの保守支援装置において、コンピュータシステムに対する一連の指示であるモジュールの情報、つまりソースコードと、モジュールで使用されコンピュータ上で処理を行う構成要素の集合であるクラスとの情報、つまり変数クラスタ情報とを入力し、テストを行う保守支援装置が開示されている。
しかしながら、ソースコードレベルでの分析の場合、ソースコード中に存在する例えば#IFDEFなどの条件コンパイルのためのパラメータの設定をはじめとした、複雑な設定をしなければならない。このような設定は、各ソースコードで異なるものであり、ソースコードすべてに設定する場合、非常に導入が難しい。
また、ソフトウェアの流用開発、派生開発においては、従来、機能テストによる確認作業が一般的になされている。
しかしながら、機能テストの場合、確認項目によっては、影響のあるソースコードの評価ができていないケースがある。その反面、毎回、すべてのテストを実施するのは、膨大な工数を必要とするので効率的に好ましくない。
特開2012−73692号公報
以上を総括すると、従来技術では以下のような課題が生じていた。
即ち、第1に、ソフトウェアの流用開発、派生開発において、変更部位に関する影響度を簡易に可視化する技術が実現されていない。第2に、ソフトウェアの流用開発、派生開発、及び新規開発において、プログラムの構造を、手間をかけずに改善し簡素化する技術が実現されていない。第3に、ソースコードによる分析では、分析前の手順が複雑になってしまうので効率が良くない。そして、第4に、流用部品適用後、ソフトウェアに関して行う機能テストでは、テストケースの適切な判断ができていない。
本発明は、このような課題に鑑みてなされたものであり、ソフトウェアの影響度を可視化し、設計時における変更点の妥当性の確認に活用可能とすることを目的とする。
さらに、ソフトウェア構造を可視化し、構造の簡素化を支援することを目的とする。
また、コンパイル、リンク後のオブジェクトをインプットデータとして解析することにより、解析の手間を簡素化することを目的とする。
そして、ソフトウェア影響箇所、ソフトウェア構造を差分分析し、テスト活用可能とすることを目的とする。
上記課題を解決するため、本発明の第1の態様に係るオブジェクト分析装置は、所定の表示を行う表示部と、コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するオブジェクト分析部と、前記影響度及び構造出力ファイルを記憶する記憶部と、前記影響度及び構造出力ファイルに基づいて前記表示部による表示を制御する分析結果表示制御部とを有し、前記オブジェクトには、前記コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、前記ソースコード上で関数コールした際に生成される分岐命令と、を含む。
本発明の第2の態様に係るオブジェクト分析装置は、第1の態様において、前記所定の表示とは、関数コールグラフ表示、関数コールマトリクス表示である。
本発明の第3の態様に係るオブジェクト分析装置は、第2の態様において、前記分析結果表示制御部は、着目した関数の協調表示、及び着目した関数にのみ影響のある関数の協調表示の少なくともいずれかを行うよう制御する。
本発明の第4の態様に係るオブジェクト分析装置は、第1の態様において、前記オブジェクト分析部は、前記オブジェクトにグローバル変数参照命令、又はグローバル変数更新命令が存在するときは、関数ブロックとグローバル変数とを関連付け、前記分析結果表示制御部は、前記関連付けに基づいて所定の変数構造マトリクス表示を前記表示部に行うように制御する。
本発明の第5の態様に係るオブジェクト分析装置は、第4の態様において、前記分析結果表示制御部は、着目した関数の協調表示、及び着目した関数にのみ影響のある関数の協調表示の少なくともいずれかを行うよう制御する。
本発明の第6の態様に係るオブジェクト分析装置は、所定の表示を行う表示部と、ベースライン、完成後の両オブジェクトについてオブジェクト差分分析を行い、影響度や、構造出力ファイルを生成するオブジェクト差分分析部と、前記影響度や構造出力ファイルを記憶する記憶部と、前記影響度、構造出力ファイルに基づいて前記表示部に所定の表示を行うように制御する差分分析結果表示制御部と、を有し、所定の表示とは、差分関数コール影響グラフ表示である。
本発明の第7の態様に係るオブジェクト分析方法は、コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するステップと、前記影響度及び構造出力ファイルを記憶するステップと、前記影響度及び構造出力ファイルに基づいて表示を制御するステップと、を有し、前記オブジェクトには、前記コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、前記ソースコード上で関数コールした際に生成される分岐命令と、を含む。
本発明の第8の態様に係るプログラムは、コンピュータを、コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するオブジェクト分析部と、前記影響度及び構造出力ファイルに基づいて前記表示部による表示を制御する分析結果表示制御部と、して機能させ、前記オブジェクトには、前記コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、前記ソースコード上で関数コールした際に生成される分岐命令とを含む。
本発明によれば、ソフトウェアの影響度を可視化し、設計時における変更点の妥当性確認に活用可能とするオブジェクト分析装置、オブジェクト分析方法、及びプログラムを提供することができる。
さらに、ソフトウェア構造を可視化し、構造の簡素化を支援可能とするオブジェクト分析装置、オブジェクト分析方法、及びプログラムを提供することができる。
また、コンパイル、リンク後のオブジェクトをインプットデータとして解析することにより、解析の手間の簡素化が可能とするオブジェクト分析装置、オブジェクト分析方法、及びプログラムを提供することができる。
そして、ソフトウェア影響箇所、ソフトウェア構造を差分分析し、テスト活用可能とするオブジェクト分析装置、オブジェクト分析方法、及びプログラムを提供することができる。
本発明の第1実施形態乃至第4実施形態に係るソフトウェア分析装置の機能ブロック図である。 第1実施形態に係るソフトウェア分析装置によりユーザオブジェクトを生成する過程を説明する概念図である。 第1実施形態に係るソフトウェア分析装置の処理手順を示すフローチャートである。 第1実施形態に係るソフトウェア分析装置による関数コールグラフ表示の一例を示す図である。 第1実施形態に係るソフトウェア分析装置による関数コールマトリクス表示の一例を示す図である。 第2実施形態に係るソフトウェア分析装置の処理手順を示すフローチャートである。 第2実施形態に係るソフトウェア分析装置による関数コール影響グラフ表示の一例を示す図である。 第2実施形態に係るソフトウェア分析装置による関数コール影響マトリクス表示の一例を示す図である。 第3実施形態に係るソフトウェア分析装置によりユーザオブジェクトを生成する過程を説明する概念図である。 第3実施形態に係るソフトウェア分析装置の処理手順を示すフローチャートである。 第3実施形態に係るソフトウェア分析装置による変数構造マトリクス表示の一例を示す図である。 第4実施形態に係るソフトウェア分析装置の処理手順を示すフローチャートである。 第4実施形態に係るソフトウェア分析装置による変数構造影響マトリクス表示の一例を示す図である。 本発明の第5実施形態に係るソフトウェア分析装置の機能ブロック図である。 第5実施形態に係るソフトウェア分析装置の処理手順を示すフローチャートである。 第5実施形態に係るソフトウェア分析装置による差分関数コール影響グラフ表示の一例を示す図である。
以下、図面を参照しつつ本発明の一実施形態について説明する。
<第1実施形態>
図1には、本発明の第1実施形態乃至第4実施形態に係るソフトウェア分析装置の機能ブロック図を示し説明する。この第1実施形態に係る装置及び方法では、ソフトウェアの影響度を可視化し、設計時における変更点の妥当性確認に活用可能とする。さらに、ソフトウェア構造を可視化し、構造の簡素化を支援可能とする。
同図に示されるように、ソフトウェア分析装置1は、CPU(Central Processing Unit)等の制御部2を備えており、制御部2は、解析表示プログラム3を実行することで、オブジェクト分析部3a、分析結果表示制御部3bとして機能する。制御部2は、第1記憶部4、第2記憶部5、及び表示部6と接続されている。
このような構成において、この実施形態では、コンパイル、リンク後のオブジェクトをインプットデータとして解析することにより、解析の手間の簡素化が可能とする。オブジェクト分析部3aは、第1記憶部4のユーザオブジェクトについてオブジェクト分析を行い、詳細は後述するが、影響度や、構造出力ファイル等を生成する。この影響度や構造出力ファイルは、第2記憶部5に格納される。分析結果表示制御部3bは、この影響度、構造出力ファイルに基づいて、表示部6に所定の表示を行うように制御する。所定の表示としては、関数コールグラフ表示、関数コールマトリクス表示等がある。
図2には、第1実施形態に係るソフトウェア分析装置によりユーザオブジェクトを生成する過程を示し説明する。
ソースコードをコンパイル、リンクした結果、実行プログラム、つまりユーザオブジェクトが生成される。ユーザオブジェクトには、命令コード、関数ブロック情報、及び分岐命令が含まれている。「命令コード」とは、コンパイル後、ソースコードが機械語に翻訳されたものをいう。「関数ブロック情報」とは、どの命令がソースコードのどの関数と結びつくのかを示したものをいう。そして、「分岐命令」とは、ソースコード上で関数コールした際に生成される分岐命令をいう。
以下、図3のフローチャートを参照して、第1実施形態に係るソフトウェア分析装置の処理手順を説明する。
処理を開始すると、制御部2のオブジェクト分析部3aは、関数ブロック情報をリードし、関数ノード情報を作成する(S1)。先ず、関数ノード0について、関数範囲に分岐命令が含まれるかを判断し(S3)、含まれている場合には、分岐先ノードと現ノードを関連付ける(S4)。そして、関数範囲の終端まで走査したかを判断し(S5)、走査していなければ(S5をNO)、ステップS3に戻り上記処理を繰り返す。
関数範囲に分岐命令が含まれていない場合(S3をNO)、又は関数範囲の終端まで走査したときは(S5をYES)、次の関数ノードについて、上記処理を繰り返す。そして、すべての関数ノードNについて上記処理を完了すると(S6)、分析結果表示制御部3bによりコールグラフ表示、又は関数コールマトリクス表示を表示部6に行い(S7)、こうして一連の処理を終了する。
図4には、第1実施形態に係るソフトウェア分析装置による関数コールグラフ表示の一例を示し説明する。同図に示されるように、関数コールグラフ表示では、コール先が矢印で示されるので、コール先を一目で確認することが可能となる。
図5には、第1実施形態に係るソフトウェア分析装置による関数コールマトリクス表示の一例を示し説明する。同図に示されるように、関数コールマトリクス表示では、コールする側とされる側の対応関係がある場合には、マトリクス表の中に「塗りつぶし」で示されるので、各関数間の対応関係を確認することが可能となる。
以上説明したように、本発明の第1実施形態によれば、ソフトウェアの影響度を可視化し、設計時における変更点の妥当性確認に活用可能とすることができる。さらに、ソフトウェア構造を可視化し、構造の簡素化を支援可能とすることができる。
<第2実施形態>
本発明の第2実施形態に係るソフトウェア分析装置の機能ブロック図は先に図1に示したのと同様であるので、ここでは同一構成については同一符号を用いて説明する。
前述した第1実施形態では、関数コール関係の表示にて、構造化による可視化はできるが、派生開発時に重要である影響度の調査には利用することができなかった。そこで、第2実施形態では、影響度の調査に活用し得るように表示を工夫する。即ち、この第2実施形態では、第1実施形態の作用に加えて、着目した関数の協調表示、着目した関数にのみ影響のある関数の協調表示を行うこととする。
以下、図6のフローチャートを参照して、第2実施形態に係るソフトウェア分析装置の処理手順を説明する。ステップS1乃至S7までは、図3と同様であるので、重複した説明は省略する。分析結果表示制御部3bによりコールグラフ表示、又は関数コールマトリクス表示を表示部6で行った後、更に着目した関数の協調表示、着目した関数にのみ影響のある関数の協調表示を行い(S8)、処理を終了する。
図7には、本発明の第2実施形態に係るソフトウェア分析装置による関数コール影響グラフ表示の一例を示し説明する。同図に示されるように、この関数コール影響グラフ表示では、コール先が矢印で示され、更に着目した関数の協調表示もなされるので、影響度の調査に利用することが可能となる。
図8には、本発明の第2実施形態に係るソフトウェア分析装置による関数コール影響マトリクス表示の一例を示し説明する。同図に示されるように、関数コール影響マトリクス表示では、コールする側とされる側の対応関係がある場合には、マトリクス表の中に「塗りつぶし」で示され、特に着目した関数にのみ影響のある関数は協調表示されるので、影響度を意識しながら、各関数間の対応関係を確認することが可能となる。
以上説明したように、本発明の第2実施形態によれば、着目した関数の協調表示の協調表示や、着目した関数にのみ影響のある関数の協調表示を行えるので、ソフトウェアの影響度に加えて強調箇所を可視化し、設計時における変更点の妥当性確認に活用可能とすることができる。
<第3実施形態>
本発明の第3実施形態に係るソフトウェア分析装置の機能ブロック図は先に図1に示したのと同様であるので、ここでは同一構成については同一符号を用いて説明する。この第3実施形態では、変数構造を可視化することが可能となる。すなわち、この第3実施形態では、変数構造マトリクス表示を実現する。
図9には、第3実施形態に係るソフトウェア分析装置によりユーザオブジェクトを生成する過程を示し説明する。
ソースコードを、コンパイル、リンクした結果、実行プログラム、つまりユーザオブジェクトが生成される。ユーザオブジェクトには、命令コード、関数ブロック情報、参照命令、及び更新命令が含まれている。「命令コード」とは、コンパイル後、ソースコードが機械語に翻訳されたものをいう。「関数ブロック情報」とは、どの命令がソースコードのどの関数に結び付くか示されたものをいう。「参照命令」とは、特定メモリを参照する命令をいう。そして、「更新命令」とは、特定メモリを更新する命令をいう。
以下、図10のフローチャートを参照して、第3実施形態に係るソフトウェア分析装置の処理手順を説明する。
この処理では、制御部2のオブジェクト分析部3aは、関数ブロック0に対して処理を開始し(S11)、先ずグローバル変数0を処理対象とする(S12)。
そして、現在ブロックに現在グローバル変数参照命令が存在するか否かを判断し(S13)、存在する場合には(S13をYES)、現在関数ブロックと現在グローバル変数を関連付ける(参照)(S14)。一方、現在グローバル変数参照命令が存在しなければ(S13をNO)、S15に移行する。
続いて、現在ブロックに現在グローバル変数更新命令が存在するか否かを判断し(S15)、存在する場合には(S15をYES)、現在関数ブロックと現在グローバル変数を関連付ける(更新)(S16)。一方、現在グローバル変数参照命令が存在しなければ(S15をNO)、S17に移行する。
続いて、グローバル変数1について、上記同様の処理を行い、以降、関数ブロック0内の全てのグローバル変数Nについて上記処理を終えると(S17)、次の関数ブロック1について同様の処理を行い、全ての関数ブロックについて上記処理を終えると(S18)、分析結果表示制御部3bは、変数構造マトリクス表示を行い(S19)、こうして一連の処理を終了する。
図11には、第3実施形態に係るソフトウェア分析装置による変数構造マトリクス表示の一例を示し説明する。同図に示されるように、変数構造マトリクス表示では、グローバル変数と各関数との変数構造が視覚化される。
以上説明したように、本発明の第3実施形態によれば、ソフトウェアの影響度に加えて変数構造をマトリクス表示により可視化し、設計時における変更点の妥当性確認に活用可能とすることができる。
<第4実施形態>
本発明の第4実施形態に係るソフトウェア分析装置の機能ブロック図は先に図1に示したのと同様であるので、ここでは同一構成については同一符号を用いて説明する。
前述した第3実施形態の関するコールマトリクス表示では、構造化による可視化はできるが、派生開発時に重要である影響度の調査には利用することができなかった。このような点に鑑みて、第4実施形態では、影響度を視覚化する。具体的には、変数構造のマトリクス表示に加えて、着目した変数の協調表示、着目した変数にのみ影響のある関数の協調表示を行うこととする。
以下、図12のフローチャートを参照して、第4実施形態に係るソフトウェア分析装置の処理手順を説明する。ステップS11乃至S19までは、図10と同様であるので、重複した説明は省略する。変数構造マトリクス表示の後(S19)、分析結果表示制御部3bは、着目した変数の協調表示、着目した変数にのみ影響のある関数の協調表示を行い(S20)、処理を終了することになる。
図13には、第4実施形態に係るソフトウェア分析装置による変数構造影響マトリクス表示の一例を示し説明する。同図に示されるように、変数構造影響マトリクス表示では、グローバル変数と各関数との変数構造が視覚化されると共に、着目した変数の協調表示がなされる。この例では、関数3,4とグローバル変数6,7との協調表示がなされていることから、影響度を把握することが可能となる。
以上説明したように、本発明の第4実施形態によれば、変数構造の可視化に加えて、着目した変数の協調表示、着目した変数にのみ影響のある関数の協調表示を行うことができるので、ソフトウェア構造の可視化がより精度良く行える。
<第5実施形態>
図14には、本発明の第5実施形態に係るソフトウェア分析装置の機能ブロック図を示し説明する。派生流用開発では、プロダクトのベースラインの成果物に対して、順次、追加、削除、変更を繰り返し作成される。
同図に示されるように、ソフトウェア分析装置11は、CPU等の制御部12を備えており、制御部12は、差分解析表示プログラム13を実行することで、オブジェクト差分分析部13a、差分分析結果表示制御部13bとして機能する。制御部12は、第1乃至第3記憶部14乃至16、及び表示部17と接続されている。
このような構成において、ソフトウェア影響箇所、ソフトウェア構造を差分分析し、テスト活用可能とする。即ち、オブジェクト差分分析部13aは、第1記憶部14のユーザオブジェクト(ベースライン)と第2記憶部15のユーザオブジェクト(完成後)についてオブジェクト差分分析を行い、詳細は後述するが、影響度や、構造出力ファイル等(差分)を生成する。この影響度や構造出力ファイルは、第3記憶部16に格納される。差分分析結果表示制御部13bは、この影響度、構造出力ファイルに基づいて、表示部17に所定の表示を行うように制御する。所定の表示としては、差分関数コール影響グラフ表示等がある。
以下、図15のフローチャートを参照して、第5実施形態に係るソフトウェア分析装置の処理手順を説明する。ベースライン関数コールグラフ作成処理を行い(S31)、派生開発品関数コールグラフ作成処理を行う(S32)。これは、第1実施形態で説明した手法による。続いて、ベースライン、派生開発品の変更点抽出を行う(S33)。具体的には、オブジェクト差分分析部13aが、差分分析を行うことで変更点を抽出する。そして、差分コールグラフ表示を行う(S34)。そして、着目した関数の協調表示、及び着目した関数にのみ影響のある関数の協調表示を行い(S35)、一連の処理を終了する。
図16には、第5実施形態に係るソフトウェア分析装置による差分関数コール影響グラフ表示の一例を示し説明する。
ベースラインからの変更点(追加、削除、変更)の抽出、変更点に対する影響箇所を洗い出すことは、設計時における考慮漏れの確認、テスト設計時における妥当性検証において品質向上につながる重要な視点である。このような観点から、追加関数、削除関数、及び変更関数を可視化するのが、このグラフ表示である。
以上説明したように、本発明の第5実施形態によれば、ソフトウェア影響箇所、ソフトウェア構造を差分分析し、テスト活用可能とする。
以上、本発明の一実施形態について説明したが、本発明はこれに限定されることなくその趣旨を逸脱しない範囲で種々の改良・変更が可能であることは勿論である。
例えば、着目した関数の協調表示については、表示の色彩を変更するだけでなく、点滅表示させるなど、種々の区分表示態様を採用することができる。
1…ソフトウェア分析装置、2…制御部、3…解析表示プログラム、3a…オブジェクト分析部、3b…分析結果表示制御部、4…第1記憶部、5…第2記憶部、6…表示部、11…ソフトウェア分析装置、12…制御部、13…差分解析表示プログラム、13a…オブジェクト差分分析部、13b…差分分析結果表示制御部、14…第1記憶部、15…第2記憶部、16…第3記憶部、17…表示部。
上記課題を解決するため、本発明の第1の態様に係るオブジェクト分析装置は、表示部と、関数ブロック情報をリードし、関数ノード情報を作成し、第1乃至第Nの関数ノードについて、関数範囲に分岐命令が含まれるかを判断し、含まれている場合には、分岐先ノードと現ノードを関連付けるオブジェクト分析部と、前記オブジェクト分析部が、すべての関数ノードNについて関連付けを完了すると、関数コールグラフ表示、又は関数コールマトリクス表示を前記表示部に行うよう制御する分析結果表示制御部と、を備え、前記関数コールグラフ表示では、コール先が矢印で示され、前記関数コールマトリクス表示では、コールする側とされる側の対応関係がある場合には、マトリクスの中に塗りつぶしで示され、各関数間の対応関係を示唆する。
本発明の第2の態様に係るオブジェクト分析装置は、表示部と、第1乃至第Nの関数ブロックのそれぞれに対して第1乃至第Nのグローバル変数を処理対象とし、前記第1乃至第Nの関数ブロックのそれぞれにグローバル変数参照命令が存在するか否かを判断し、存在する場合には、前記第1乃至第Nの関数ブロックのぞれぞれと前記第1乃至第Nのグローバル変数とを関連付けるオブジェクト分析部と、前記第1乃至第Nの関数ブロックについて、前記関連付けを終えると、前記表示部に変数構造マトリクス表示を行う分析結果表示制御部と、を備え、前記変数構造マトリクス表示では、前記第1乃至第Nのグローバル変数と各関数との変数構造が視覚化される。
本発明の第3の態様に係るオブジェクト分析方法は、オブジェクト分析部が、関数ブロック情報をリードし、関数ノード情報を作成し、第1乃至第Nの関数ノードについて、関数範囲に分岐命令が含まれるかを判断し、含まれている場合には、分岐先ノードと現ノードを関連付けるステップと、分析結果表示制御部が、前記オブジェクト分析部がすべての関数ノードNについて関連付けを完了すると、関数コールグラフ表示、又は関数コールマトリクス表示を表示部に行うよう制御するステップと、を有し、前記関数コールグラフ表示では、コール先が矢印で示され、前記関数コールマトリクス表示では、コールする側とされる側の対応関係がある場合には、マトリクスの中に塗りつぶしで示され、各関数間の対応関係を示唆する。
本発明の第4の態様に係るオブジェクト分析方法は、オブジェクト分析部が、第1乃至第Nの関数ブロックのそれぞれに対して第1乃至第Nのグローバル変数を処理対象とし、前記第1乃至第Nの関数ブロックのそれぞれにグローバル変数参照命令が存在するか否かを判断し、存在する場合には、前記第1乃至第Nの関数ブロックのぞれぞれと前記第1乃至第Nのグローバル変数とを関連付けるステップと、分析結果表示制御部が、前記第1乃至第Nの関数ブロックについて、前記関連付けを終えると、表示部に変数構造マトリクス表示を行うステップと、を有し、前記変数構造マトリクス表示では、前記第1乃至第Nのグローバル変数と各関数との変数構造が視覚化される。
本発明の第5の態様に係るプログラムは、コンピュータを、関数ブロック情報をリードし、関数ノード情報を作成し、第1乃至第Nの関数ノードについて、関数範囲に分岐命令が含まれるかを判断し、含まれている場合には、分岐先ノードと現ノードを関連付けるオブジェクト分析部と、前記オブジェクト分析部が、すべての関数ノードNについて関連付けを完了すると、関数コールグラフ表示、又は関数コールマトリクス表示を表示部に行うよう制御する分析結果表示制御部と、して機能させ、前記関数コールグラフ表示では、コール先が矢印で示され、前記関数コールマトリクス表示では、コールする側とされる側の対応関係がある場合には、マトリクスの中に塗りつぶしで示され、各関数間の対応関係を示唆する。
本発明の第6の態様に係るプログラムは、コンピュータを、第1乃至第Nの関数ブロックのそれぞれに対して第1乃至第Nのグローバル変数を処理対象とし、前記第1乃至第Nの関数ブロックのそれぞれにグローバル変数参照命令が存在するか否かを判断し、存在する場合には、前記第1乃至第Nの関数ブロックのぞれぞれと前記第1乃至第Nのグローバル変数とを関連付けるオブジェクト分析部と、前記第1乃至第Nの関数ブロックについて、前記関連付けを終えると、表示部に変数構造マトリクス表示を行う分析結果表示制御部と、して機能させ、前記変数構造マトリクス表示では、前記第1乃至第Nのグローバル変数と各関数との変数構造が視覚化される。
本発明の第2の態様に係るオブジェクト分析装置は、表示部と、第1乃至第Nの関数ブロックのそれぞれに対して第1乃至第Nのグローバル変数を処理対象とし、前記第1乃至第Nの関数ブロックのそれぞれにグローバル変数参照命令が存在するか否かを判断し、存在する場合には、前記第1乃至第Nの関数ブロックのぞれぞれと前記第1乃至第Nのグローバル変数とを関連付けるオブジェクト分析部と、前記第1乃至第Nの関数ブロックについて、前記関連付けを終えると、前記表示部に変数構造マトリクス表示を行う分析結果表示制御部と、を備え、前記変数構造マトリクス表示では、前記第1乃至第Nのグローバル変数と各関数との変数構造が視覚化され、前記分析結果表示制御部は、変数構造影響マトリクス表示を前記表示部に更に行うように制御し、前記変数構造影響マトリクス表示では、グローバル変数と各関数との変数構造が視覚化されると共に、着目した変数の強調表示がなされる。
本発明の第4の態様に係るオブジェクト分析方法は、オブジェクト分析部が、第1乃至第Nの関数ブロックのそれぞれに対して第1乃至第Nのグローバル変数を処理対象とし、前記第1乃至第Nの関数ブロックのそれぞれにグローバル変数参照命令が存在するか否かを判断し、存在する場合には、前記第1乃至第Nの関数ブロックのぞれぞれと前記第1乃至第Nのグローバル変数とを関連付けるステップと、分析結果表示制御部が、前記第1乃至第Nの関数ブロックについて、前記関連付けを終えると、表示部に変数構造マトリクス表示を行うステップと、を有し、前記変数構造マトリクス表示では、前記第1乃至第Nのグローバル変数と各関数との変数構造が視覚化され、前記分析結果表示制御部は、変数構造影響マトリクス表示を前記表示部に更に行うように制御し、前記変数構造影響マトリクス表示では、グローバル変数と各関数との変数構造が視覚化されると共に、着目した変数の強調表示がなされる。
本発明の第6の態様に係るプログラムは、コンピュータを、第1乃至第Nの関数ブロックのそれぞれに対して第1乃至第Nのグローバル変数を処理対象とし、前記第乃至第Nの関数ブロックのそれぞれにグローバル変数参照命令が存在するか否かを判断し、存在する場合には、前記第1乃至第Nの関数ブロックのぞれぞれと前記第1乃至第Nのグローバル変数とを関連付けるオブジェクト分析部と、前記第1乃至第Nの関数ブロックについて、前記関連付けを終えると、表示部に変数構造マトリクス表示を行う分析結果表示制御部と、して機能させ、前記変数構造マトリクス表示では、前記第1乃至第Nのグローバル変数と各関数との変数構造が視覚化され、前記分析結果表示制御部は、変数構造影響マトリクス表示を前記表示部に更に行うように制御し、前記変数構造影響マトリクス表示では、グローバル変数と各関数との変数構造が視覚化されると共に、着目した変数の強調表示がなされる。

Claims (8)

  1. 所定の表示を行う表示部と、
    コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するオブジェクト分析部と、
    前記影響度及び構造出力ファイルを記憶する記憶部と、
    前記影響度及び構造出力ファイルに基づいて前記表示部による表示を制御する分析結果表示制御部と、を有し、
    前記オブジェクトには、前記コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、前記ソースコード上で関数コールした際に生成される分岐命令と、を含む
    オブジェクト分析装置。
  2. 前記所定の表示とは、関数コールグラフ表示、関数コールマトリクス表示である
    請求項1に記載のオブジェクト分析装置。
  3. 前記分析結果表示制御部は、着目した関数の協調表示、及び着目した関数にのみ影響のある関数の協調表示の少なくともいずれかを行うよう制御する
    請求項2に記載のオブジェクト分析装置。
  4. 前記オブジェクト分析部は、前記オブジェクトにグローバル変数参照命令、又はグローバル変数更新命令が存在するときは、関数ブロックとグローバル変数とを関連付け、
    前記分析結果表示制御部は、前記関連付けに基づいて所定の変数構造マトリクス表示を前記表示部に行うように制御する
    請求項1に記載のオブジェクト分析装置。
  5. 前記分析結果表示制御部は、着目した関数の協調表示、及び着目した関数にのみ影響のある関数の協調表示の少なくともいずれかを行うよう制御する
    請求項4に記載のオブジェクト分析装置。
  6. 所定の表示を行う表示部と、
    ベースライン、完成後の両オブジェクトについてオブジェクト差分分析を行い、影響度や、構造出力ファイルを生成するオブジェクト差分分析部と、
    前記影響度や構造出力ファイルを記憶する記憶部と、
    前記影響度、構造出力ファイルに基づいて前記表示部に所定の表示を行うように制御する差分分析結果表示制御部と、を有し、
    所定の表示とは、差分関数コール影響グラフ表示である
    オブジェクト分析装置。
  7. コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するステップと、
    前記影響度及び構造出力ファイルを記憶するステップと、
    前記影響度及び構造出力ファイルに基づいて表示を制御するステップと、を有し、
    前記オブジェクトには、前記コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、前記ソースコード上で関数コールした際に生成される分岐命令と、を含む
    オブジェクト分析方法。
  8. コンピュータを、
    コンパイル、リンク後のオブジェクトを入力としてオブジェクト分析を行い、影響度及び構造出力ファイルを生成するオブジェクト分析部と、
    前記影響度及び構造出力ファイルに基づいて前記表示部による表示を制御する分析結果表示制御部と、して機能させ、
    前記オブジェクトには、前記コンパイル後、ソースコードが機械語に翻訳された命令コードと、この命令コードと前記ソースコードの関数と結び付きを示した関数ブロック情報と、前記ソースコード上で関数コールした際に生成される分岐命令と、を含む
    プログラム。
JP2016210770A 2016-10-27 2016-10-27 オブジェクト分析装置、オブジェクト分析方法、及びプログラム Active JP6310527B1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016210770A JP6310527B1 (ja) 2016-10-27 2016-10-27 オブジェクト分析装置、オブジェクト分析方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016210770A JP6310527B1 (ja) 2016-10-27 2016-10-27 オブジェクト分析装置、オブジェクト分析方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP6310527B1 JP6310527B1 (ja) 2018-04-11
JP2018073054A true JP2018073054A (ja) 2018-05-10

Family

ID=61901909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016210770A Active JP6310527B1 (ja) 2016-10-27 2016-10-27 オブジェクト分析装置、オブジェクト分析方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6310527B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046797A (ja) * 2018-09-18 2020-03-26 株式会社日立製作所 着目経路作成装置、着目経路作成方法、及び着目経路作成プログラム
JP2023511249A (ja) * 2020-01-08 2023-03-17 ディズニー エンタープライゼス インコーポレイテッド 加工コンテンツの真正性アセスメント
US11880681B2 (en) 2019-10-21 2024-01-23 Mitsubishi Electric Corporation Software analysis apparatus

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7031627B2 (ja) * 2019-03-13 2022-03-08 オムロン株式会社 解析装置、解析方法、及び解析プログラム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667870A (ja) * 1992-08-21 1994-03-11 Fuji Electric Co Ltd ソフトウエア分析装置
JP2012103923A (ja) * 2010-11-10 2012-05-31 Renesas Electronics Corp コンパイラ装置、コンパイル方法及びコンパイラプログラム
WO2012172687A1 (ja) * 2011-06-17 2012-12-20 株式会社日立製作所 プログラム可視化装置
JP2016110330A (ja) * 2014-12-04 2016-06-20 三菱電機株式会社 変更影響分析装置及び変更影響分析方法及びプログラム
JP2016122321A (ja) * 2014-12-25 2016-07-07 株式会社日立製作所 解析装置、解析方法、および解析プログラム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0667870A (ja) * 1992-08-21 1994-03-11 Fuji Electric Co Ltd ソフトウエア分析装置
JP2012103923A (ja) * 2010-11-10 2012-05-31 Renesas Electronics Corp コンパイラ装置、コンパイル方法及びコンパイラプログラム
WO2012172687A1 (ja) * 2011-06-17 2012-12-20 株式会社日立製作所 プログラム可視化装置
JP2016110330A (ja) * 2014-12-04 2016-06-20 三菱電機株式会社 変更影響分析装置及び変更影響分析方法及びプログラム
JP2016122321A (ja) * 2014-12-25 2016-07-07 株式会社日立製作所 解析装置、解析方法、および解析プログラム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020046797A (ja) * 2018-09-18 2020-03-26 株式会社日立製作所 着目経路作成装置、着目経路作成方法、及び着目経路作成プログラム
JP7013349B2 (ja) 2018-09-18 2022-01-31 株式会社日立製作所 着目経路作成装置、着目経路作成方法、及び着目経路作成プログラム
US11880681B2 (en) 2019-10-21 2024-01-23 Mitsubishi Electric Corporation Software analysis apparatus
JP2023511249A (ja) * 2020-01-08 2023-03-17 ディズニー エンタープライゼス インコーポレイテッド 加工コンテンツの真正性アセスメント
JP7473652B2 (ja) 2020-01-08 2024-04-23 ディズニー エンタープライゼス インコーポレイテッド 加工コンテンツの真正性アセスメント

Also Published As

Publication number Publication date
JP6310527B1 (ja) 2018-04-11

Similar Documents

Publication Publication Date Title
US9389849B2 (en) Test case pattern matching
US8935673B1 (en) System and method for debugging computer program based on execution history
JP6310527B1 (ja) オブジェクト分析装置、オブジェクト分析方法、及びプログラム
CN105446874B (zh) 一种资源配置文件的检测方法和装置
US20070061641A1 (en) Apparatus and method for generating test driver
CN104657274B (zh) 软件界面测试方法及装置
CN112597028A (zh) 一种用例测试结果的展示方法、装置及可读存储介质
JP2008191963A (ja) ソースコード検証システム、ソースコード検証方法、およびソースコード検証用プログラム
CN109614325B (zh) 一种确定控件属性的方法及装置、电子设备和存储介质
Paiva et al. From requirements to automated acceptance tests with the RSL language
CN106919431B (zh) 持续集成中的代码比对方法、设备以及系统
KR102013657B1 (ko) 연관된 다중 파일 정적 분석 장치
JP2017084082A (ja) シミュレーション装置、試験シナリオファイル作成方法、及び試験シナリオファイルを用いた試験方法
JP6440895B2 (ja) ソフトウェア分析装置及びソフトウェア分析方法
CN111680463A (zh) 一种文件检查方法和装置
JP2016062136A (ja) 試験装置及び試験プログラム
CN114297088A (zh) 前端vue框架组件的测试方法、装置、设备及介质
JP5163172B2 (ja) ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法
JP6006577B2 (ja) デグレードテスト支援システム、デグレードテスト支援方法及びデグレードテスト支援プログラム
CN114385155A (zh) vue项目可视化工具生成方法、装置、设备及存储介质
CN113238967A (zh) 测试案例的生成方法及装置
JP6157166B2 (ja) 部品生成システムおよび方法ならびにプログラム
JP7318704B2 (ja) テスト装置、テスト方法及びプログラム
CN113220596B (zh) 应用的测试方法、装置、设备、存储介质及程序产品
CN114036876B (zh) 一种集成电路eda平台

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180209

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: 20180227

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180316

R150 Certificate of patent or registration of utility model

Ref document number: 6310527

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250