[go: up one dir, main page]

JP7258171B2 - Impact analysis device, impact analysis method, and impact analysis program - Google Patents

Impact analysis device, impact analysis method, and impact analysis program Download PDF

Info

Publication number
JP7258171B2
JP7258171B2 JP2021550834A JP2021550834A JP7258171B2 JP 7258171 B2 JP7258171 B2 JP 7258171B2 JP 2021550834 A JP2021550834 A JP 2021550834A JP 2021550834 A JP2021550834 A JP 2021550834A JP 7258171 B2 JP7258171 B2 JP 7258171B2
Authority
JP
Japan
Prior art keywords
execution trace
execution
representative
events
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.)
Active
Application number
JP2021550834A
Other languages
Japanese (ja)
Other versions
JPWO2021064887A1 (en
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
Publication of JPWO2021064887A1 publication Critical patent/JPWO2021064887A1/en
Application granted granted Critical
Publication of JP7258171B2 publication Critical patent/JP7258171B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、ソフトウェアの影響分析装置、影響分析方法、及び、影響分析プログラムに関する。 The present invention relates to a software influence analysis device, an influence analysis method, and an influence analysis program.

ソースコードなどの変更によるソフトウェアへの影響を分析する影響分析装置について様々な技術が提案されている。例えば特許文献1には、関数や変数の依存関係から影響範囲を抽出する技術が提案されている。例えば特許文献2には、ソースコードにタグを挿入して得られる実行トレースを計測し、関数の実行時間を収集する技術が提案されている。 Various techniques have been proposed for impact analysis devices that analyze the impact of source code changes on software. For example, Patent Literature 1 proposes a technique for extracting the range of influence from the dependency relationships of functions and variables. For example, Patent Literature 2 proposes a technique of measuring execution traces obtained by inserting tags into source code and collecting execution times of functions.

例えば特許文献3には、関数名をメモリに保持する技術が提案され、例えば特許文献4には、関数呼び出し履歴を比較する技術が提案されている。例えば特許文献5には、適当な間隔でマシン命令のシーケンスを多数採取するサンプリングトレースが提案されている。例えば特許文献6には、ジョブの種類とその実行時間とを含むジョブ履歴の外れ度合いを評価する技術が提案されている。 For example, Patent Document 3 proposes a technique of holding function names in memory, and Patent Document 4, for example, proposes a technique of comparing function call histories. For example, Patent Document 5 proposes a sampling trace that collects many sequences of machine instructions at appropriate intervals. For example, Japanese Patent Application Laid-Open No. 2002-200000 proposes a technique for evaluating the degree of deviation of job histories including job types and their execution times.

特開2015-11661号公報JP 2015-11661 A 特開平11-316696号公報JP-A-11-316696 特開2001-282576号公報Japanese Patent Application Laid-Open No. 2001-282576 特開2006-053788号公報JP 2006-053788 A 特開2004-078338号公報Japanese Patent Application Laid-Open No. 2004-078338 国際公開第2018/146714号WO2018/146714

しかしながら、従来の影響分析装置は、ソフトウェアの実行を考慮せずに静的解析で得られた依存関係を用いる。このため、処理内容の変更による影響を確認できても、ソフトウェア実行時の条件の差による影響を確認することができないという問題があった。 However, conventional impact analyzers use dependencies obtained by static analysis without considering software execution. Therefore, there is a problem that even if it is possible to confirm the influence of the change in the processing content, it is not possible to confirm the influence of the difference in the conditions when the software is executed.

そこで、本発明は、上記のような問題点を鑑みてなされたものであり、ソフトウェア実行時の条件の差による影響を表示可能な技術を提供することを目的とする。 SUMMARY OF THE INVENTION Accordingly, the present invention has been made in view of the above-described problems, and an object of the present invention is to provide a technique capable of displaying the effects of differences in conditions when software is executed.

本発明に係る影響分析装置は、ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する実行トレース収集部と、前記実行トレース収集部で収集された前記複数の実行トレースを蓄積する実行トレース蓄積部と、前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する代表実行トレース算出部と、前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積する代表実行トレース蓄積部と、前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力する出力部と、前記代表実行トレース蓄積部に蓄積された前記代表実行トレースに含まれる前記平均を基準とする許容範囲を規定し、前記実行トレース蓄積部に蓄積された前記複数の実行トレースのうち、前記時刻が前記許容範囲外である前記実行トレースを抽出する抽出部とを備え、前記出力部は、前記抽出部で抽出された前記実行トレースを、抽出に用いた前記代表実行トレースに重畳して表示する。 An impact analysis apparatus according to the present invention collects, under a plurality of different conditions, a plurality of execution traces including a plurality of events including an entry event and an exit event of a function in software and a plurality of execution traces including the times of the plurality of events. a trace collection unit; an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit; and the plurality of events based on the plurality of execution traces accumulated in the execution trace accumulation unit. a representative execution trace calculating unit for calculating a representative execution trace including the average and variation of the times of each of the plurality of events; and a representative execution for accumulating the representative execution trace calculated by the representative execution trace calculating unit. a trace accumulation unit, an output unit for outputting the representative execution trace accumulated in the representative execution trace accumulation unit, and a tolerance based on the average contained in the representative execution trace accumulated in the representative execution trace accumulation unit. an extraction unit that defines a range and extracts the execution trace whose time is outside the allowable range from among the plurality of execution traces accumulated in the execution trace accumulation unit ; The execution trace extracted in the section is superimposed on the representative execution trace used for extraction and displayed .

本発明によれば、異なる複数の条件下でそれぞれ収集された複数の実行トレースに基づいて、複数のイベントのそれぞれの時刻の平均及びばらつきを含む代表実行トレースを算出して表示する。このような構成によれば、ソフトウェア実行時の条件の差による影響を表示することができる。 According to the present invention, based on a plurality of execution traces collected under a plurality of different conditions, a representative execution trace including averages and variations in time for each of a plurality of events is calculated and displayed. According to such a configuration, it is possible to display the influence of the difference in conditions when the software is executed.

本発明の目的、特徴、態様及び利点は、以下の詳細な説明と添付図面とによって、より明白となる。 Objects, features, aspects and advantages of the present invention will become more apparent from the following detailed description and accompanying drawings.

実施の形態1に係る影響分析装置の構成を示すブロック図である。1 is a block diagram showing the configuration of an influence analysis device according to Embodiment 1; FIG. 実施の形態1に係る実行トレースの例を示す図である。FIG. 3 is a diagram showing an example of execution trace according to the first embodiment; FIG. 実施の形態1に係る代表実行トレースの例を示す図である。FIG. 4 is a diagram showing an example of a representative execution trace according to Embodiment 1; FIG. 実施の形態1に係る影響分析装置の表示例を示す図である。FIG. 3 is a diagram showing a display example of the influence analysis device according to Embodiment 1; FIG. 実施の形態1に係る影響分析装置の動作を示すフローチャートである。4 is a flow chart showing the operation of the influence analysis device according to Embodiment 1; 実施の形態1に係る影響分析装置の動作を示すフローチャートである。4 is a flow chart showing the operation of the influence analysis device according to Embodiment 1; 実施の形態2に係る影響分析装置の構成を示すブロック図である。FIG. 11 is a block diagram showing the configuration of an influence analysis device according to Embodiment 2; FIG. 実施の形態2に係る影響分析装置の動作を示すフローチャートである。9 is a flow chart showing the operation of the influence analysis device according to Embodiment 2; 実施の形態2に係る影響分析装置の動作を示すフローチャートである。9 is a flow chart showing the operation of the influence analysis device according to Embodiment 2; 実施の形態2に係る影響分析装置の動作例を説明するための図である。FIG. 11 is a diagram for explaining an operation example of the influence analysis device according to the second embodiment; 実施の形態2に係る影響分析装置の動作例を説明するための図である。FIG. 11 is a diagram for explaining an operation example of the influence analysis device according to the second embodiment; 実施の形態2に係る影響分析装置の表示例を示す図である。FIG. 10 is a diagram showing a display example of the influence analysis device according to the second embodiment; 実施の形態3に係る影響分析装置の構成を示すブロック図である。FIG. 11 is a block diagram showing the configuration of an influence analysis device according to Embodiment 3; 実施の形態3に係る開始イベント及び終了イベントの例を示す図である。FIG. 13 is a diagram showing examples of a start event and an end event according to Embodiment 3; FIG. 実施の形態3に係る影響分析装置の動作例を説明するための図である。FIG. 12 is a diagram for explaining an operation example of the influence analysis device according to Embodiment 3; 実施の形態3に係る影響分析装置の動作を示すフローチャートである。11 is a flow chart showing the operation of the influence analysis device according to Embodiment 3; 実施の形態4に係る影響分析装置の構成を示すブロック図である。FIG. 12 is a block diagram showing the configuration of an influence analysis device according to Embodiment 4; 実施の形態4に係る写像の規則の例を説明するための図である。FIG. 12 is a diagram for explaining an example of a mapping rule according to the fourth embodiment; FIG. 実施の形態4に係る影響分析装置の動作例を説明するための図である。FIG. 14 is a diagram for explaining an operation example of the influence analysis device according to the fourth embodiment; 実施の形態4に係る影響分析装置の動作を示すフローチャートである。14 is a flow chart showing the operation of the influence analysis device according to Embodiment 4;

<実施の形態1>
図1は、本発明の実施の形態1に係る影響分析装置の構成を示すブロック図である。この影響分析装置は、ソースコードなどの変更によるソフトウェアの性能への影響を分析する装置である。以下、当該影響を「変更影響」と記し、変更前のソフトウェアを「変更前ソフトウェア」と記し、変更後のソフトウェアを「変更後ソフトウェア」と記して説明する。
<Embodiment 1>
FIG. 1 is a block diagram showing the configuration of an influence analysis device according to Embodiment 1 of the present invention. This influence analysis device is a device that analyzes the influence on the performance of software due to changes such as source code. Hereinafter, the effect will be described as "change effect", the software before change will be described as "pre-change software", and the software after change will be described as "post-change software".

図1に示す影響分析装置は、実行トレース収集部1と、実行トレース蓄積部2と、代表実行トレース算出部3と、代表実行トレース蓄積部4と、表示部5とを備える。実行トレース蓄積部2の入力は、実行トレース収集部1の出力と接続される。代表実行トレース算出部3の入力は、実行トレース蓄積部2の出力と接続される。代表実行トレース蓄積部4の入力は、代表実行トレース算出部3の出力と接続される。表示部5の入力は、代表実行トレース蓄積部4の出力と接続される。 The influence analysis device shown in FIG. The input of execution trace accumulation unit 2 is connected to the output of execution trace collection unit 1 . The input of representative execution trace calculator 3 is connected to the output of execution trace storage 2 . The input of the representative execution trace storage section 4 is connected to the output of the representative execution trace calculation section 3 . The input of the display section 5 is connected to the output of the representative execution trace accumulation section 4 .

実行トレース収集部1は、複数の実行トレースを、異なる複数の条件下でそれぞれ収集するツールである。詳細は後述するが、実行トレースは、ソフトウェアにおける1つ以上の関数の入口イベント及び出口イベントを含む複数のイベントと、複数のイベントの時刻とを含むイベント系列である。なお、入口イベント及び出口イベントは、それぞれ入口の通過イベント及び出口の通過イベントと呼ぶこともできる。時刻は、ある時点からある時点までの測定時間であり、例えばイベントの時刻は、基準時点からイベントが発生した時点までの測定時間である。 The execution trace collection unit 1 is a tool that collects a plurality of execution traces under a plurality of different conditions. Although details will be described later, an execution trace is an event sequence that includes a plurality of events including entry and exit events of one or more functions in software, and the times of the plurality of events. The entrance event and the exit event can also be referred to as an entrance passage event and an exit passage event, respectively. The time is the measured time from one point in time to another point in time. For example, the event time is the measured time from the reference point in time to the time the event occurred.

実行トレース収集部1は、例えば、ソースコードに追加のコードを挿入する方式のツール、つまりインストゥルメントする方式のツールであってもよい。または、実行トレース収集部1は、例えば、マイクロプロセッサのマクロセルから得られる命令トレースを収集するデバッガを有し、ソースコードに人手でロギング関数を埋め込んだログ生成機能を有するツールであってもよい。または、実行トレース収集部1は、例えば、監視対象のイベントに比べて短いサンプリング間隔で履歴を取得可能なサンプリングトレースツールであってもよい。 The execution trace collection unit 1 may be, for example, a tool that inserts additional code into the source code, that is, an instrumenting tool. Alternatively, the execution trace collection unit 1 may be, for example, a tool that has a debugger that collects instruction traces obtained from a macrocell of a microprocessor and that has a log generation function in which a logging function is manually embedded in the source code. Alternatively, the execution trace collection unit 1 may be, for example, a sampling trace tool capable of acquiring history at sampling intervals shorter than those of events to be monitored.

図2は、実行トレース6の例を示す図である。実行トレース6は、関数の入口イベント及び出口イベントを含む複数のイベントと、当該複数のイベントが行われる時刻とを含む。時刻は、例えば、トレースを開始してからの経過時間であってもよいし、イベントとその直前のイベントとの差分時間であってもよい。図2の例ではfuncA関数と、funcA関数から呼び出されるfuncB関数と、funcA関数から呼び出されるfuncC関数とについて、経過時間が入口イベント及び出口イベントの時刻として示され、括弧内に差分時間が示されている。 FIG. 2 is a diagram showing an example of the execution trace 6. As shown in FIG. The execution trace 6 includes multiple events, including function entry and exit events, and the times at which the multiple events occur. The time may be, for example, the elapsed time from the start of tracing, or the time difference between the event and the immediately preceding event. In the example of FIG. 2, the elapsed time is shown as the time of the entry event and the exit event for the funcA function, the funcB function called from the funcA function, and the funcC function called from the funcA function, and the difference time is shown in parentheses. ing.

funcA@enterはfuncA関数の入口を示し、funcA@leaveはfuncA関数の出口を示す。同様に、funcB@enterはfuncB関数の入口を示し、funcB@leaveはfuncB関数の出口を示し、funcC@enterはfuncC関数の入口を示し、funcC@leaveはfuncC関数の出口を示す。 funcA@enter indicates the entry of the funcA function, and funcA@leave indicates the exit of the funcA function. Similarly, funcB@enter indicates the entry of the funcB function, funcB@leave indicates the exit of the funcB function, funcC@enter indicates the entry of the funcC function, and funcC@leave indicates the exit of the funcC function.

図2の例では、まずfuncA関数が0ns(0ns)で処理を開始し、funcA関数はfuncB関数を70ns(70ns)で呼び出す。それから、funcB関数は280ns(210ns)で処理を終え、funcA関数が再び処理を行い、funcA関数はfuncC関数を330ns(50ns)で呼び出す。そして、funcC関数は500ns(170ns)で処理を終え、funcA関数が再び処理を行って600ns(100ns)で処理を終える。 In the example of FIG. 2, the funcA function first starts processing at 0 ns (0 ns), and the funcA function calls the funcB function at 70 ns (70 ns). Then, the funcB function finishes processing in 280 ns (210 ns), the funcA function performs processing again, and the funcA function calls the funcC function in 330 ns (50 ns). The funcC function finishes processing in 500 ns (170 ns), and the funcA function performs processing again and finishes processing in 600 ns (100 ns).

複数の実行トレース6は、それぞれ複数の条件下で処理対象のソフトウェアを動作させることによって収集され、後述するように実質的に代表実行トレース算出部3によって統計処理される。複数の条件は、例えば、連続稼動時間、他プロセス及び他タスクの数、並びに、他プロセス及び他タスクの起動環境の少なくともいずれか1つが互いに異なる。 A plurality of execution traces 6 are collected by operating the software to be processed under a plurality of conditions, and substantially statistically processed by the representative execution trace calculator 3 as described later. The plurality of conditions differ from each other in, for example, at least one of the continuous operating time, the number of other processes and tasks, and the activation environment of the other processes and tasks.

実行トレース蓄積部2は、実行トレース収集部1で収集された複数の実行トレース6を蓄積する。複数の実行トレース6は互いに独立して実行トレース蓄積部2に蓄積されてもよいし、互いに区別可能な状態で連続的に繋げられたり結合されたりして実行トレース蓄積部2に蓄積されてもよい。 The execution trace accumulation unit 2 accumulates a plurality of execution traces 6 collected by the execution trace collection unit 1. FIG. A plurality of execution traces 6 may be stored in the execution trace storage unit 2 independently of each other, or may be stored in the execution trace storage unit 2 after being continuously connected or combined in a mutually distinguishable state. good.

代表実行トレース算出部3は、実行トレース蓄積部2に蓄積された複数の実行トレース6に基づいて統計処理を行うことにより代表実行トレースを算出する。 The representative execution trace calculator 3 calculates a representative execution trace by performing statistical processing based on the plurality of execution traces 6 accumulated in the execution trace accumulation unit 2 .

図3は、代表実行トレース7の例を示す図である。代表実行トレース7は、複数のイベントと、当該複数のイベントのそれぞれの時刻の平均及びばらつきとを含むイベント系列である。代表実行トレース7の複数のイベントは、代表実行トレース7の算出に用いられる実行トレース6の複数のイベントと同じである。時刻は、上述と同様に、例えば経過時間であってもよいし、差分時間であってもよい。ばらつきは、例えば分散であってもよいし、標準偏差であってもよい。図3では、代表実行トレース7の時刻の平均及びばらつきの例として、平均差分時間及び分散差分時間が示されている。以下、時刻が差分時間であり、ばらつきが分散である場合について主に説明するが、時刻が経過時間である場合、及び、ばらつきが標準偏差である場合も以下と同様である。 FIG. 3 is a diagram showing an example of the representative execution trace 7. As shown in FIG. The representative execution trace 7 is an event series including a plurality of events and the average and variation of the respective times of the plurality of events. The multiple events of the representative execution trace 7 are the same as the multiple events of the execution trace 6 used to calculate the representative execution trace 7 . The time may be, for example, elapsed time or differential time, as described above. Variation may be variance or standard deviation, for example. FIG. 3 shows an average difference time and a variance difference time as examples of the average and variation of the times of the representative execution trace 7 . Hereinafter, the case where the time is the differential time and the variation is the dispersion will be mainly described, but the same applies to the case where the time is the elapsed time and the variation is the standard deviation.

図3の例では、まずfuncA関数が0ns、分散0nsで処理を開始し、funcA関数はfuncB関数を平均70ns、分散10nsで呼び出す。そして、funcB関数は平均200ns、分散20nsで処理を終え、funcA関数が再び処理を行い、funcA関数はfuncC関数を平均30ns、分散15nsで呼び出す。そして、funcC関数は平均170ns、分散13nsで処理を終え、funcA関数が再び処理を行って110ns、分散10nsで処理を終える。 In the example of FIG. 3, the funcA function first starts processing with 0 ns and a variance of 0 ns, and the funcA function calls the funcB function with an average of 70 ns and a variance of 10 ns. The funcB function finishes processing with an average of 200 ns and a variance of 20 ns, the funcA function performs processing again, and the funcA function calls the funcC function with an average of 30 ns and a variance of 15 ns. The funcC function finishes processing with an average of 170 ns and a variance of 13 ns, and the funcA function performs processing again and finishes with 110 ns and a variance of 10 ns.

代表実行トレース蓄積部4は、代表実行トレース算出部3で算出された代表実行トレース7を蓄積する。 The representative execution trace accumulation section 4 accumulates the representative execution trace 7 calculated by the representative execution trace calculation section 3 .

表示部5は、代表実行トレース蓄積部4に蓄積された代表実行トレース7を選択し、選択した代表実行トレース7をタイミング図の態様で表示する。以下、出力部は代表実行トレース7を表示する表示部5であるものとして説明するが、これに限ったものではなく、例えば代表実行トレース7を送信する通信部であってもよい。代表実行トレース7は、イベントごとに統計処理された平均及びばらつきを持つため、関数の遷移であるイベント遷移は、平均及びばらつきに対応するイベント発生間隔を持たせて表示される。 The display unit 5 selects a representative execution trace 7 accumulated in the representative execution trace accumulation unit 4 and displays the selected representative execution trace 7 in the form of a timing chart. In the following explanation, the output unit is the display unit 5 that displays the representative execution trace 7, but it is not limited to this, and may be, for example, a communication unit that transmits the representative execution trace 7. FIG. Since the representative execution trace 7 has statistically processed averages and variations for each event, event transitions, which are function transitions, are displayed with event occurrence intervals corresponding to the averages and variations.

図4は、表示部5による代表実行トレース7の表示例である。図4では、funcA関数がfuncB関数及びfuncC関数をこの順に呼び出す動作が示されている。表示部5は、関数の遷移を統計的処理の結果である代表実行トレース7に基づいて表示する。例えば、表示部5は、「平均差分時間±2×分散差分時間」のイベント発生間隔を持たせて、関数の遷移を表示する。図4の例では、表示部5は、funcA関数などからfuncB関数などへの関数遷移を2つの矢印で表現している。左側の矢印は「平均差分時間-2×分散差分時間」を示し、右側の矢印は「平均差分時間+2×分散差分時間」を示している。 FIG. 4 is a display example of the representative execution trace 7 on the display unit 5. As shown in FIG. FIG. 4 shows an operation in which the funcA function calls the funcB function and the funcC function in this order. The display unit 5 displays the transition of the function based on the representative execution trace 7, which is the result of statistical processing. For example, the display unit 5 displays the transition of the function with an event occurrence interval of “average differential time ±2×dispersed differential time”. In the example of FIG. 4, the display unit 5 expresses the function transition from the funcA function and the like to the funcB function and the like with two arrows. The arrow on the left side indicates "average differential time - 2 x variance differential time", and the arrow on the right side indicates "average differential time + 2 x variance differential time".

実行トレース収集部1、実行トレース蓄積部2、代表実行トレース算出部3、及び、代表実行トレース蓄積部4は、変更前ソフトウェア及び変更後ソフトウェアのそれぞれについて処理を行う。そして、表示部5が、変更前ソフトウェアの代表実行トレース7と、変更後ソフトウェアの代表実行トレース7とを表示することにより、ユーザは変更影響を確認することができる。 The execution trace collection unit 1, the execution trace storage unit 2, the representative execution trace calculation unit 3, and the representative execution trace storage unit 4 process the pre-change software and the post-change software, respectively. The display unit 5 displays the representative execution trace 7 of the pre-change software and the representative execution trace 7 of the post-change software, so that the user can confirm the influence of the change.

<動作>
図5は、本実施の形態1に係る影響分析装置が変更影響を可視化する動作を示すフローチャートである。以下、図5を用いてこの動作を説明する。
<Action>
FIG. 5 is a flow chart showing the operation of visualizing the change impact by the impact analysis device according to the first embodiment. This operation will be described below with reference to FIG.

ステップS1~ステップS3では、変更前ソフトウェアについて処理が行われる。まず、ステップS1にて、実行トレース収集部1は、変更前ソフトウェアの実行トレース6をある条件下で取得し、実行トレース蓄積部2に蓄積する。蓄積後、処理がステップS2に進む。 In steps S1 to S3, the pre-change software is processed. First, in step S1, the execution trace collection unit 1 acquires the execution trace 6 of the pre-change software under certain conditions and accumulates it in the execution trace accumulation unit 2. FIG. After accumulation, the process proceeds to step S2.

ステップS2にて、実行トレース収集部1は、実行トレース6を取得した回数が、予め指定された指定回数に達しているか否かを判定する。達していないと判定された場合には処理がステップS1に戻り、当該ステップS1にて実行トレース収集部1は、実行トレース6を別の条件下で取得し、実行トレース蓄積部2に蓄積する。達していると判定された場合には処理がステップS3に進む。以上により、異なる複数の条件下で収集された複数の実行トレース6が実行トレース蓄積部2に蓄積される。 In step S2, the execution trace collection unit 1 determines whether or not the number of times the execution trace 6 has been acquired has reached a specified number of times specified in advance. If it is determined that the threshold has not been reached, the process returns to step S1. If it is determined that the time has been reached, the process proceeds to step S3. As described above, a plurality of execution traces 6 collected under a plurality of different conditions are accumulated in the execution trace accumulation unit 2. FIG.

ステップS3にて、代表実行トレース算出部3は、実行トレース蓄積部2に蓄積された変更前ソフトウェアの複数の実行トレース6に基づいて、変更前ソフトウェアの代表実行トレース7を算出し、代表実行トレース蓄積部4に蓄積する。蓄積後、処理がステップS4に進む。 At step S3, the representative execution trace calculation unit 3 calculates a representative execution trace 7 of the pre-change software based on the plurality of execution traces 6 of the pre-change software accumulated in the execution trace accumulation unit 2, and calculates the representative execution trace. Stored in the storage unit 4 . After accumulation, the process proceeds to step S4.

ステップS4~ステップS6では、変更後ソフトウェアについて、ステップS1~ステップS3の処理と同様の処理が行われる。まず、ステップS4にて、実行トレース収集部1は、変更後ソフトウェアの実行トレース6をある条件下で取得し、実行トレース蓄積部2に蓄積する。蓄積後、処理がステップS5に進む。 In steps S4 to S6, the same processing as in steps S1 to S3 is performed on the post-change software. First, in step S<b>4 , the execution trace collection unit 1 acquires the execution trace 6 of the post-change software under certain conditions and stores it in the execution trace storage unit 2 . After accumulation, the process proceeds to step S5.

ステップS5にて、実行トレース収集部1は、実行トレース6を取得した回数が、予め指定された指定回数に達しているか否かを判定する。達していないと判定された場合には処理がステップS4に戻り、当該ステップS4にて実行トレース収集部1は、実行トレース6を別の条件下で取得し、実行トレース蓄積部2に蓄積する。達していると判定された場合には処理がステップS6に進む。 In step S5, the execution trace collection unit 1 determines whether or not the number of times the execution trace 6 has been acquired has reached a specified number of times specified in advance. If it is determined that the threshold has not been reached, the process returns to step S4. If it is determined that it has reached, the process proceeds to step S6.

ステップS6にて、代表実行トレース算出部3は、実行トレース蓄積部2に蓄積された変更後ソフトウェアの複数の実行トレース6に基づいて、変更後ソフトウェアの代表実行トレース7を算出し、代表実行トレース蓄積部4に蓄積する。蓄積後、処理がステップS7に進む。 In step S6, the representative execution trace calculation unit 3 calculates a representative execution trace 7 of the post-change software based on the plurality of execution traces 6 of the post-change software accumulated in the execution trace accumulation unit 2, and Stored in the storage unit 4 . After accumulation, the process proceeds to step S7.

ステップS7にて、表示部5は、代表実行トレース蓄積部4に蓄積された代表実行トレース7を表示する。表示部5は、例えば、変更前ソフトウェアの代表実行トレース7及び変更後ソフトウェアの代表実行トレース7を選択的または同時に表示する。これにより、ユーザは、変更前ソフトウェアと変更後ソフトウェアとの間で行われた変更によるソフトウェアの性能への影響を確認することができる。表示後、図5の動作が終了する。 At step S<b>7 , the display unit 5 displays the representative execution trace 7 accumulated in the representative execution trace accumulation unit 4 . The display unit 5, for example, selectively or simultaneously displays the representative execution trace 7 of the pre-change software and the representative execution trace 7 of the post-change software. This allows the user to check the effect on the performance of the software due to the change made between the pre-change software and the post-change software. After the display, the operation of FIG. 5 ends.

図6は、ステップS3及びステップS6における、代表実行トレース7の算出動作を示すフローチャートである。以下、図6を用いてこの動作を説明する。 FIG. 6 is a flow chart showing the operation of calculating the representative execution trace 7 in steps S3 and S6. This operation will be described below with reference to FIG.

まず、ステップS11にて、代表実行トレース算出部3は、イベント系列リストを空にする。その後、処理がステップS12に進む。 First, in step S11, the representative execution trace calculator 3 empties the event series list. After that, the process proceeds to step S12.

ステップS12にて、代表実行トレース算出部3は、実行トレース蓄積部2から実行トレース6を取得する。取得後、処理がステップS13に進む。 At step S<b>12 , the representative execution trace calculation unit 3 acquires the execution trace 6 from the execution trace storage unit 2 . After acquisition, the process proceeds to step S13.

ステップS13にて、代表実行トレース算出部3は、ステップS12で取得された実行トレース6のイベント系列がイベント系列リストに存在するか否かを確認する。存在しない場合にはステップS14に処理が進み、存在する場合にはステップS15に進む。 At step S13, the representative execution trace calculator 3 checks whether the event sequence of the execution trace 6 obtained at step S12 exists in the event sequence list. If it does not exist, the process proceeds to step S14, and if it exists, the process proceeds to step S15.

ステップS14にて、代表実行トレース算出部3は、存在しなかったイベント系列をイベント系列リストに追加する。追加後、処理がステップS15に進む。 In step S14, the representative execution trace calculator 3 adds the event series that did not exist to the event series list. After the addition, the process proceeds to step S15.

ステップS15にて、代表実行トレース算出部3は、イベント系列リストにあるイベント系列のイベントについて、直前のイベントから差分時間を算出する。算出後、処理がステップS16に進む。 In step S15, the representative execution trace calculator 3 calculates the difference time from the immediately preceding event for the events of the event series in the event series list. After the calculation, the process proceeds to step S16.

ステップS16にて、代表実行トレース算出部3は、実行トレース蓄積部2に蓄積された複数の実行トレース6のうち未処理の実行トレース6が存在するか否かを判定する。存在すると判定された場合には処理がステップS12に戻り、当該ステップS12にて、代表実行トレース算出部3は、実行トレース蓄積部2から未処理の実行トレース6を取得する。存在しないと判定された場合には処理がステップS17に進む。以上の動作により、同じ種類のイベントが、最大で複数の実行トレース6と同じ数だけ得られ、それぞれについて差分時間が算出される。例えば、図2のような実行トレース6がN(Nは1以上の自然数)個収集されていた場合には、funcA@enterという1種類のイベントがN個得られ、それぞれについて差分時間が算出される。つまり、1種類のN(Nは1以上の自然数)個のイベントの差分時間が算出される。 At step S<b>16 , the representative execution trace calculator 3 determines whether or not there is an unprocessed execution trace 6 among the plurality of execution traces 6 accumulated in the execution trace accumulation unit 2 . If it is determined to exist, the process returns to step S12, and the representative execution trace calculator 3 acquires the unprocessed execution trace 6 from the execution trace storage 2 in step S12. If it is determined that it does not exist, the process proceeds to step S17. Through the above operations, the same type of event is obtained in the same number as the plurality of execution traces 6 at maximum, and the difference time is calculated for each. For example, when N (N is a natural number equal to or greater than 1) execution traces 6 shown in FIG. be. That is, the differential times of one type of N (N is a natural number equal to or greater than 1) events are calculated.

ステップS17にて、代表実行トレース算出部3は、イベント系列リストから1種類の1以上のイベントを取得する。取得後、処理がステップS18に進む。 In step S17, the representative execution trace calculator 3 acquires one or more events of one type from the event series list. After acquisition, the process proceeds to step S18.

ステップS18にて、代表実行トレース算出部3は、1種類の1以上のイベントの差分時間から、平均値及び分散値を算出する。代表実行トレース算出部3は、1種類のイベントと、当該1種類のイベントの平均差分時間及び分散差分時間とを含む代表実行トレース7を生成する。その後、処理がステップS19に進む。 In step S18, the representative execution trace calculation unit 3 calculates an average value and a variance value from the differential times of one or more events of one type. The representative execution trace calculator 3 generates a representative execution trace 7 including one type of event and the average differential time and variance differential time of the one type of event. After that, the process proceeds to step S19.

ステップS19にて、代表実行トレース算出部3は、イベント系列リストに未処理のイベントが存在するか否かを判定する。存在すると判定された場合には処理がステップS17に戻り、当該ステップS17にて、代表実行トレース算出部3は、イベント系列リストから未処理のイベントを取得する。存在しないと判定された場合には、図6の動作が終了する。 In step S19, the representative execution trace calculator 3 determines whether or not there is an unprocessed event in the event series list. If it is determined that the event exists, the process returns to step S17, and in step S17, the representative execution trace calculator 3 acquires an unprocessed event from the event sequence list. If it is determined that it does not exist, the operation of FIG. 6 ends.

<実施の形態1のまとめ>
以上のような本実施の形態1に係る影響分析装置によれば、異なる複数の条件下でそれぞれ収集された複数の実行トレース6に基づいて、複数のイベントのそれぞれの時刻の平均及びばらつきを含む代表実行トレース7を算出して表示する。このような構成によれば、ソフトウェアの性能に対するソフトウェア実行時の条件の差による影響、例えば、他タスクや他プロセス、割込などの影響を確認するための表示を行うことができる。したがって、ユーザは、当該影響を考慮した性能影響を確認することができる。
<Summary of Embodiment 1>
According to the impact analysis apparatus according to the first embodiment as described above, based on a plurality of execution traces 6 collected under a plurality of different conditions, the average and variation of each time of a plurality of events are calculated. A representative execution trace 7 is calculated and displayed. According to such a configuration, it is possible to perform a display for confirming the influence of the difference in software execution conditions on the performance of the software, for example, the influence of other tasks, other processes, interrupts, and the like. Therefore, the user can confirm the performance impact considering the impact.

<実施の形態2>
実施の形態1によれば、ユーザは、代表実行トレース7の時刻の平均である平均時刻と実行トレース6の時刻とを比較し、代表実行トレース7からある程度の差を有する実行トレース6を特定することで、その差の原因を調査することができる。しかしながら、代表実行トレース7のイベント系列が長い場合や、複数の実行トレース6の数が多い場合には、その作業は困難になる。このことに鑑みて、以下の説明で明らかとなるように、本発明の実施の形態2に係る影響分析装置では、代表実行トレース7からある程度の差を有する実行トレース6を自動的に抽出することが可能となっている。
<Embodiment 2>
According to the first embodiment, the user compares the average time, which is the average of the times of the representative execution trace 7, with the time of the execution trace 6, and identifies the execution trace 6 having a certain amount of difference from the representative execution trace 7. Therefore, the cause of the difference can be investigated. However, if the event sequence of the representative execution trace 7 is long, or if the number of execution traces 6 is large, the work becomes difficult. In view of this, as will become clear from the following description, the effect analysis apparatus according to the second embodiment of the present invention automatically extracts an execution trace 6 having a certain amount of difference from the representative execution trace 7. is possible.

図7は、本実施の形態2に係る影響分析装置の構成を示すブロック図である。以下、本実施の形態2に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。 FIG. 7 is a block diagram showing the configuration of the influence analysis device according to the second embodiment. Hereinafter, among the constituent elements according to the second embodiment, constituent elements that are the same as or similar to the above-described constituent elements are denoted by the same or similar reference numerals, and different constituent elements will be mainly described.

図7に示す影響分析装置の構成は、実施の形態1に係る影響分析装置の構成(図1)に、抽出部である実行トレース外れ値抽出部8が追加された構成と同様である。実行トレース蓄積部2の入力は、実行トレース収集部1の出力と接続される。代表実行トレース算出部3の入力は、実行トレース蓄積部2の出力と接続される。代表実行トレース算出部3の入力は、実行トレース蓄積部2の出力と接続される。代表実行トレース蓄積部4の入力は、代表実行トレース算出部3の出力と接続される。実行トレース外れ値抽出部8の入力は、実行トレース蓄積部2の出力、及び、代表実行トレース蓄積部4の出力と接続される。表示部5の入力は、代表実行トレース蓄積部4の出力、及び、実行トレース外れ値抽出部8の出力と接続される。 The configuration of the impact analysis device shown in FIG. 7 is the same as the configuration of the impact analysis device according to the first embodiment (FIG. 1) with an execution trace outlier extraction unit 8 added as an extraction unit. The input of execution trace accumulation unit 2 is connected to the output of execution trace collection unit 1 . The input of representative execution trace calculator 3 is connected to the output of execution trace storage 2 . The input of representative execution trace calculator 3 is connected to the output of execution trace storage 2 . The input of the representative execution trace storage section 4 is connected to the output of the representative execution trace calculation section 3 . The input of the execution trace outlier extraction unit 8 is connected to the output of the execution trace accumulation unit 2 and the output of the representative execution trace accumulation unit 4 . The input of the display unit 5 is connected to the output of the representative execution trace accumulation unit 4 and the output of the execution trace outlier extraction unit 8 .

本実施の形態2では、代表実行トレース蓄積部4は、互いの複数のイベントの組み合わせが異なる複数の代表実行トレース7(例えば図10のトレースA~Dに類似するトレース)を蓄積している。ここでいう複数のイベントの組み合わせが異なることは、イベントの種類及び個数の少なくともいずれか1つが異なることを含む。 In the second embodiment, the representative execution trace accumulation unit 4 accumulates a plurality of representative execution traces 7 (for example, traces similar to traces A to D in FIG. 10) having different combinations of a plurality of events. The fact that the combination of a plurality of events is different includes that at least one of the types and the number of events is different.

実行トレース外れ値抽出部8は、代表実行トレース蓄積部4に蓄積された複数の代表実行トレース7のうち、実行トレース蓄積部2に蓄積された複数の実行トレース6と複数のイベントの組み合わせの差が最も小さい代表実行トレース7を取得する。以下、実行トレース外れ値抽出部8で取得された代表実行トレース7を「最近傍系列の代表実行トレース7」と記すこともある。 The execution trace outlier extracting unit 8 extracts the difference between the combination of the plurality of execution traces 6 accumulated in the execution trace accumulation unit 2 and the plurality of events among the plurality of representative execution traces 7 accumulated in the representative execution trace accumulation unit 4. Get the representative execution trace 7 with the smallest . Hereinafter, the representative execution trace 7 acquired by the execution trace outlier extracting unit 8 may also be referred to as "the representative execution trace 7 of the nearest neighborhood sequence".

実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7に含まれる平均である平均時刻を基準とする許容範囲を規定し、実行トレース蓄積部2に蓄積された複数の実行トレース6のうち、時刻が当該許容範囲外である実行トレース6を抽出する。以下、実行トレース外れ値抽出部8で抽出された実行トレース6を「外れ値の実行トレース6」と記すこともある。 The execution trace outlier extraction unit 8 defines an allowable range based on the average time included in the representative execution trace 7 of the nearest neighbor sequence, and extracts the plurality of execution traces 6 accumulated in the execution trace accumulation unit 2. Among them, an execution trace 6 whose time is outside the permissible range is extracted. Hereinafter, the execution trace 6 extracted by the execution trace outlier extraction unit 8 may be referred to as an "outlier execution trace 6".

表示部5は、実行トレース外れ値抽出部8より抽出された外れ値の実行トレース6を、抽出に用いた最近傍系列の代表実行トレース7に重畳して表示する。これにより、ユーザは、代表実行トレース7と、当該代表実行トレース7からある程度の差を有する実行トレース6とを確認することができる。 The display unit 5 displays the execution trace 6 of the outlier extracted by the execution trace outlier extraction unit 8 superimposed on the representative execution trace 7 of the nearest neighbor sequence used for extraction. Thereby, the user can confirm the representative execution trace 7 and the execution trace 6 having some difference from the representative execution trace 7 .

<動作>
図8にて、本実施の形態2に係る影響分析装置が変更影響を可視化する動作を示すフローチャートである。以下、図8を用いてこの動作を説明する。
<Action>
FIG. 8 is a flow chart showing the operation of visualizing the change impact by the impact analysis device according to the second embodiment. This operation will be described below with reference to FIG.

ステップS21~ステップS23では、変更前ソフトウェアについて、実施の形態1で説明した図5のステップS1~ステップS3の処理と同様の処理が行われる。まず、ステップS21にて、実行トレース収集部1は、変更前ソフトウェアの実行トレース6をある条件下で取得し、実行トレース蓄積部2に蓄積する。蓄積後、処理がステップS22に進む。 In steps S21 to S23, processing similar to that of steps S1 to S3 in FIG. 5 described in the first embodiment is performed on the pre-change software. First, in step S21, the execution trace collection unit 1 acquires the execution trace 6 of the pre-change software under certain conditions, and accumulates it in the execution trace accumulation unit 2. FIG. After accumulation, the process proceeds to step S22.

ステップS22にて、実行トレース収集部1は、実行トレース6を取得した回数が、予め指定された指定回数に達しているか否かを判定する。達していないと判定された場合には処理がステップS21に戻り、当該ステップS21にて実行トレース収集部1は、実行トレース6を別の条件下で取得し、実行トレース蓄積部2に蓄積する。達していると判定された場合には処理がステップS23に進む。これにより、変更前ソフトウェアの複数の実行トレース6が実行トレース蓄積部2に蓄積される。 In step S22, the execution trace collection unit 1 determines whether or not the number of acquisitions of the execution trace 6 has reached a specified number of times specified in advance. If it is determined that the threshold has not been reached, the process returns to step S21. If it is determined that the time has been reached, the process proceeds to step S23. As a result, a plurality of execution traces 6 of the pre-change software are accumulated in the execution trace accumulation unit 2 .

ステップS23にて、代表実行トレース算出部3は、実行トレース蓄積部2に蓄積された変更前ソフトウェアの複数の実行トレース6に基づいて、変更前ソフトウェアの代表実行トレース7を算出し、代表実行トレース蓄積部4に蓄積する。 At step S23, the representative execution trace calculation unit 3 calculates a representative execution trace 7 of the pre-change software based on the plurality of execution traces 6 of the pre-change software accumulated in the execution trace accumulation unit 2, and calculates the representative execution trace. Stored in the storage unit 4 .

以上の処理は、複数のイベントの組み合わせが互いに異なる複数の実行トレース6(例えば図10のトレースA~Dに類似するトレース)について行われる。その結果、変更前ソフトウェアについて、互いの複数のイベントの組み合わせが異なる複数の代表実行トレース7が代表実行トレース蓄積部4に蓄積される。蓄積後、処理がステップS24に進む。 The above processing is performed for a plurality of execution traces 6 (for example, traces similar to traces A to D in FIG. 10) having different combinations of a plurality of events. As a result, a plurality of representative execution traces 7 having different combinations of a plurality of events are accumulated in the representative execution trace accumulation unit 4 for the pre-change software. After accumulation, the process proceeds to step S24.

ステップS24及びステップS25では、変更後ソフトウェアについて、ステップS21及びステップS22と同様の処理が行われる。これにより、変更後ソフトウェアの複数の実行トレース6が実行トレース蓄積部2に蓄積される。蓄積後、処理がステップS26に進む。 In steps S24 and S25, the same processing as in steps S21 and S22 is performed on the post-change software. As a result, a plurality of execution traces 6 of the post-change software are accumulated in the execution trace accumulation unit 2 . After accumulation, the process proceeds to step S26.

ステップS26にて、実行トレース外れ値抽出部8は、代表実行トレース蓄積部4に蓄積された変更前ソフトウェアの複数の代表実行トレース7から、変更前ソフトウェアの最近傍系列の代表実行トレース7を取得する。そして、実行トレース外れ値抽出部8は、変更前ソフトウェアの最近傍系列の代表実行トレース7と、実行トレース蓄積部2に蓄積された変更後ソフトウェアの複数の実行トレース6とを比較し、変更後ソフトウェアについて外れ値の実行トレース6を抽出する。それから、表示部5は、抽出された外れ値の実行トレース6を、最近傍系列の代表実行トレース7に重畳して表示する。これにより、ユーザは、変更前ソフトウェアの代表実行トレース7と、当該代表実行トレース7からある程度の差を有する変更後ソフトウェアの実行トレース6とを確認することができる。 In step S26, the execution trace outlier extracting unit 8 acquires the representative execution trace 7 of the nearest neighbor series of the pre-change software from the plurality of representative execution traces 7 of the pre-change software accumulated in the representative execution trace accumulation unit 4. do. Then, the execution trace outlier extraction unit 8 compares the representative execution trace 7 of the nearest neighbor series of the pre-change software with the plurality of execution traces 6 of the post-change software accumulated in the execution trace accumulation unit 2, and Extract an outlier execution trace 6 for the software. Then, the display unit 5 displays the execution trace 6 of the extracted outlier superimposed on the representative execution trace 7 of the nearest neighbor series. As a result, the user can confirm the representative execution trace 7 of the pre-change software and the execution trace 6 of the post-change software having a certain amount of difference from the representative execution trace 7 .

図9は、ステップS26における、最近傍系列の代表実行トレース7の取得動作、並びに、外れ値の実行トレース6の抽出動作及び表示動作を示すフローチャートである。以下、図9を用いてこれらの動作を説明する。 FIG. 9 is a flow chart showing the operation of acquiring the representative execution trace 7 of the nearest neighbor series and the operation of extracting and displaying the outlier execution trace 6 in step S26. These operations will be described below with reference to FIG.

まず、ステップS31にて、実行トレース外れ値抽出部8は、代表実行トレース蓄積部4から代表実行トレース7を取得する。取得後、処理がステップS32に進む。 First, in step S<b>31 , the execution trace outlier extraction unit 8 acquires the representative execution trace 7 from the representative execution trace accumulation unit 4 . After acquisition, the process proceeds to step S32.

ステップS32にて、実行トレース外れ値抽出部8は、ステップS31で取得された代表実行トレース7と、実行トレース蓄積部2に蓄積された複数の実行トレース6との間の、複数のイベントの組み合わせの差を算出する。算出後、処理がステップS33に進む。 In step S32, the execution trace outlier extraction unit 8 extracts a combination of multiple events between the representative execution trace 7 acquired in step S31 and the multiple execution traces 6 accumulated in the execution trace accumulation unit 2. Calculate the difference between After the calculation, the process proceeds to step S33.

ステップS33にて、実行トレース外れ値抽出部8は、ステップS32で算出された差が、最近傍系列の代表実行トレース7について同様に算出された差よりも小さいか否かを判定する。小さいと判定された場合には処理がステップS34に進み、小さくないと判定された場合には処理がステップS35に進む。 In step S33, the execution trace outlier extraction unit 8 determines whether the difference calculated in step S32 is smaller than the difference similarly calculated for the representative execution trace 7 of the nearest neighbor series. If determined to be small, the process proceeds to step S34, and if determined not to be small, the process proceeds to step S35.

ステップS34にて、実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7を、ステップS31で取得された代表実行トレース7に更新する。更新後、処理がステップS35に進む。 In step S34, the execution trace outlier extraction unit 8 updates the representative execution trace 7 of the nearest neighborhood sequence to the representative execution trace 7 acquired in step S31. After updating, the process proceeds to step S35.

ステップS35にて、実行トレース外れ値抽出部8は、代表実行トレース蓄積部4に蓄積された複数の代表実行トレース7のうち未処理の代表実行トレース7が存在するか否かを判定する。存在すると判定された場合には処理がステップS31に戻り、当該ステップS31にて、実行トレース外れ値抽出部8は、代表実行トレース蓄積部4から未処理の代表実行トレース7を取得する。存在しないと判定された場合には処理がステップS36に進む。 In step S<b>35 , the execution trace outlier extracting unit 8 determines whether or not there is an unprocessed representative execution trace 7 among the plurality of representative execution traces 7 accumulated in the representative execution trace accumulation unit 4 . If it is determined to exist, the process returns to step S31, and the execution trace outlier extraction unit 8 acquires the unprocessed representative execution trace 7 from the representative execution trace accumulation unit 4 in step S31. If it is determined that it does not exist, the process proceeds to step S36.

図10は、ステップS32~ステップS35の動作例を説明するための図である。図10の例では、基準トレースは、実行トレース蓄積部2に蓄積された実行トレース6であり、トレースAは、1回目のステップS31で取得された代表実行トレース7であり、…、トレースDは、4回目のステップS31で取得された代表実行トレース7である。以下、複数のイベントの組み合わせの差を「イベントの差」と略して説明する。 FIG. 10 is a diagram for explaining an operation example of steps S32 to S35. In the example of FIG. 10, the reference trace is the execution trace 6 accumulated in the execution trace accumulation unit 2, the trace A is the representative execution trace 7 acquired in the first step S31, . , the representative execution trace 7 acquired in the fourth step S31. Hereinafter, the difference between combinations of multiple events will be abbreviated as "event difference".

基準トレースのイベント系列では、funcA関数が呼び出され、funcA関数の中でfuncB関数及びfuncC関数が呼び出されている。トレースAのイベント系列は、基準トレースのイベント系列と等しいため、イベントの差は「0」となる。 In the event series of the reference trace, the funcA function is called, and the funcB and funcC functions are called in the funcA function. Since the event series of trace A is equal to the event series of the reference trace, the event difference is "0".

トレースBのイベント系列では、funcA関数の中でfuncC関数のみが呼び出されている。つまり、トレースBのイベント系列では、funcB関数の呼び出しに伴うfuncB関数の入口イベント及び出口イベントがないため、イベントの差は「2」となる。 In the event series of trace B, only the funcC function is called in the funcA function. In other words, in the event series of trace B, the event difference is "2" because there is no entry event or exit event for the funcB function accompanying the call of the funcB function.

トレースCのイベント系列では、funcA関数の中でfuncB関数及びfuncD関数が呼び出されている。つまり、トレースCのイベント系列では、funcC関数ではなくfuncD関数が呼び出され、funcC関数の入口イベント及び出口イベントとfuncD関数の入口イベント及び出口イベントとが異なるため、イベントの差は「2」となる。 In the event series of trace C, the funcB function and the funcD function are called in the funcA function. That is, in the event series of trace C, the funcD function is called instead of the funcC function, and the entrance event and exit event of the funcC function are different from the entrance event and exit event of the funcD function, so the event difference is "2". .

トレースDのイベント系列では、funcA関数の中でfuncB関数、funcC関数、及び、funcD関数が呼び出されている。funcD関数が呼び出される分だけ、funcD関数の入口イベント及び出口イベントが増えているため、イベントの差は「2」となる。 In the event series of trace D, funcB function, funcC function, and funcD function are called in funcA function. Since the number of entry events and exit events of the funcD function has increased by the number of calls of the funcD function, the event difference is "2".

実行トレース外れ値抽出部8は、以上の例についてステップS32~ステップS35の処理を行った場合、トレースA~Dのうち実行トレース6とのイベントの差が最も小さいトレースAを、最近傍系列の代表実行トレース7として取得する。 When the execution trace outlier extraction unit 8 performs the processes of steps S32 to S35 for the above example, the execution trace outlier extractor 8 selects the trace A, which has the smallest event difference from the execution trace 6 among the traces A to D, as the nearest neighbor sequence. Acquired as a representative execution trace 7.

なお、以上の説明では、代表実行トレース7と比較される、複数の実行トレース6同士の複数のイベントの組み合わせは互いに同じである場合について説明したが、互いに異なる場合もある。このような場合には、例えば、実行トレース外れ値抽出部8は、各実行トレース6と、代表実行トレース7とのイベントの差を求め、複数の実行トレース6について当該差を合計した値が最も小さくなる代表実行トレース7を、最近傍系列の代表実行トレース7として取得すればよい。例えば、複数の実行トレース6として、図11の第1基準トレースが1つ、図11の第2基準トレースが5つ存在する場合、トレースA、トレースB、トレースC、トレースDのイベントの差は、それぞれ2、10、14、14となる。このような場合に、実行トレース外れ値抽出部8は、トレースA~Dのうち実行トレース6とのイベントの差が最も小さいトレースAを、最近傍系列の代表実行トレース7として取得すればよい。 In the above description, the combination of the multiple events of the multiple execution traces 6 to be compared with the representative execution trace 7 is the same, but it may be different. In such a case, for example, the execution trace outlier extracting unit 8 obtains the event difference between each execution trace 6 and the representative execution trace 7, and the sum of the differences for a plurality of execution traces 6 is the maximum value. The smaller representative execution trace 7 may be obtained as the representative execution trace 7 of the nearest neighborhood sequence. For example, when there are one first reference trace in FIG. 11 and five second reference traces in FIG. , 2, 10, 14, and 14, respectively. In such a case, the execution trace outlier extraction unit 8 may acquire the trace A, which has the smallest event difference from the execution trace 6 among the traces A to D, as the representative execution trace 7 of the nearest neighborhood sequence.

図9のステップS36以降の処理は、実行トレース蓄積部2に蓄積された複数の実行トレース6のそれぞれについて行われる。 The processing after step S36 in FIG. 9 is performed for each of the plurality of execution traces 6 accumulated in the execution trace accumulation unit 2. FIG.

まず、ステップS36にて、実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7からイベントを取得する。その後、処理がステップS37に進む。 First, in step S36, the execution trace outlier extraction unit 8 acquires an event from the representative execution trace 7 of the nearest neighbor sequence. After that, the process proceeds to step S37.

ステップS37にて、実行トレース外れ値抽出部8は、ステップS36で取得されたイベントの平均時刻を基準とする許容範囲を規定する。例えば、実行トレース外れ値抽出部8は、代表実行トレース7に含まれる分散を、分散時刻とした場合、許容範囲を、平均時刻±(分散時間×2)の範囲として規定する。実行トレース外れ値抽出部8は、実行トレース6のイベントの時刻が許容範囲内に収まっているか否かを判定する。収まっていると判定された場合には、処理がステップS38に進む。収まっていないと判定された場合には、処理がステップS39に進む。 In step S37, the execution trace outlier extraction unit 8 defines an allowable range based on the average time of events acquired in step S36. For example, when the variance included in the representative execution trace 7 is the variance time, the execution trace outlier extraction unit 8 defines the allowable range as the average time±(variance time×2). The execution trace outlier extraction unit 8 determines whether the time of the event of the execution trace 6 is within the allowable range. If it is determined that it fits, the process proceeds to step S38. If it is determined that it does not fit, the process proceeds to step S39.

ステップS38にて、実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7のうち未処理のイベントが存在するか否かを判定する。存在すると判定された場合には処理がステップS36に戻り、当該ステップS36にて、実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7から未処理のイベントを取得する。存在しないと判定された場合には、図9の動作が終了する。 In step S38, the execution trace outlier extraction unit 8 determines whether or not there is an unprocessed event in the representative execution trace 7 of the nearest neighbor series. If it is determined to exist, the process returns to step S36, and in step S36, the execution trace outlier extraction unit 8 acquires an unprocessed event from the representative execution trace 7 of the nearest neighbor series. If it is determined that it does not exist, the operation of FIG. 9 ends.

ステップS39にて、実行トレース外れ値抽出部8は、ステップS37で判定された実行トレース6を外れ値の実行トレース6として決定し、表示部5は、外れ値の実行トレース6を、抽出に用いた最近傍系列の代表実行トレース7に重畳して表示する。表示後、図9の動作が終了する。 In step S39, the execution trace outlier extraction unit 8 determines the execution trace 6 determined in step S37 as the outlier execution trace 6, and the display unit 5 uses the outlier execution trace 6 for extraction. is superimposed on the representative execution trace 7 of the nearest neighbor series. After the display, the operation of FIG. 9 ends.

図12は、ステップS39の表示例を示す図である。点線は最近傍系列の代表実行トレース7を示し、実線は外れ値の実行トレース6を示す。図12に示されるような表示によれば、外れ値の実行トレース6のうち、funcA関数からfuncB関数に遷移するタイミング、及び、funcA関数からfuncC関数に遷移するタイミングが、代表実行トレース7の許容範囲から外れていることが読み取れる。 FIG. 12 is a diagram showing a display example of step S39. The dotted line indicates the representative execution trace 7 of the nearest neighbor sequence, and the solid line indicates the outlier execution trace 6 . According to the display as shown in FIG. 12, among the outlier execution traces 6, the transition timing from the funcA function to the funcB function and the transition timing from the funcA function to the funcC function are the allowable values of the representative execution trace 7. It can be read that it is out of range.

<実施の形態2のまとめ>
以上のような本実施の形態2に係る影響分析装置によれば、実行トレース蓄積部2に蓄積された複数の実行トレース6のうち、時刻が許容範囲外である実行トレース6を抽出して表示する。このような構成によれば、ユーザは、代表実行トレース7と、当該代表実行トレース7からある程度の差を有する実行トレース6とを確認することができる。このため、実行トレース6を代表実行トレース7から異ならせた原因の調査の容易化が期待できる。
<Summary of Embodiment 2>
According to the impact analysis apparatus according to the second embodiment as described above, among the plurality of execution traces 6 accumulated in the execution trace accumulation unit 2, the execution traces 6 whose times are outside the allowable range are extracted and displayed. do. According to such a configuration, the user can confirm the representative execution trace 7 and the execution trace 6 having some difference from the representative execution trace 7 . Therefore, it is expected that the investigation of the cause of the execution trace 6 being different from the representative execution trace 7 will be facilitated.

なお以上の説明において、実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7の平均時刻との差が一定値以上である実行トレース6を抽出し、表示部5は当該実行トレース6を表示したが、これに限ったものではない。例えば、実行トレース外れ値抽出部8は、最近傍系列の代表実行トレース7に対して複数のイベントの組み合わせの差が一定数以上である実行トレース6を抽出し、表示部5は当該実行トレース6を表示してもよい。このような構成によっても、異ならせた原因の調査の容易化が期待できる。 In the above explanation, the execution trace outlier extracting unit 8 extracts the execution trace 6 whose difference from the average time of the representative execution trace 7 of the nearest neighbor series is equal to or greater than a certain value, and the display unit 5 displays the execution trace 6 is displayed, but it is not limited to this. For example, the execution trace outlier extraction unit 8 extracts an execution trace 6 having a certain number or more of differences in combinations of multiple events with respect to the representative execution trace 7 of the nearest neighbor sequence, and the display unit 5 displays the execution trace 6 may be displayed. Such a configuration can also be expected to facilitate the investigation of the cause of the difference.

<実施の形態3>
実施の形態1及び実施の形態2では、実行トレース収集部1で収集される実行トレース6は、開始イベント及び終了イベントが同一であることを前提とした。もし、実行トレース収集部1が収集する実行トレース6の開始イベント及び終了イベントが同一でない場合には、実行トレース6同士を正しく比較できない可能性がある。このことに鑑みて、以下の説明で明らかとなるように、本発明の実施の形態3に係る影響分析装置では、複数の実行トレース6のイベントの開始及び終了を揃えることが可能となっている。
<Embodiment 3>
In the first and second embodiments, it is assumed that the execution traces 6 collected by the execution trace collection unit 1 have the same start event and end event. If the execution traces 6 collected by the execution trace collection unit 1 do not have the same start event and end event, there is a possibility that the execution traces 6 cannot be compared correctly. In view of this, as will become clear from the following description, in the impact analysis apparatus according to the third embodiment of the present invention, it is possible to align the start and end of events of a plurality of execution traces 6. .

図13は、本実施の形態3に係る影響分析装置の構成を示すブロック図である。以下、本実施の形態3に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。 FIG. 13 is a block diagram showing the configuration of an influence analysis device according to the third embodiment. Hereinafter, among the constituent elements according to the third embodiment, constituent elements that are the same as or similar to the above-described constituent elements are denoted by the same or similar reference numerals, and different constituent elements will be mainly described.

図13に示す影響分析装置は、実施の形態2に係る影響分析装置の構成(図7)に、制限部であるイベント制限部10が追加された構成と同様である。 The impact analysis device shown in FIG. 13 has the same configuration as the configuration of the impact analysis device according to the second embodiment (FIG. 7) with an event restriction unit 10 added as a restriction unit.

イベント制限部10の入力は実行トレース収集部1の出力と接続される。実行トレース蓄積部2の入力はイベント制限部10の出力と接続される。代表実行トレース算出部3の入力は、実行トレース蓄積部2の出力と接続される。代表実行トレース蓄積部4の入力は、代表実行トレース算出部3の出力と接続される。実行トレース外れ値抽出部8の入力は、実行トレース蓄積部2の出力、及び、代表実行トレース蓄積部4の出力と接続される。表示部5の入力は、代表実行トレース蓄積部4の出力、及び、実行トレース外れ値抽出部8の出力と接続される。 The input of event limiter 10 is connected to the output of execution trace collector 1 . The input of execution trace storage unit 2 is connected to the output of event limiter 10 . The input of representative execution trace calculator 3 is connected to the output of execution trace storage 2 . The input of the representative execution trace storage section 4 is connected to the output of the representative execution trace calculation section 3 . The input of the execution trace outlier extraction unit 8 is connected to the output of the execution trace accumulation unit 2 and the output of the representative execution trace accumulation unit 4 . The input of the display unit 5 is connected to the output of the representative execution trace accumulation unit 4 and the output of the execution trace outlier extraction unit 8 .

イベント制限部10は、実行トレース蓄積部2に蓄積される実行トレース6を、実行トレース収集部1で収集された実行トレース6のうち、予め指定された開始イベントと予め指定された終了イベントとを有する実行トレース6に制限する。実行トレース収集部1で収集された実行トレース6に、開始イベントと同じイベントから終了イベントと同じイベントまでのイベント系列が1つ以上存在する場合、イベント制限部10は、イベント系列を実行トレース6として、実行トレース蓄積部2に格納する。実行トレース収集部1で収集された実行トレース6に、開始イベントと同じイベントから終了イベントと同じイベントまでのイベント系列が1つも存在しない場合、イベント制限部10は実行トレース6を実行トレース蓄積部2に格納しない。 The event restriction unit 10 classifies the execution traces 6 accumulated in the execution trace accumulation unit 2 into pre-designated start events and pre-designated end events from the execution traces 6 collected by the execution trace collection unit 1. Execution trace 6 with If the execution trace 6 collected by the execution trace collection unit 1 contains one or more event sequences from the same event as the start event to the same event as the end event, the event restriction unit 10 defines the event sequence as the execution trace 6. , is stored in the execution trace accumulation unit 2 . If the execution trace 6 collected by the execution trace collection unit 1 does not contain even one event series from the same event as the start event to the same event as the end event, the event restriction unit 10 transfers the execution trace 6 to the execution trace accumulation unit 2. Do not store in

図14は、イベント制限部10で指定される開始イベント及び終了イベントの例を示す図である。図14では、開始イベントにfuncA関数の入口イベントが指定され、終了イベントにfuncA関数の出口イベントが指定されている。 14A and 14B are diagrams showing examples of start events and end events specified by the event restriction unit 10. FIG. In FIG. 14, the entry event of the funcA function is designated as the start event, and the exit event of the funcA function is designated as the end event.

図15は、図14の開始イベント及び出口イベントを用いたイベント制限の一例を説明するための図である。入力イベント系列、つまり実行トレース収集部1で収集された実行トレース6では、funcE関数がfuncA関数を呼び出した後、funcA関数がfuncB関数及びfuncC関数をこの順に呼び出している。図14のように、funcA関数の入口イベント及び出口イベントが開始イベント及び終了イベントに指定された場合、イベント制限部10は、funcA関数がfuncB関数及びfuncC関数をこの順に呼び出しているイベント系列のみを、出力イベント系列として出力する。これにより、図14及び図15の例では、funcE関数の入口イベント及び出口イベントを含まないイベント系列が、実行トレース6として実行トレース蓄積部2に蓄積される。 FIG. 15 is a diagram for explaining an example of event restriction using the start event and exit event of FIG. 14; In the input event sequence, that is, the execution trace 6 collected by the execution trace collection unit 1, the funcE function calls the funcA function, and then the funcA function calls the funcB function and the funcC function in this order. As shown in FIG. 14, when the entry event and the exit event of the funcA function are specified as the start event and the end event, the event limiter 10 limits only the event series in which the funcA function calls the funcB function and the funcC function in this order. , is output as an output event sequence. As a result, in the examples of FIGS. 14 and 15 , an event sequence that does not include the entry event and exit event of the funcE function is accumulated as the execution trace 6 in the execution trace accumulation unit 2 .

<動作>
図16は、イベント制限部10の動作を示すフローチャートである。以下、図16を用いてこの動作を説明する。
<Action>
FIG. 16 is a flow chart showing the operation of the event limiter 10. As shown in FIG. This operation will be described below with reference to FIG.

まずステップS41にて、イベント制限部10は出力フラグを無効に設定する。その後、処理がステップS42に進む。 First, in step S41, the event limiter 10 sets the output flag to invalid. After that, the process proceeds to step S42.

ステップS42にて、イベント制限部10は、実行トレース収集部1で収集された実行トレース6からイベントを取得する。その後、処理がステップS43に進む。 At step S<b>42 , the event restriction unit 10 acquires events from the execution traces 6 collected by the execution trace collection unit 1 . After that, the process proceeds to step S43.

ステップS43にて、イベント制限部10は、出力フラグが有効に設定されているか否かを判定する。出力フラグが有効に設定されていると判定された場合には処理がステップS47に進み、出力フラグが無効に設定されていると判定された場合には処理がステップS44に進む。 In step S43, the event restriction unit 10 determines whether or not the output flag is set to valid. If it is determined that the output flag is set valid, the process proceeds to step S47, and if it is determined that the output flag is set invalid, the process proceeds to step S44.

ステップS44にて、イベント制限部10は、ステップS42で取得されたイベントが開始イベントと一致するか否かを判定する。一致すると判定された場合には処理がステップS45に進み、一致しないと判定された場合には処理がステップS50に進む。 At step S44, the event restriction unit 10 determines whether or not the event acquired at step S42 matches the start event. If it is determined that they match, the process proceeds to step S45, and if it is determined that they do not match, the process proceeds to step S50.

ステップS45にて、イベント制限部10は、出力フラグを有効に設定する。その後、処理がステップS46に進む。 In step S45, the event limiter 10 sets the output flag to valid. After that, the process proceeds to step S46.

ステップS46にて、イベント制限部10は、新規の実行トレース6を作成する。その後、処理がステップS47に進む。 At step S46, the event limiter 10 creates a new execution trace 6. FIG. After that, the process proceeds to step S47.

ステップS47にて、イベント制限部10は、作成している実行トレース6に、ステップS42で取得されたイベントを含める。その後、処理がステップS48に進む。 In step S47, the event restriction unit 10 includes the event acquired in step S42 in the execution trace 6 being created. After that, the process proceeds to step S48.

ステップS48にて、イベント制限部10は、ステップS42で取得されたイベントが終了イベントと一致するか否かを判定する。一致すると判定された場合には処理がステップS49に進み、一致しないと判定された場合には処理がステップS50に進む。 At step S48, the event restriction unit 10 determines whether or not the event obtained at step S42 matches the end event. If it is determined that they match, the process proceeds to step S49, and if it is determined that they do not match, the process proceeds to step S50.

ステップS49にて、イベント制限部10は、出力フラグを無効に設定する。その後、処理がステップS50に進む。 In step S49, the event limiter 10 sets the output flag to invalid. After that, the process proceeds to step S50.

ステップS50にて、イベント制限部10は、実行トレース収集部1で収集された実行トレース6に未処理のイベントが存在するか否かを判定する。存在すると判定された場合には処理がステップS42に戻り、当該ステップS42にて、イベント制限部10は、実行トレース収集部1で収集された実行トレース6から未処理のイベントを取得する。存在しないと判定された場合には図16の動作が終了する。 In step S50, the event restriction unit 10 determines whether or not the execution trace 6 collected by the execution trace collection unit 1 has an unprocessed event. If it is determined that the event exists, the process returns to step S42, and in step S42, the event limiter 10 acquires an unprocessed event from the execution trace 6 collected by the execution trace collector 1. FIG. If it is determined that it does not exist, the operation of FIG. 16 ends.

<実施の形態3のまとめ>
以上のような本実施の形態3に係る影響分析装置によれば、実行トレース蓄積部2に蓄積される実行トレース6を、予め指定された開始イベントと予め指定された終了イベントとを有する実行トレース6に制限する。このような構成によれば、イベント系列が所望のイベント系列と異なる、実行トレース6ひいては代表実行トレース7の処理を抑制することができる。このため、影響分析装置の処理効率化、及びユーザの作業効率化を高めることができる。
<Summary of Embodiment 3>
According to the impact analysis apparatus according to the third embodiment as described above, the execution trace 6 accumulated in the execution trace accumulation unit 2 is an execution trace having a pre-specified start event and a pre-specified end event. Limit to 6. According to such a configuration, processing of execution traces 6 and representative execution traces 7 whose event sequence differs from the desired event sequence can be suppressed. Therefore, it is possible to improve the processing efficiency of the influence analysis device and the work efficiency of the user.

<実施の形態4>
実施の形態3では、関数遷移のイベント系列でのみ、実行トレース6ひいては代表実行トレース7を分類しており、状態などの変数の違いによって、実行トレース6ひいては代表実行トレース7を分類していない。実施の形態3において、実行トレース収集部1で収集される実行トレース6が変数を含むと、変数の離散値に対して、イベントの種類が細分化される。これにより、ある2つのイベントの内容が実質的に同じであっても、それらイベント内の変数が異なることによって、それらイベントは互いに異なるものとして処理されることがある。その結果、実行トレース6ひいては代表実行トレース7の数が不要に増加する可能性がある。このことに鑑みて、以下の説明で明らかとなるように、本発明の実施の形態4に係る影響分析装置では、変数に関して実行トレース6ひいては代表実行トレース7の処理を抑制することが可能となっている。
<Embodiment 4>
In the third embodiment, the execution trace 6 and the representative execution trace 7 are classified only by the event sequence of the function transition, and the execution trace 6 and the representative execution trace 7 are not classified by the difference of variables such as states. In the third embodiment, when the execution trace 6 collected by the execution trace collection unit 1 contains variables, the types of events are subdivided with respect to the discrete values of the variables. As a result, even if the contents of two events are substantially the same, the events may be treated differently due to the variables in the events being different. As a result, the number of execution traces 6 and thus the number of representative execution traces 7 may increase unnecessarily. In view of this, as will become clear from the following description, in the influence analysis apparatus according to the fourth embodiment of the present invention, it is possible to suppress the processing of the execution trace 6 and the representative execution trace 7 with respect to variables. ing.

図17は、本実施の形態4に係る影響分析装置の構成を示すブロック図である。以下、本実施の形態4に係る構成要素のうち、上述の構成要素と同じまたは類似する構成要素については同じまたは類似する参照符号を付し、異なる構成要素について主に説明する。 FIG. 17 is a block diagram showing the configuration of an influence analysis device according to the fourth embodiment. Hereinafter, among the constituent elements according to the fourth embodiment, constituent elements that are the same as or similar to the above-described constituent elements are denoted by the same or similar reference numerals, and different constituent elements will be mainly described.

図17に示す影響分析装置は、実施の形態3に係る影響分析装置の構成(図13)に、変換部であるイベント変換部12が追加された構成と同様である。 The impact analysis device shown in FIG. 17 has the same configuration as the configuration of the impact analysis device according to Embodiment 3 (FIG. 13) with an event conversion unit 12 added as a conversion unit.

イベント変換部12の入力は実行トレース収集部1の出力と接続される。イベント制限部10の入力はイベント変換部12の出力と接続される。実行トレース蓄積部2の入力はイベント制限部10の出力と接続される。代表実行トレース算出部3の入力は、実行トレース蓄積部2の出力と接続される。代表実行トレース蓄積部4の入力は、代表実行トレース算出部3の出力と接続される。実行トレース外れ値抽出部8の入力は、実行トレース蓄積部2の出力、及び、代表実行トレース蓄積部4の出力と接続される。表示部5の入力は、代表実行トレース蓄積部4の出力、及び、実行トレース外れ値抽出部8の出力と接続される。 The input of the event converter 12 is connected to the output of the execution trace collector 1 . The input of the event limiter 10 is connected to the output of the event converter 12 . The input of execution trace storage unit 2 is connected to the output of event limiter 10 . The input of representative execution trace calculator 3 is connected to the output of execution trace storage 2 . The input of the representative execution trace storage section 4 is connected to the output of the representative execution trace calculation section 3 . The input of the execution trace outlier extraction unit 8 is connected to the output of the execution trace accumulation unit 2 and the output of the representative execution trace accumulation unit 4 . The input of the display unit 5 is connected to the output of the representative execution trace accumulation unit 4 and the output of the execution trace outlier extraction unit 8 .

本実施の形態4では、実行トレース6は変数を含んでいる。そして、実行トレース収集部1で収集された実行トレース6の変数が、予め指定された変数を含む場合、イベント変換部12は、予め指定された変数が取り得る離散値の種類を減らす写像を用いて、当該実行トレース6の変数を変換する。一方、実行トレース収集部1で収集された実行トレース6の変数が、予め指定された変数を含まない場合、イベント変換部12は、当該実行トレース6をそのまま出力する。 In the fourth embodiment, the execution trace 6 contains variables. When the variables of the execution trace 6 collected by the execution trace collection unit 1 include pre-specified variables, the event conversion unit 12 uses a mapping that reduces the types of discrete values that the pre-specified variables can take. , the variables of the execution trace 6 are converted. On the other hand, when the variables of the execution trace 6 collected by the execution trace collection unit 1 do not include the variables specified in advance, the event conversion unit 12 outputs the execution trace 6 as it is.

図18は、イベント変換部12で用いる写像の規則の例を示す図である。図18では、変数xを0,1,2のいずれかに写像する規則として、それぞれx<0、0≦x<15、15≦xの変換条件が規定されている。また、変数yを0,1のいずれかに写像する規則として、それぞれy<5、5≦yの変換条件が規定されている。 FIG. 18 is a diagram showing an example of mapping rules used by the event conversion unit 12. As shown in FIG. In FIG. 18, conversion conditions of x<0, 0≤x<15, and 15≤x are defined as rules for mapping the variable x to one of 0, 1, and 2, respectively. As a rule for mapping the variable y to either 0 or 1, conversion conditions of y<5 and 5≦y are defined.

図19は、イベント変換部12の出力例を示す図である。図19には、入力イベント系列として、funcA関数呼び出し後にx=7となり、funcB関数呼び出し後にy=10となり、funcC関数呼び出し後にy=-1となり、funcC関数完了後にx=30となるイベント系列が示されている。イベント変換部12が、図18の規則を用いて図19の入力イベント系列を変換すると、図19の出力イベント系列が得られる。すなわち、funcA関数呼び出し後にx=1となり、funcB関数呼び出し後にy=1となり、funcC関数呼び出し後にy=0となり、funcC関数完了後にx=2となるイベント系列が得られる。 FIG. 19 is a diagram showing an output example of the event conversion unit 12. As shown in FIG. FIG. 19 shows, as an input event sequence, an event sequence in which x=7 after calling funcA function, y=10 after calling funcB function, y=-1 after calling funcC function, and x=30 after completing funcC function. It is shown. When the event conversion unit 12 converts the input event series shown in FIG. 19 using the rules shown in FIG. 18, the output event series shown in FIG. 19 is obtained. That is, an event sequence is obtained in which x=1 after the funcA function is called, y=1 after the funcB function is called, y=0 after the funcC function is called, and x=2 after the funcC function is completed.

<動作>
図20は、イベント変換部12の動作を示すフローチャートである。以下、図20を用いてこの動作を説明する。
<Action>
FIG. 20 is a flow chart showing the operation of the event conversion section 12. As shown in FIG. This operation will be described below with reference to FIG.

まずステップS61にて、イベント変換部12は、実行トレース収集部1で収集された実行トレース6からイベントを取得する。その後、処理がステップS62に進む。 First, in step S<b>61 , the event conversion unit 12 acquires an event from the execution trace 6 collected by the execution trace collection unit 1 . After that, the process proceeds to step S62.

ステップS62にて、イベント変換部12は、ステップS61で取得されたイベント内の変数が、図18のような写像の規則で指定された変数と一致するか否かを判定する。一致すると判定された場合には処理がステップS63に進み、一致しないと判定された場合には処理がステップS64に進む。 In step S62, the event conversion unit 12 determines whether the variables in the event acquired in step S61 match the variables specified by the mapping rule as shown in FIG. If it is determined that they match, the process proceeds to step S63, and if it is determined that they do not match, the process proceeds to step S64.

ステップS63にて、イベント変換部12は、ステップS61で取得されたイベント内の変数の値を、写像の規則に従って変換し、変換後の値に書き換えて出力する。その後、処理がステップS65に進む。 In step S63, the event conversion unit 12 converts the value of the variable in the event acquired in step S61 according to the mapping rule, rewrites the converted value to the converted value, and outputs the converted value. After that, the process proceeds to step S65.

ステップS64にて、イベント変換部12は、ステップS61で取得されたイベントをそのまま出力する。その後、処理がステップS65に進む。 In step S64, the event conversion unit 12 outputs the event obtained in step S61 as it is. After that, the process proceeds to step S65.

ステップS65にて、イベント変換部12は、実行トレース収集部1で収集された実行トレース6に未処理のイベントが存在するか否かを判定する。存在すると判定された場合には処理がステップS61に戻り、当該ステップS61にて、イベント変換部12は、実行トレース収集部1で収集された実行トレース6から未処理のイベントを取得する。存在しないと判定された場合には図20の動作が終了する。 In step S65, the event conversion unit 12 determines whether or not the execution trace 6 collected by the execution trace collection unit 1 has an unprocessed event. If it is determined that the event exists, the process returns to step S61. If it is determined not to exist, the operation of FIG. 20 ends.

<実施の形態4のまとめ>
以上のような本実施の形態4に係る影響分析装置によれば、変数の種類を減らす写像を用いて、実行トレース収集部1で収集された実行トレース6の変数を変換する。このような構成によれば、関数遷移だけでなく、変数の変換条件を考慮した性能影響の比較及び原因箇所の可視化ができる。この際、変数の種類を減らすことによって実行トレース6ひいては代表実行トレース7の数を抑制することができるため、影響分析装置の処理効率化、及びユーザの作業効率化を高めることができる。
<Summary of Embodiment 4>
According to the influence analysis apparatus according to the fourth embodiment as described above, the variables of the execution trace 6 collected by the execution trace collection unit 1 are converted using a mapping that reduces the types of variables. According to such a configuration, it is possible to compare performance influences and visualize cause locations in consideration of not only function transitions but also variable conversion conditions. At this time, since the number of execution traces 6 and by extension the number of representative execution traces 7 can be suppressed by reducing the types of variables, it is possible to improve the processing efficiency of the influence analysis device and the work efficiency of the user.

<その他について>
実行トレース収集部1、代表実行トレース算出部3、実行トレース外れ値抽出部8、イベント制限部10、及び、イベント変換部12は、例えば影響分析装置に対応するコンピュータの図示しないCPU(Central Processing Unit)などが、影響分析装置の図示しない半導体メモリなどの記憶装置に記憶されたプログラムを実行することにより、当該CPUの機能として実現される。
<Others>
The execution trace collection unit 1, the representative execution trace calculation unit 3, the execution trace outlier extraction unit 8, the event restriction unit 10, and the event conversion unit 12 are, for example, a CPU (Central Processing Unit, not shown) of a computer corresponding to the impact analysis device. ) are implemented as functions of the CPU by executing a program stored in a storage device such as a semiconductor memory (not shown) of the influence analysis device.

なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略したりすることが可能である。 In addition, within the scope of the invention, each embodiment can be freely combined, and each embodiment can be appropriately modified or omitted.

本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、本発明がそれに限定されるものではない。例示されていない無数の変形例が、本発明の範囲から外れることなく想定され得るものと解される。 While the invention has been described in detail, the foregoing description is, in all its aspects, illustrative and not intended to limit the invention. It is understood that numerous variations not illustrated can be envisioned without departing from the scope of the invention.

1 実行トレース収集部、2 実行トレース蓄積部、3 代表実行トレース算出部、4 代表実行トレース蓄積部、5 表示部、6 実行トレース、7 代表実行トレース、8 実行トレース外れ値抽出部、10 イベント制限部、12 イベント変換部。 1 execution trace collection unit 2 execution trace accumulation unit 3 representative execution trace calculation unit 4 representative execution trace accumulation unit 5 display unit 6 execution trace 7 representative execution trace 8 execution trace outlier extraction unit 10 event restriction part, 12 event conversion part;

Claims (10)

ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する実行トレース収集部と、
前記実行トレース収集部で収集された前記複数の実行トレースを蓄積する実行トレース蓄積部と、
前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する代表実行トレース算出部と、
前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積する代表実行トレース蓄積部と、
前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力する出力部と
前記代表実行トレース蓄積部に蓄積された前記代表実行トレースに含まれる前記平均を基準とする許容範囲を規定し、前記実行トレース蓄積部に蓄積された前記複数の実行トレースのうち、前記時刻が前記許容範囲外である前記実行トレースを抽出する抽出部と
を備え
前記出力部は、前記抽出部で抽出された前記実行トレースを、抽出に用いた前記代表実行トレースに重畳して表示する、影響分析装置。
an execution trace collection unit that collects, under a plurality of different conditions, a plurality of execution traces including a plurality of events including entry and exit events of a function in software and the times of the plurality of events;
an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit;
representative execution trace calculation for calculating a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events based on the plurality of execution traces accumulated in the execution trace accumulation unit; Department and
a representative execution trace accumulation unit for accumulating the representative execution trace calculated by the representative execution trace calculation unit;
an output unit that outputs the representative execution trace accumulated in the representative execution trace accumulation unit ;
defining an allowable range based on the average contained in the representative execution trace accumulated in the representative execution trace accumulation unit, and determining, among the plurality of execution traces accumulated in the execution trace accumulation unit, an extraction unit that extracts the execution trace that is out of an acceptable range;
with
The impact analysis device, wherein the output unit displays the execution trace extracted by the extraction unit superimposed on the representative execution trace used for extraction.
ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する実行トレース収集部と、
前記実行トレース収集部で収集された前記複数の実行トレースを蓄積する実行トレース蓄積部と、
前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する代表実行トレース算出部と、
前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積する代表実行トレース蓄積部と、
前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力する出力部と
前記実行トレース蓄積部に蓄積される前記実行トレースを、前記実行トレース収集部で収集された前記実行トレースのうち、予め指定された開始イベントと予め指定された終了イベントとを有する前記実行トレースに制限する制限部と
を備える、影響分析装置。
an execution trace collection unit that collects, under a plurality of different conditions, a plurality of execution traces including a plurality of events including entry and exit events of a function in software and the times of the plurality of events;
an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit;
representative execution trace calculation for calculating a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events based on the plurality of execution traces accumulated in the execution trace accumulation unit; Department and
a representative execution trace accumulation unit for accumulating the representative execution trace calculated by the representative execution trace calculation unit;
an output unit that outputs the representative execution trace accumulated in the representative execution trace accumulation unit ;
limiting the execution traces accumulated in the execution trace accumulation unit to execution traces having a pre-designated start event and a pre-designated end event among the execution traces collected by the execution trace collection unit and
an impact analysis device.
ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻と、変数とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する実行トレース収集部と、
前記実行トレース収集部で収集された前記複数の実行トレースを蓄積する実行トレース蓄積部と、
前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する代表実行トレース算出部と、
前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積する代表実行トレース蓄積部と、
前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力する出力部と
変数の種類を減らす写像を用いて、前記実行トレース収集部で収集された前記実行トレースの前記変数を変換する変換部と
を備える、影響分析装置。
an execution trace collection unit that collects, under a plurality of different conditions, a plurality of execution traces including a plurality of events including entry and exit events of a function in software, times of the plurality of events , and variables ;
an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit;
representative execution trace calculation for calculating a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events based on the plurality of execution traces accumulated in the execution trace accumulation unit; Department and
a representative execution trace accumulation unit for accumulating the representative execution trace calculated by the representative execution trace calculation unit;
an output unit that outputs the representative execution trace accumulated in the representative execution trace accumulation unit ;
a conversion unit that converts the variables of the execution trace collected by the execution trace collection unit using a mapping that reduces the types of variables;
an impact analysis device.
請求項に記載の影響分析装置であって、
前記代表実行トレース蓄積部は、
互いの前記複数のイベントの組み合わせが異なる複数の前記代表実行トレースを蓄積し、
前記抽出部は、
前記代表実行トレース蓄積部に蓄積された前記複数の代表実行トレースのうち、前記実行トレース蓄積部に蓄積された前記複数の実行トレースと前記複数のイベントの組み合わせの差が最も小さい前記代表実行トレースを抽出に用いる、影響分析装置。
The impact analysis device according to claim 1 ,
The representative execution trace accumulation unit
accumulating a plurality of representative execution traces having different combinations of the plurality of events;
The extractor is
Among the plurality of representative execution traces accumulated in the representative execution trace accumulation unit, the representative execution trace having the smallest difference between the plurality of execution traces accumulated in the execution trace accumulation unit and the combination of the plurality of events is selected. Influence analysis equipment used for extraction.
実行トレース収集部が、ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集し、
実行トレース蓄積部が、前記実行トレース収集部で収集された前記複数の実行トレースを蓄積し、
代表実行トレース算出部が、前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出し、
代表実行トレース蓄積部が、前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積し、
出力部が、前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力し、
抽出部が、前記代表実行トレース蓄積部に蓄積された前記代表実行トレースに含まれる前記平均を基準とする許容範囲を規定し、前記実行トレース蓄積部に蓄積された前記複数の実行トレースのうち、前記時刻が前記許容範囲外である前記実行トレースを抽出し、
前記出力部は、前記抽出部で抽出された前記実行トレースを、抽出に用いた前記代表実行トレースに重畳して表示する、影響分析方法。
an execution trace collection unit collecting a plurality of events including function entry and exit events in software and a plurality of execution traces including times of the plurality of events under a plurality of different conditions;
an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit;
A representative execution trace calculation unit, based on the plurality of execution traces accumulated in the execution trace accumulation unit, calculates a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events. to calculate
a representative execution trace accumulating unit accumulating the representative execution trace calculated by the representative execution trace calculating unit;
an output unit outputting the representative execution trace accumulated in the representative execution trace accumulation unit;
an extraction unit defining an allowable range based on the average included in the representative execution trace accumulated in the representative execution trace accumulation unit, and among the plurality of execution traces accumulated in the execution trace accumulation unit, extracting the execution trace whose time is outside the allowable range;
The impact analysis method , wherein the output unit displays the execution trace extracted by the extraction unit so as to be superimposed on the representative execution trace used for extraction.
実行トレース収集部が、ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集し、
実行トレース蓄積部が、前記実行トレース収集部で収集された前記複数の実行トレースを蓄積し、
代表実行トレース算出部が、前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出し、
代表実行トレース蓄積部が、前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積し、
出力部が、前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力し、
制限部が、前記実行トレース蓄積部に蓄積される前記実行トレースを、前記実行トレース収集部で収集された前記実行トレースのうち、予め指定された開始イベントと予め指定された終了イベントとを有する前記実行トレースに制限する、影響分析方法。
an execution trace collection unit collecting a plurality of events including function entry and exit events in software and a plurality of execution traces including times of the plurality of events under a plurality of different conditions;
an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit;
A representative execution trace calculation unit, based on the plurality of execution traces accumulated in the execution trace accumulation unit, calculates a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events. to calculate
a representative execution trace accumulating unit accumulating the representative execution trace calculated by the representative execution trace calculating unit;
an output unit outputting the representative execution trace accumulated in the representative execution trace accumulation unit;
the execution trace accumulated in the execution trace accumulation unit having a pre-designated start event and a pre-designated end event among the execution traces collected by the execution trace collection unit; An impact analysis method that limits execution traces .
実行トレース収集部が、ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻と、変数とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集し、
実行トレース蓄積部が、前記実行トレース収集部で収集された前記複数の実行トレースを蓄積し、
代表実行トレース算出部が、前記実行トレース蓄積部に蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出し、
代表実行トレース蓄積部が、前記代表実行トレース算出部で算出された前記代表実行トレースを蓄積し、
出力部が、前記代表実行トレース蓄積部に蓄積された前記代表実行トレースを出力し、
変換部が、変数の種類を減らす写像を用いて、前記実行トレース収集部で収集された前記実行トレースの前記変数を変換する、影響分析方法。
an execution trace collection unit collects, under a plurality of different conditions, a plurality of events including entry and exit events of functions in software, a plurality of execution traces including times of the plurality of events , and variables ;
an execution trace accumulation unit for accumulating the plurality of execution traces collected by the execution trace collection unit;
A representative execution trace calculation unit, based on the plurality of execution traces accumulated in the execution trace accumulation unit, calculates a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events. to calculate
a representative execution trace accumulating unit accumulating the representative execution trace calculated by the representative execution trace calculating unit;
an output unit outputting the representative execution trace accumulated in the representative execution trace accumulation unit;
The impact analysis method , wherein a transformation unit transforms the variables of the execution trace collected by the execution trace collection unit using a variable type reduction mapping.
ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する手段と、
収集された前記複数の実行トレースを蓄積する手段と、
蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する手段と、
算出された前記代表実行トレースを蓄積する手段と、
蓄積された前記代表実行トレースを出力する手段と、
蓄積された前記代表実行トレースに含まれる前記平均を基準とする許容範囲を規定し、蓄積された前記複数の実行トレースのうち、前記時刻が前記許容範囲外である前記実行トレースを抽出する手段と、をコンピュータに実行させ
前記代表実行トレースを出力する手段が、抽出された前記実行トレースを、抽出に用いた前記代表実行トレースに重畳して表示する、影響分析プログラム。
means for collecting a plurality of execution traces including a plurality of events including entry and exit events of a function in software and the times of the plurality of events under a plurality of different conditions;
means for accumulating the plurality of collected execution traces;
means for calculating, based on the accumulated execution traces, a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events;
means for accumulating the calculated representative execution trace;
means for outputting the accumulated representative execution trace;
means for prescribing an allowable range based on the average included in the accumulated representative execution traces, and extracting the execution trace whose time is outside the allowable range from among the plurality of accumulated execution traces; , on the computer , and
The impact analysis program , wherein the means for outputting the representative execution trace displays the extracted execution trace superimposed on the representative execution trace used for extraction.
ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する手段と、
収集された前記複数の実行トレースを蓄積する手段と、
蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する手段と、
算出された前記代表実行トレースを蓄積する手段と、
蓄積された前記代表実行トレースを出力する手段と、
蓄積される前記実行トレースを、収集された前記実行トレースのうち、予め指定された開始イベントと予め指定された終了イベントとを有する前記実行トレースに制限する手段と、をコンピュータに実行させる、影響分析プログラム。
means for collecting a plurality of execution traces including a plurality of events including entry and exit events of a function in software and the times of the plurality of events under a plurality of different conditions;
means for accumulating the plurality of collected execution traces;
means for calculating, based on the accumulated execution traces, a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events;
means for accumulating the calculated representative execution trace;
means for outputting the accumulated representative execution trace;
means for limiting the accumulated execution traces to those execution traces having a pre-specified start event and a pre-specified end event among the collected execution traces. program.
ソフトウェアにおける関数の入口イベント及び出口イベントを含む複数のイベントと、前記複数のイベントの時刻と、変数とを含む複数の実行トレースを、異なる複数の条件下でそれぞれ収集する手段と、
収集された前記複数の実行トレースを蓄積する手段と、
蓄積された前記複数の実行トレースに基づいて、前記複数のイベントと、前記複数のイベントのそれぞれの前記時刻の平均及びばらつきとを含む代表実行トレースを算出する手段と、
算出された前記代表実行トレースを蓄積する手段と、
蓄積された前記代表実行トレースを出力する手段と、
変数の種類を減らす写像を用いて、収集された前記実行トレースの前記変数を変換する手段と、をコンピュータに実行させる、影響分析プログラム。
means for collecting a plurality of execution traces including a plurality of events including function entry and exit events in software, the times of the plurality of events , and variables under a plurality of different conditions;
means for accumulating the plurality of collected execution traces;
means for calculating, based on the accumulated execution traces, a representative execution trace including the plurality of events and the average and variation of the times of each of the plurality of events;
means for accumulating the calculated representative execution trace;
means for outputting the accumulated representative execution trace;
and means for transforming said variables of said collected execution traces using a variable type reducing mapping .
JP2021550834A 2019-10-02 2019-10-02 Impact analysis device, impact analysis method, and impact analysis program Active JP7258171B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/038885 WO2021064887A1 (en) 2019-10-02 2019-10-02 Impact analysis device, impact analysis method, and impact analysis program

Publications (2)

Publication Number Publication Date
JPWO2021064887A1 JPWO2021064887A1 (en) 2021-12-23
JP7258171B2 true JP7258171B2 (en) 2023-04-14

Family

ID=75337077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021550834A Active JP7258171B2 (en) 2019-10-02 2019-10-02 Impact analysis device, impact analysis method, and impact analysis program

Country Status (2)

Country Link
JP (1) JP7258171B2 (en)
WO (1) WO2021064887A1 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258552A (en) 2004-03-09 2005-09-22 Nec Corp Event analysis apparatus
JP2015060275A (en) 2013-09-17 2015-03-30 三菱電機株式会社 Log data collection device, management method for log data, and program
JP2019169087A (en) 2018-03-26 2019-10-03 日本電気株式会社 Information aggregation device, information aggregation method, and program

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005258552A (en) 2004-03-09 2005-09-22 Nec Corp Event analysis apparatus
JP2015060275A (en) 2013-09-17 2015-03-30 三菱電機株式会社 Log data collection device, management method for log data, and program
JP2019169087A (en) 2018-03-26 2019-10-03 日本電気株式会社 Information aggregation device, information aggregation method, and program

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DT SOFTWARE TEST VISION 動的テストツールから業務改善を考える,日本,ハートランド・データ株式会社,2018年07月05日,[CONCEPT],[SCENE_01]-[SCENE_03]

Also Published As

Publication number Publication date
JPWO2021064887A1 (en) 2021-12-23
WO2021064887A1 (en) 2021-04-08

Similar Documents

Publication Publication Date Title
US9367426B2 (en) Call graph simplification/comparison and automatic initial suspects finding of performance degradations
US5903730A (en) Method of visualizing results of performance monitoring and analysis in a parallel computing system
US8464221B2 (en) Visualization tool for system tracing infrastructure events
Krogmann et al. Using genetic search for reverse engineering of parametric behavior models for performance prediction
Gibilisco et al. Stage aware performance modeling of dag based in memory analytic platforms
EP3848833A1 (en) Analysis function imparting device, analysis function imparting method, and analysis function imparting program
Zhao et al. On-the-fly principled speculation for FSM parallelization
CN113268403A (en) Time series analysis and prediction method, device, equipment and storage medium
Meira Jr et al. Waiting time analysis and performance visualization in Carnival
JP6708678B2 (en) Numerical control device
JP7258171B2 (en) Impact analysis device, impact analysis method, and impact analysis program
JP5687122B2 (en) Software evaluation device, software evaluation method, and system evaluation device
WO2019163915A1 (en) Project analysis device and program
Aguilar et al. MPI trace compression using event flow graphs
KR102329368B1 (en) Information processing apparatus, information processing method, and information processing program stored in a recording medium
US8997064B2 (en) Symbolic testing of software using concrete software execution
US7281241B2 (en) System and method for visual debugging of constraint systems
JP2004264914A (en) Apparatus for measuring and analyzing system performance
GB2539961A (en) Code hotspot encapsulation
US7523030B2 (en) Simulation system and computer program
KR102167476B1 (en) Software refactoring method and apparatus using resource monitoring
US9286353B2 (en) Method for generating processing specifications for a stream of data items
JP7652253B2 (en) Determination device, determination method, and determination program
Ananthakrishnan et al. Scalajack: Customized scalable tracing with in-situ data analysis
EP2137622B1 (en) Method and data processing system for computer-assisted performance analysis of a data processing system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20221101

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221125

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230404

R150 Certificate of patent or registration of utility model

Ref document number: 7258171

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150