JP2012248118A - プログラム実行トレース情報集約プログラム、装置、及び方法 - Google Patents
プログラム実行トレース情報集約プログラム、装置、及び方法 Download PDFInfo
- Publication number
- JP2012248118A JP2012248118A JP2011121055A JP2011121055A JP2012248118A JP 2012248118 A JP2012248118 A JP 2012248118A JP 2011121055 A JP2011121055 A JP 2011121055A JP 2011121055 A JP2011121055 A JP 2011121055A JP 2012248118 A JP2012248118 A JP 2012248118A
- Authority
- JP
- Japan
- Prior art keywords
- node
- event
- trace information
- call
- information
- 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
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
アプリケーションプログラムの実行トレース情報に対して、呼出構造を保持しながら、トレース情報を集約することを目的とする。
【解決手段】
アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、アプリケーションプログラムの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、ノード間を結ぶツリー構造として記憶部に記憶し、実行トレース情報を集約する。
【選択図】図2A
Description
また、プログラムの実行結果を解析する手法として、カバレッジテストが知られている。カバレッジテストとは、プログラムを実行した際に、ソースコードのどの部分が実際に実行されたか、その実行回数などを調べることをいう。しかしながら、ソースコードのカバレッジ情報では、テストケースが実行する行番号情報は取得するが、条件文、繰り返し文での動作や呼び出し構造のパターンを抽出することができない。このため、構造情報を取得することが出来ない。従って、メソッド間の呼出関係などの情報を取得することは出来ない。
呼出構造ノード追加部218では、現在追跡中のノード212と同一構造判定結果216を入力として、ノードの追加を行い、ノードを追加した呼出構造データを生成する。子ノードの追加は、親ノードの識別情報を基に子ノードの識別情報を追加する。例えば、各ノードにIDを付与し、子ノードに、固有のIDを設定する。このIDは、ノードのデータ構造へのポインタ情報として利用してもよい。この処理によって子ノードが追加される。
(付記1)
アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、前記アプリケーションプログラムに対するテストケースの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、前記ノード間を結ぶツリー構造として記憶部に記憶するプログラムであって、
前記実行トレース情報から、N番目のイベントを読み込み、
前記N番目のイベントが処理単位の呼出開始イベントの場合には、現在追跡しているノードから、前記呼出開始イベントが示す処理単位に対応する子ノードに移動すべきことを決定し、前記N番目のイベントが処理単位の呼出終了イベントの場合には、現在追跡しているノードよりも最上位ノード側の親ノードに移動すべきことを決定することによって、ノードを追跡し、
前記決定において前記子ノードに移動すべきことが決定された場合に、前記現在追跡しているノードの子ノードに前記呼出開始イベントが示す処理単位に対応するノードが既に存在するか否かを判定し、
前記判定において存在しないと判定された場合には、移動すべき前記子ノードを前記記憶部に記憶された前記ツリー構造に追加記憶する、
処理をコンピュータに実行させるプログラム。
(付記2)
前記イベントには属性が含まれ、前記N番目のイベントに含まれる属性を抽出し、該抽出した属性を前記N番目のイベントに関連するノードに対応づけて前記記憶部に記憶する、
処理を更にコンピュータに実行させる付記1記載のプログラム。
(付記3)
前記属性は、前記処理単位の引数、前記処理単位の戻り値、前記処理単位の実行回数、及び前記テストケースの識別情報のうち、いずれか1つを含む、
付記1又は2記載のプログラム。
(付記4)
指定された属性に基づいて、ツリー構造に関連する情報を加工して出力する、
処理を更にコンピュータに実行させる付記1乃至3のうちいずれか1項記載のプログラム。
(付記5)
前記加工して出力する処理は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造との相違点を出力する、
処理を更にコンピュータに実行させる付記4記載のプログラム。
(付記6)
前記加工して出力する処理は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造とが一致するか否かを判断した結果を出力する、
処理を更にコンピュータに実行させる付記4又は5記載のプログラム。
(付記7)
アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、前記アプリケーションプログラムに対するテストケースの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、前記ノード間を結ぶツリー構造として記憶部に記憶する方法であって、
前記実行トレース情報から、N番目のイベントを読み込み、
前記N番目のイベントが処理単位の呼出開始イベントの場合には、現在追跡しているノードから、前記呼出開始イベントが示す処理単位に対応する子ノードに移動すべきことを決定し、前記N番目のイベントが処理単位の呼出終了イベントの場合には、現在追跡しているノードよりも最上位ノード側の親ノードに移動すべきことを決定することによって、ノードを追跡し、
前記決定において前記子ノードに移動すべきことが決定された場合に、前記現在追跡しているノードの子ノードに前記呼出開始イベントが示す処理単位に対応するノードが既に存在するか否かを判定し、
前記判定において存在しないと判定された場合には、移動すべき前記子ノードを前記記憶部に記憶された前記ツリー構造に追加記憶する、
ことを特徴とする方法。
(付記8)
前記イベントには属性が含まれ、前記N番目のイベントに含まれる属性を抽出し、該抽出した属性を前記N番目のイベントに関連するノードに対応づけて前記記憶部に記憶する、
ことを特徴とする付記7記載の方法。
(付記9)
前記属性は、前記処理単位の引数、前記処理単位の戻り値、前記処理単位の実行回数、及び前記テストケースの識別情報のうち、いずれか1つを含む、
ことを特徴とする付記7又は8記載の方法。
(付記10)
指定された属性に基づいて、ツリー構造に関連する情報を加工して出力する、
ことを特徴とする付記7乃至9のうちいずれか1項記載の方法。
(付記11)
前記加工して出力する処理は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造との相違点を出力する、
ことを特徴とする付記10記載の方法。
(付記12)
前記加工して出力する処理は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造とが一致するか否かを判断した結果を出力する、
ことを特徴とする付記10又は11記載の方法。
(付記13)
アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、前記アプリケーションプログラムに対するテストケースの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、前記ノード間を結ぶツリー構造として記憶部に記憶する装置であって、
前記実行トレース情報から、N番目のイベントを読み込む、イベント読込部と、
前記N番目のイベントが処理単位の呼出開始イベントの場合には、現在追跡しているノードから、前記呼出開始イベントが示す処理単位に対応する子ノードに移動すべきことを決定し、前記N番目のイベントが処理単位の呼出終了イベントの場合には、現在追跡しているノードよりも最上位ノード側の親ノードに移動すべきことを決定することによって、ノードを追跡する、ノード追跡部と、
前記決定において前記子ノードに移動すべきことが決定された場合に、前記現在追跡しているノードの子ノードに前記呼出開始イベントが示す処理単位に対応するノードが既に存在するか否かを判定する、同一呼出構造存在判定部と、
前記判定において存在しないと判定された場合には、移動すべき前記子ノードを前記記憶部に記憶された前記ツリー構造に追加記憶する、呼出構造ノード追加部と、
を有することを特徴とする装置。
(付記14)
前記イベントには属性が含まれ、前記N番目のイベントに含まれる属性を抽出し、該抽出した属性を前記N番目のイベントに関連するノードに対応づけて前記記憶部に記憶する、呼出構造属性追加部、
を更に有することを特徴とする付記13記載の装置。
(付記15)
前記属性は、前記処理単位の引数、前記処理単位の戻り値、前記処理単位の実行回数、及び前記テストケースの識別情報のうち、いずれか1つを含む、
付記13又は14記載の装置。
(付記16)
指定された属性に基づいて、ツリー構造に関連する情報を加工して出力する、データ加工部、
を更に有する付記13乃至15のうちいずれか1項記載の装置。
(付記17)
前記データ加工部は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造との相違点を出力する、
付記16記載の装置。
(付記18)
前記データ加工部は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造とが一致するか否かを判断した結果を出力する、
付記16又は17記載の装置。
208 イベント読込部
210 ノード追跡部
214 同一呼出構造存在判定部
218 呼出構造ノード追加部
222 呼出構造属性追加部
226 表示・ユーザーインターフェース部
228 データ加工部
Claims (8)
- アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、前記アプリケーションプログラムに対するテストケースの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、前記ノード間を結ぶツリー構造として記憶部に記憶するプログラムであって、
前記実行トレース情報から、N番目のイベントを読み込み、
前記N番目のイベントが処理単位の呼出開始イベントの場合には、現在追跡しているノードから、前記呼出開始イベントが示す処理単位に対応する子ノードに移動すべきことを決定し、前記N番目のイベントが処理単位の呼出終了イベントの場合には、現在追跡しているノードよりも最上位ノード側の親ノードに移動すべきことを決定することによって、ノードを追跡し、
前記決定において前記子ノードに移動すべきことが決定された場合に、前記現在追跡しているノードの子ノードに前記呼出開始イベントが示す処理単位に対応するノードが既に存在するか否かを判定し、
前記判定において存在しないと判定された場合には、移動すべき前記子ノードを前記記憶部に記憶された前記ツリー構造に追加記憶する、
処理をコンピュータに実行させるプログラム。 - 前記イベントには属性が含まれ、前記N番目のイベントに含まれる属性を抽出し、該抽出した属性を前記N番目のイベントに関連するノードに対応づけて前記記憶部に記憶する、
処理を更にコンピュータに実行させる請求項1記載のプログラム。 - 前記属性は、前記処理単位の引数、前記処理単位の戻り値、前記処理単位の実行回数、及び前記テストケースの識別情報のうち、いずれか1つを含む、
請求項1又は2記載のプログラム。 - 指定された属性に基づいて、ツリー構造に関連する情報を加工して出力する、
処理を更にコンピュータに実行させる請求項1乃至3のうちいずれか1項記載のプログラム。 - 前記加工して出力する処理は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造との相違点を出力する、
処理を更にコンピュータに実行させる請求項4記載のプログラム。 - 前記加工して出力する処理は、第1のテストケースによって出力されたツリー構造と、第2のテストケースによって出力されたツリー構造とが一致するか否かを判断した結果を出力する、
処理を更にコンピュータに実行させる請求項4又は5記載のプログラム。 - アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、前記アプリケーションプログラムに対するテストケースの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、前記ノード間を結ぶツリー構造として記憶部に記憶する方法であって、
前記実行トレース情報から、N番目のイベントを読み込み、
前記N番目のイベントが処理単位の呼出開始イベントの場合には、現在追跡しているノードから、前記呼出開始イベントが示す処理単位に対応する子ノードに移動すべきことを決定し、前記N番目のイベントが処理単位の呼出終了イベントの場合には、現在追跡しているノードよりも最上位ノード側の親ノードに移動すべきことを決定することによって、ノードを追跡し、
前記決定において前記子ノードに移動すべきことが決定された場合に、前記現在追跡しているノードの子ノードに前記呼出開始イベントが示す処理単位に対応するノードが既に存在するか否かを判定し、
前記判定において存在しないと判定された場合には、移動すべき前記子ノードを前記記憶部に記憶された前記ツリー構造に追加記憶する、
ことを特徴とする方法。 - アプリケーションプログラムに含まれる複数の処理単位の各々をノードに対応させ、前記アプリケーションプログラムに対するテストケースの実行トレース情報に含まれる複数のイベントに基づいて、最上位ノードを出発点としてノードを追跡しながら、前記複数の処理単位の各々の呼出構造を、前記ノード間を結ぶツリー構造として記憶部に記憶する装置であって、
前記実行トレース情報から、N番目のイベントを読み込む、イベント読込部と、
前記N番目のイベントが処理単位の呼出開始イベントの場合には、現在追跡しているノードから、前記呼出開始イベントが示す処理単位に対応する子ノードに移動すべきことを決定し、前記N番目のイベントが処理単位の呼出終了イベントの場合には、現在追跡しているノードよりも最上位ノード側の親ノードに移動すべきことを決定することによって、ノードを追跡する、ノード追跡部と、
前記決定において前記子ノードに移動すべきことが決定された場合に、前記現在追跡しているノードの子ノードに前記呼出開始イベントが示す処理単位に対応するノードが既に存在するか否かを判定する、同一呼出構造存在判定部と、
前記判定において存在しないと判定された場合には、移動すべき前記子ノードを前記記憶部に記憶された前記ツリー構造に追加記憶する、呼出構造ノード追加部と、
を有することを特徴とする装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011121055A JP5772233B2 (ja) | 2011-05-30 | 2011-05-30 | プログラム実行トレース情報集約プログラム、装置、及び方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2011121055A JP5772233B2 (ja) | 2011-05-30 | 2011-05-30 | プログラム実行トレース情報集約プログラム、装置、及び方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012248118A true JP2012248118A (ja) | 2012-12-13 |
JP5772233B2 JP5772233B2 (ja) | 2015-09-02 |
Family
ID=47468482
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011121055A Expired - Fee Related JP5772233B2 (ja) | 2011-05-30 | 2011-05-30 | プログラム実行トレース情報集約プログラム、装置、及び方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5772233B2 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016081323A (ja) * | 2014-10-17 | 2016-05-16 | 株式会社東芝 | 制御プログラム保守装置、及び制御プログラム保守方法 |
JP2020503576A (ja) * | 2016-10-11 | 2020-01-30 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020354A (ja) * | 1998-07-07 | 2000-01-21 | Hitachi Ltd | 実行ステップ数の編集装置 |
JP2009104489A (ja) * | 2007-10-24 | 2009-05-14 | Fuji Electric Holdings Co Ltd | コードクローンのテスト装置および方法 |
-
2011
- 2011-05-30 JP JP2011121055A patent/JP5772233B2/ja not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2000020354A (ja) * | 1998-07-07 | 2000-01-21 | Hitachi Ltd | 実行ステップ数の編集装置 |
JP2009104489A (ja) * | 2007-10-24 | 2009-05-14 | Fuji Electric Holdings Co Ltd | コードクローンのテスト装置および方法 |
Non-Patent Citations (4)
Title |
---|
CSNG201000516005; 伊藤芳朗,他3名: 'プログラム変更前後での実行履歴の差分検出手法' 情報処理学会研究報告 ソフトウェア工学(SE) No167, 20100415, pp.1-8, 社団法人情報処理学会 * |
CSNG201000935001; 櫻井孝平,他2名: 'Traceglasses:欠陥の効率良い発見手法を実現するトレースに基づくデバッガ' 情報処理学会論文誌 トランザクション 第3巻,第3号, 20101015, pp.1-17, 一般社団法人情報処理学会 * |
JPN6014048976; 伊藤芳朗,他3名: 'プログラム変更前後での実行履歴の差分検出手法' 情報処理学会研究報告 ソフトウェア工学(SE) No167, 20100415, pp.1-8, 社団法人情報処理学会 * |
JPN6014048979; 櫻井孝平,他2名: 'Traceglasses:欠陥の効率良い発見手法を実現するトレースに基づくデバッガ' 情報処理学会論文誌 トランザクション 第3巻,第3号, 20101015, pp.1-17, 一般社団法人情報処理学会 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016081323A (ja) * | 2014-10-17 | 2016-05-16 | 株式会社東芝 | 制御プログラム保守装置、及び制御プログラム保守方法 |
JP2020503576A (ja) * | 2016-10-11 | 2020-01-30 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
US10795803B2 (en) | 2016-10-11 | 2020-10-06 | Green Hills Software Llc | Systems and methods for summarization and visualization of trace data |
JP2021180020A (ja) * | 2016-10-11 | 2021-11-18 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
JP6991204B2 (ja) | 2016-10-11 | 2022-01-12 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
JP2022043324A (ja) * | 2016-10-11 | 2022-03-15 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
JP7051269B2 (ja) | 2016-10-11 | 2022-04-11 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
US11314625B2 (en) | 2016-10-11 | 2022-04-26 | Green Hills Software, Inc. | Systems and methods for summarization and visualization of trace data |
JP7336545B2 (ja) | 2016-10-11 | 2023-08-31 | グリーン ヒルズ ソフトウェア,インコーポレイテッド | トレースデータの要約及び視覚化のためのシステム及び方法 |
Also Published As
Publication number | Publication date |
---|---|
JP5772233B2 (ja) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107622014B (zh) | 测试报告生成方法、装置、可读存储介质和计算机设备 | |
CN110928772B (zh) | 一种测试方法及装置 | |
JP5767471B2 (ja) | テストの網羅性を評価する装置及び方法 | |
US8214805B2 (en) | Method and system for graphical user interface testing | |
KR101732764B1 (ko) | 코드 클론 검출을 이용하는 지능형 코드 디퍼런싱을 수행하는 방법 및 시스템 | |
CN111818123B (zh) | 网络前端远程回放方法、装置、设备及存储介质 | |
US9760347B2 (en) | Method and system to identify GUI objects for non-markup-language-presented applications | |
US9176840B2 (en) | Tool for analyzing and resolving errors in a process server | |
US8135572B2 (en) | Integrated debugger simulator | |
EP2932393B1 (en) | Automated correlation and analysis of callstack and context data | |
US10678679B1 (en) | System, method, and computer program for automated application programming interface (API) regression testing | |
JP2009265810A (ja) | 状態遷移テスト支援装置、状態遷移テスト支援プログラム、および状態遷移テスト支援方法 | |
JP4737624B2 (ja) | アプリケーションの障害原因の特定作業支援システム | |
Pimentel et al. | Tracking and analyzing the evolution of provenance from scripts | |
US10073764B1 (en) | Method for instruction sequence execution analysis and visualization | |
JP5772233B2 (ja) | プログラム実行トレース情報集約プログラム、装置、及び方法 | |
US10417113B1 (en) | System, method, and computer program for web testing and automation offline storage and analysis | |
WO2007098615A1 (en) | Legacy application modernization by capturing, processing and analysing business processes | |
US12026171B2 (en) | Method and system of managing error data associated with a vehicle | |
JP2007122207A (ja) | プログラム分析プログラム、プログラム分析装置、プログラム分析方法 | |
US20100251211A1 (en) | Generating and using code-based diagrams | |
JP7380851B2 (ja) | テストスクリプト生成装置、テストスクリプト生成方法及びプログラム | |
CN112732578A (zh) | 一种代码性能评测方法及装置 | |
Leemans | Enhancement & inductive visual miner | |
CN110879783B (zh) | 一种程序测试方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140304 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20141107 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20141118 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20141226 |
|
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: 20150602 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150615 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5772233 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |