JP2005025786A - Method and program for analyzing log - Google Patents

Method and program for analyzing log Download PDF

Info

Publication number
JP2005025786A
JP2005025786A JP2004291683A JP2004291683A JP2005025786A JP 2005025786 A JP2005025786 A JP 2005025786A JP 2004291683 A JP2004291683 A JP 2004291683A JP 2004291683 A JP2004291683 A JP 2004291683A JP 2005025786 A JP2005025786 A JP 2005025786A
Authority
JP
Japan
Prior art keywords
log
event
occurrence
conversion
logs
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004291683A
Other languages
Japanese (ja)
Inventor
Katsuhiko Ueki
克彦 植木
Wataru Okamoto
渉 岡本
Fumitaka Tamura
文隆 田村
Masayuki Hirayama
雅之 平山
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004291683A priority Critical patent/JP2005025786A/en
Publication of JP2005025786A publication Critical patent/JP2005025786A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a method and a program for analyzing logs capable of providing useful information for debugging in consideration of differences in items other than object program description and execution sequence. <P>SOLUTION: By repeatedly executing the same program 1a by a plurality of times (i=1 to 3), a plurality of logs 1 to 3 on which occurred events 2a, 2b are respectively recorded according to a chronological order at every number of execution. Where the descriptions (f, g) of the program on the events recorded in all chronological orders are respectively common between the plurality of the logs 1 to 3, the occurrence probability of the respective events is calculated for each of the chronological orders 1 to 3 based on the program description and data (argument) used in executing the description. The information about the events featuring the respective logs is output based on the occurrence probability. <P>COPYRIGHT: (C)2005,JPO&NCIPI

Description

本発明は、プログラムの実行により得られたログを解析する方法、プログラムに関する。   The present invention relates to a method and a program for analyzing a log obtained by executing a program.

近年、ソフトウェア開発の分野において、対象プログラムの動作確認やいわゆるデバッグ作業のために、対象プログラムの実行動作により得られたログを利用するケースが増加している。具体的には、記録したイベントの情報からなるログを専用のビューアで表示してデバッグ作業の一助とするようなログベースのデバッグ手法が普及してきている。   In recent years, in the field of software development, there are an increasing number of cases where logs obtained by execution operations of a target program are used for checking the operation of the target program and so-called debugging work. Specifically, a log-based debugging technique has become widespread, in which a log made up of recorded event information is displayed with a dedicated viewer to assist debugging work.

収集するログの例としては、オペレーティングシステム(OS)を通じて一連のシステムコールの発行履歴を記録したものであったり、ハードウェア(あるいはエミュレータ)により一連のメモリアクセスの履歴を記録したものなどが挙げられる。これらにおいて、システムコールやメモリアクセスがイベントに相当する。   Examples of collected logs include a record of a series of system call issuance history through an operating system (OS), a record of a series of memory access histories by hardware (or an emulator), and the like. . In these, system calls and memory accesses correspond to events.

対象プログラムの実行動作により得られたログを用いてデバッグを行う場合、従来では次の2つの手法が知られている。   In the case where debugging is performed using a log obtained by the execution operation of the target program, the following two methods are conventionally known.

(1)1つの異常動作ログを丹念に調査してバグの原因を探す。   (1) Carefully investigate one abnormal operation log to find the cause of the bug.

(2)正常動作した場合のログと異常動作した場合のログとを比較して違いを探し出し、これを集中的に調査する。   (2) Compare the log of the normal operation and the log of the abnormal operation to find the difference, and investigate this intensively.

上記(1)については、ログ中においてどの箇所を重点的に調査すれば良いかなどの指針が無いので、ログの量が増大すると、これに応じてデバッグ作業にも手間がかかり、また熟練を要するという問題点がある。   With regard to (1), there is no guideline such as which part of the log to focus on, so if the amount of log increases, it will take time and effort to debug. There is a problem that it takes.

上記(2)については、正常動作と異常動作の単純な違いだけに着目すると、その着目すべき箇所が多くなり過ぎて効率的なデバッグに繋がらないという問題点がある。   Regarding the above (2), if only the simple difference between the normal operation and the abnormal operation is focused, there is a problem that there are too many portions to be focused on, which does not lead to efficient debugging.

そこで、対象プログラムの実行時において発生した一連のイベントを記録した複数のログから特徴的なログを抽出し、関連するプログラムのコードを優先的に調査することにより、デバッグ効率の向上を実現する方式が提案されている(特願2001−060699号、岡本渉、植木克彦他、“探針型デバッグ手法の提案”、“信学技報、Vol.100,No186,pp1-8(2000-7)岡本渉他、”探針型デバッグ手法の実現(1)−概要と評価”62回情報処理全国大会2Z−2(2001-03)、田村文隆他、“探針型デバッグ手法の実現(2)−アルゴリズム”、62回情報処理全国大会2Z−2(2001-03)。   Therefore, a method that improves debugging efficiency by extracting characteristic logs from multiple logs that record a series of events that occurred during the execution of the target program and preferentially investigating the relevant program code. (Japanese Patent Application No. 2001-060699, Wataru Okamoto, Katsuhiko Ueki et al., “Proposal of a probe type debugging method”, “Science Technical Report, Vol.100, No186, pp1-8 (2000-7) Okamoto Wataru et al., “Realization of a probe type debugging technique (1)-Outline and evaluation” 62nd Information Processing National Conference 2Z-2 (2001-03), Fumitaka Tamura et al., “Realization of a probe type debugging technique (2) -Algorithm ", 62nd National Information Processing Conference 2Z-2 (2001-03).

この提案では、対象プログラムの実行等において発生した一連のイベントの発生確率を計算して、動作ログの特徴を抽出している。そして、デバッグ作業者が、この動作ログの特徴となるイベントに関する情報を精密に調べることにより、プログラムのデバッグ作業を効率的なものとしている。   In this proposal, the feature of the action log is extracted by calculating the probability of occurrence of a series of events that occurred during execution of the target program. Then, the debugging operator can efficiently debug the program by examining the information about the event that is a feature of the operation log.

この際、従来技術では、イベントについては、デバッグ環境全体で予め定義されており、識別可能な事象としている。そして、実行されるプログラム記述の違い、実行順序の違いを考慮して、動作ログの特徴を抽出している。    At this time, in the conventional technique, the event is defined in advance in the entire debug environment and is an identifiable event. Then, the features of the action log are extracted in consideration of the difference in the program description to be executed and the difference in the execution order.

一方、対象プログラムの実行時において、種々のデータのやりとりも行われており、ログとしてデータを記録することも可能である。このため、プログラム記述の違い、実行順序の違いに加えて、データの違いも考慮して動作ログの特徴を抽出することができれば、デバッグ作業に都合が良い。即ち、プログラム記述や実行順序の違いを考慮しただけでは、ログの特徴が抽出できない場合でも、データの違いを考慮すれば、ログの特徴が抽出できる可能性がある。   On the other hand, when the target program is executed, various data are exchanged, and data can be recorded as a log. Therefore, if it is possible to extract the characteristics of the action log in consideration of the difference in data in addition to the difference in program description and execution order, it is convenient for debugging work. That is, even if log features cannot be extracted only by considering the difference in program description and execution order, there is a possibility that log features can be extracted if the difference in data is taken into consideration.

この場合、データの違いをどのように考慮するか重要となる。以下に例を用いて説明する。例えば、f、g、hは例えば、対象プログラムにおいて、実行される関数とする。対象プログラムを実行した結果、一連のイベントが発生し、動作ログが、上記イベントの発生順序に従って、以下のように記録されたものとする
In this case, it is important how to consider the difference in data. An example will be described below. For example, f, g, and h are functions executed in the target program, for example. As a result of executing the target program, a series of events occur, and the operation log is recorded as follows in accordance with the order of occurrence of the events.

ログ1:f(−2)g(10)h(14)
ログ2:f(11)g(15)h(18)
ログ2:f(12)g(16)h(19)
ここで、かっこ内の数は、例えば、引数とする。引数をデータとして、データの違いを考慮して、ログの特徴を考える場合、単純に各ログを比較しても、各イベントの発生頻度が同じか、同程度となってしまい、ログの特徴を抽出することが困難な場合がある。一方、データの違いを考慮しない場合には、上述の例のように、プログラム記述、実行順序が同一となっている(f、g、h)ようなときには、実際にバグがあっても、対処できない場合もある。
Log 1: f (-2) g (10) h (14)
Log 2: f (11) g (15) h (18)
Log 2: f (12) g (16) h (19)
Here, the number in parentheses is, for example, an argument. When considering the characteristics of a log by taking the argument as data and considering the difference in the data, even if each log is simply compared, the frequency of occurrence of each event will be the same or similar, and the characteristics of the log will be It may be difficult to extract. On the other hand, if the difference in data is not taken into account, as in the above example, when the program description and execution order are the same (f, g, h), even if there is actually a bug, it is possible to deal with it. Sometimes it is not possible.

また、対象プログラムの実行時において、関数記述の実行で、メモリ領域にアクセスすることも考えられる。このため、データの違いの場合と同様に、メモリ領域へのアクセスの違いも考慮してログの特徴を抽出することができれば、デバッグ作業に都合が良い。   It is also conceivable to access the memory area by executing the function description when executing the target program. Therefore, as in the case of data differences, it is convenient for debugging work if log characteristics can be extracted in consideration of differences in access to memory areas.

本発明はこのような事情を考慮してなされたものであり、対象プログラム記述や実行順序に加え、これら以外の事項の違いを考慮して、対象プログラムのデバッグに有益な情報を提供することができるログ解析方法、プログラムを提供することを目的とする。   The present invention has been made in consideration of such circumstances. In addition to the description of the target program and the execution order, the present invention can provide information useful for debugging the target program in consideration of differences in other matters. An object of the present invention is to provide a log analysis method and program.

上記課題を解決するために、本発明は、同一のプログラムを複数回繰り返し実行することにより、発生したイベントを、実行回ごとに発生順序に従ってそれぞれ記録された複数のログを生成し、すべての発生順序において記録されたイベントに関するプログラムの記述が前記複数のログ間で、各々、共通する場合、前記
プログラムの記述及び該記述の実行の際に用いられるデータに基づいて、前記各イベントの発生確率を、前記発生順序ごとに、計算し、前記発生確率に基づいて、各ログの特徴となるイベントに関する情報を出力することを特徴とするものである。
In order to solve the above-mentioned problems, the present invention generates a plurality of logs in which the generated events are recorded in accordance with the generation order for each execution time by repeatedly executing the same program multiple times. When the description of the program related to the event recorded in order is common among the plurality of logs, the occurrence probability of each event is calculated based on the description of the program and the data used when the description is executed. , Calculating for each occurrence order, and outputting information on an event that is a feature of each log based on the occurrence probability.

また、本発明は、前記発生確率に基づいて、発生頻度の低さを示す稀少度を計算し、前記稀少度に基づいて、各ログの特徴となるイベントに関する情報を出力することもできる。   In addition, the present invention can calculate a rarity level indicating a low occurrence frequency based on the occurrence probability, and output information on an event that is a feature of each log based on the rarity level.

また、本発明は、前記複数のログをそれぞれ構成するイベントに基づいて、イベントを前記発生順序で記録したイベント列を生成し、前記イベント列のイベントと、前記各ログを構成するイベントとをそれぞれ比較し、比較結果に基づいて、前記複数のログをそれぞれ変換ログに変換し、前記イベントに関する前記プログラムの記述に基づいて、前記各イベントの発生確率を前記発生順序ごとに計算し、計算された発生確率に基づいて、発生頻度の低さを示す稀少度を計算し、計算された稀少度に基づいて、変換ログの特徴が存在するか否かを判定する判定する。そして、前記判定による判定結果に基づいて、前記プログラムの記述及び該記述の実行の際に用いられるデータに基づいて、前記各イベントの発生確率を、前記発生順序ごとに、計算することが好ましい。   Further, the present invention generates an event sequence in which events are recorded in the order of occurrence based on the events constituting each of the plurality of logs, and each of the events in the event sequence and the events constituting each log is generated. Based on the comparison result, each of the plurality of logs is converted into a conversion log, and the occurrence probability of each event is calculated for each occurrence order based on the description of the program related to the event. Based on the occurrence probability, a rarity level indicating a low occurrence frequency is calculated, and it is determined based on the calculated rarity level whether or not a feature of the conversion log exists. Then, it is preferable that the occurrence probability of each event is calculated for each occurrence order based on the description of the program and data used when the description is executed based on the determination result of the determination.

また、本発明は、プログラムの実行により発生した一連のイベントが発生順序に従って、記録されたログを解析する際に、前記イベントに関するプログラム記述の実行の際に参照可能であるメモリ領域を指定し、前記指定されたメモリ領域に対する参照処理を伴うか否かに基づいて、各イベントを分類し、参照処理を伴うメモリ領域ごとに、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成し、前記各分類ログをそれぞれ構成するイベントに基づいて、イベントを前記発生順序で記録したイベント列を生成し、前記イベント列のイベントと、前記各分類ログを構成するイベントとをそれぞれ比較し、比較結果に基づいて、前記各分類ログをそれぞれ変換ログに変換し、前記イベントに関するプログラムの記述に基づいて、前記各イベントの発生確率を前記発生順序ごとに、計算し、前記発生確率に基づいて、発生頻度の低さを示す稀少度を計算し、前記稀少度に基づいて、各変換ログの特徴となるイベントに関する情報を出力することを特徴とするものである。   Further, the present invention designates a memory area that can be referred to when executing a program description related to an event when analyzing a recorded log according to an occurrence order of a series of events generated by executing the program, Each event is classified based on whether or not reference processing for the designated memory area is involved, and a plurality of classification logs in which the classified events are recorded in accordance with the occurrence order for each memory area accompanied by the reference processing. Generating an event sequence in which the events are recorded in the order of occurrence based on the events constituting each of the classification logs, and comparing the events in the event sequence with the events constituting the classification logs, respectively. Then, based on the comparison result, each classification log is converted into a conversion log, and based on the program description related to the event. Then, the occurrence probability of each event is calculated for each occurrence order, a rareness indicating a low occurrence frequency is calculated based on the occurrence probability, and a feature of each conversion log is calculated based on the rareness It outputs the information regarding the event to become.

この際、前記メモリ領域を指定として、イベントに関する所定のプログラム記述の実行の際に参照されるメモリ領域に対して指定することができる。また、前記メモリ領域を指定として、領域の大きさが共通する複数のメモリ領域に対して指定することもできる。   At this time, the memory area can be designated, and can be designated for a memory area referred to when executing a predetermined program description related to the event. In addition, the memory area can be designated and designated for a plurality of memory areas having a common area size.

また、本発明は、計算された各イベントの発生確率に基づいて、各変換ログの特徴度をそれぞれ計算し、前記各変換ログの特徴度を出力することもできる。   Further, according to the present invention, the characteristic degree of each conversion log can be calculated based on the calculated occurrence probability of each event, and the characteristic degree of each conversion log can be output.

以上説明したように、本発明によれば、プログラム記述やイベント発生順序(プログラム記述実行順序)に加えて、データやメモリ領域への参照も考慮して、発生確率や稀少度を計算し、これらの発生確率や稀少度に基づいて、ログ特徴を抽出することができるので、プログラム記述や発生順序を考慮してもログ特徴が抽出できない場合でも、速やかに、ログ特徴を抽出することが可能となる。   As described above, according to the present invention, in addition to the program description and the event occurrence order (program description execution order), the occurrence probability and the rarity are calculated in consideration of the reference to the data and the memory area. Log features can be extracted based on the occurrence probability and rarity of the log, so even if log features cannot be extracted even if the program description and order of occurrence are taken into account, log features can be extracted quickly. Become.

従って、従来技術に比べて、作業者にとって一層デバッグ作業に効率的なログ解析方法、プログラムを提供することが可能となる。   Therefore, it is possible to provide a log analysis method and program that are more efficient for debugging work than the prior art.

図1は、本発明の第1の概念を説明するための図である。この図を用いて、本発明の第1概念を説明する。   FIG. 1 is a diagram for explaining a first concept of the present invention. The first concept of the present invention will be described with reference to this figure.

本発明の第1のログ解析方法は、先ず、同一のプログラム(プログラム1a)を複数回(3回)繰り返し実行することにより、発生したイベント(イベント2a,2b等)を、実行回(i=1〜3)ごとに発生順序に従ってそれぞれ記録された複数のログ(ログ1,ログ2、ログ3)を生成するステップを有する。   In the first log analysis method of the present invention, first, the same program (program 1a) is repeatedly executed a plurality of times (three times), thereby causing the generated events (events 2a, 2b, etc.) to be executed once (i = 1 to 3) having a step of generating a plurality of logs (log 1, log 2, log 3) respectively recorded according to the generation order.

そして、ログ解析方法は、すべての発生順序(発生順序1,2,3..)において記録されたイベントに関するプログラムの記述(f、g等)が前記複数のログ間で、各々、共通する場合、前記プログラムの記述及び該記述の実行の際に用いられるデータ(fやgの引数、(10)、(20)等)に基づいて、前記各イベント(イベント2a,2b等)の発生確率を、前記発生順序(発生順序1,2,3)ごとに、計算するステップを有する。   In the log analysis method, the description (f, g, etc.) of the programs related to the events recorded in all occurrence orders (occurrence orders 1, 2, 3,...) Is common among the plurality of logs. Based on the description of the program and the data used when executing the description (arguments of f and g, (10), (20), etc.), the occurrence probability of each event (events 2a, 2b, etc.) is determined. , For each occurrence order (occurrence order 1, 2, 3).

そして、ログ解析方法は、前記発生確率に基づいて、各ログの特徴となるイベントに関する情報(ログ2,発生順序2番目のイベント、発生確率15%)を出力するステップを有する。上述した概念に基づいて、本発明の実施の形態1について説明する。   Then, the log analysis method includes a step of outputting information on the event that is a feature of each log (log 2, the second event in the occurrence order, occurrence probability 15%) based on the occurrence probability. The first embodiment of the present invention will be described based on the concept described above.

また、図2は、本発明の第2の概念を説明するための図である。本発明に係るログ解析方法は、プログラム(3a)の実行により発生した一連のイベント(4a,4b,4c等)が発生順序に従って、記録されたログ(5)を解析するログ解析方法であって、前記イベントに関するプログラム記述の実行の際に参照可能であるメモリ領域(a1,a2,a3)を指定するステップと、指定されたメモリ領域(a1,a2,a3)に対する参照処理を伴うか否かに基づいて、各イベントを分類するステップと、参照処理を伴うメモリ領域(a1,a2,a3)ごとに、分類されたイベント(4a,4b,4c等)を、発生順序に従って、記録した複数の分類ログ(分類ログ1、分類ログ2、分類ログ3)を生成するステップと、前記各分類ログ(分類ログ1、分類ログ2、分類ログ3)をそれぞれ構成するイベント(f(a1)、g(a1)、h(a1)、f(a2)、g(a2)、h(a2)、f(a3)、g(a3)...)に基づいて、イベントを所定の順序で記録した所定のイベント列(6)を生成するステップと、所定のイベント列のイベントと、前記各分類ログを構成するイベントとをそれぞれ比較し、比較結果に基づいて、前記各分類ログ(分類ログ1、分類ログ2、分類ログ3)をそれぞれ変換ログ(変換ログ1、変換ログ2、変換ログ3)に変換するステップと、前記イベントに関するプログラムの記述(f、g等)に基づいて、前記各イベントの発生確率を前記発生順序ごとに、計算するステップと、前記発生確率に基づいて、発生頻度の低さを示す稀少度を計算するステップと、前記稀少度に基づいて、各ログの特徴となるイベントに関する情報(変換ログ3,発生順序3番目のイベント、発生確率33%)を出力するステップとを有する。上述した概念に基づいて、本発明の実施の形態2について説明する。   FIG. 2 is a diagram for explaining the second concept of the present invention. The log analysis method according to the present invention is a log analysis method for analyzing a recorded log (5) in accordance with the generation order of a series of events (4a, 4b, 4c, etc.) generated by the execution of the program (3a). , A step of designating a memory area (a1, a2, a3) that can be referred to when executing the program description relating to the event, and whether or not a reference process for the designated memory area (a1, a2, a3) is involved And a plurality of recorded events (4a, 4b, 4c, etc.) classified according to the order of occurrence for each memory area (a1, a2, a3) with reference processing based on the step of classifying each event A step of generating a classification log (classification log 1, classification log 2, classification log 3) and an image constituting each of the classification logs (classification log 1, classification log 2, classification log 3). Event (f (a1), g (a1), h (a1), f (a2), g (a2), h (a2), f (a3), g (a3)...) Generating a predetermined event sequence (6) recorded in a predetermined order, an event of the predetermined event sequence, and an event constituting each of the classification logs, and based on the comparison result, A step of converting the classification log (classification log 1, classification log 2, classification log 3) into a conversion log (conversion log 1, conversion log 2, conversion log 3), respectively, and description of the program related to the event (f, g, etc.) Based on the occurrence probability, the step of calculating the occurrence probability of each event for each of the occurrence order, the step of calculating a rarity level indicating a low occurrence frequency based on the occurrence probability, and based on the rarity level , It will be a feature of each log And a step of outputting information about the vent (conversion log 3, generation order third event, the probability of 33%). The second embodiment of the present invention will be described based on the concept described above.

実施の形態1.
(ログ解析装置の構成)
図3は、実施の形態1であるログ解析装置の構成を示すブロック図である。本装置は、デバッグの対象プログラム(以下、対象プログラム)の動作により出力されたログを入力し、デバッグ作業者(ユーザ)から与えられた種々の指定条件に応じて、ログを解析して、ログの特徴となる情報を出力する装置である。
Embodiment 1 FIG.
(Configuration of log analyzer)
FIG. 3 is a block diagram illustrating a configuration of the log analysis apparatus according to the first embodiment. This device inputs the log output by the operation of the debug target program (hereinafter referred to as the target program), analyzes the log according to various specified conditions given by the debug operator (user), and logs It is a device that outputs information that is characteristic of

ログ解析装置は、作業者がログを入力する入力部10と、複数のログを生成するログ生成部11と、イベント列生成部12と、ログ変換部13と、イベント発生確率計算部14と、稀少度計算部15と、稀少度判定部16と、出力部17とを有する。   The log analysis device includes an input unit 10 through which an operator inputs logs, a log generation unit 11 that generates a plurality of logs, an event sequence generation unit 12, a log conversion unit 13, an event occurrence probability calculation unit 14, It has a rarity calculation unit 15, a rarity determination unit 16, and an output unit 17.

入力部10には、対象プログラムの実行時において成立した一連のイベントが発生順序に従って、記録されたログが入力される。ここで、対象プログラムの種別、数量等は任意であり、実行環境も任意である。   The input unit 10 receives a log in which a series of events established at the time of execution of the target program are recorded in the order of occurrence. Here, the type and quantity of the target program are arbitrary, and the execution environment is also arbitrary.

ログを準備するための対象プログラムの実行は、図示しないデバッガによる。イベントの収集・記録処理は、デバッガに組み込まれ、或いはデバッガとは別構成で協調動作する「トレーサ」により行なわれる。トレーサは対象プログラムの実行動作を追跡し、そのデバッグ実行動作単位(シーケンス)ごとに、成立(発生)した一連のイベントを発生順序に従ってログとして記録する。   The execution of the target program for preparing the log is performed by a debugger (not shown). Event collection / recording processing is performed by a “tracer” that is incorporated in a debugger or that operates in a coordinated manner different from the debugger. The tracer tracks the execution operation of the target program, and records a series of established (generated) events as a log in accordance with the generation order for each debug execution operation unit (sequence).

ログ生成部11は、入力部10により入力されたログから、複数のログを生成する。例えば、同一のプログラムを複数回繰り返し実行することにより、発生したイベントを発生順序に従って記録されたログが入力部10に入力された場合、ログ生成部11は、入力されたログに基づいて、発生したイベントを実行回ごとに発生順序に従ってそれぞれ記録された複数のログを生成する。   The log generation unit 11 generates a plurality of logs from the log input by the input unit 10. For example, when the same program is repeatedly executed a plurality of times and a log in which the generated events are recorded in the order of occurrence is input to the input unit 10, the log generation unit 11 generates the log based on the input log. A plurality of logs are generated in which each event is recorded according to the occurrence order for each execution time.

イベント列生成部12は、ログ生成部11により生成された複数のログのイベントの傾向に基づいて、イベントを発生順序で記録したイベント列を生成する。   The event sequence generation unit 12 generates an event sequence in which events are recorded in the order of occurrence based on the event trends of the plurality of logs generated by the log generation unit 11.

ログ変換部13は、イベント列生成部12により生成されたイベント列を用いることで、ログ生成部11により生成された複数のログについて変換処理を行うことにより、複数の変換ログを生成する。具体的な処理は後述する。   The log conversion unit 13 generates a plurality of conversion logs by performing conversion processing on the plurality of logs generated by the log generation unit 11 by using the event sequence generated by the event sequence generation unit 12. Specific processing will be described later.

イベント発生確率計算部14は、前記イベントに関するプログラムの記述に基づいて、各イベントの発生確率を発生順序ごとに計算する。詳細な処理は後述する。   The event occurrence probability calculation unit 14 calculates the occurrence probability of each event for each occurrence order based on the description of the program related to the event. Detailed processing will be described later.

稀少度計算部15は、イベント発生確率計算部14により計算された各イベントについての発生確率に基づいて、各イベントについての稀少度を計算する。稀少度とは、そのイベントが発生したこと、あるいは発生しなかったことがどれだけ珍しい現象であるかを示す。例えば、稀少度の値が大きくなるほどそのイベントは(発生又は非発生が)珍しいということになる。本実施形態はこのような稀少度の値をログ特徴の根拠としている。   The rarity calculator 15 calculates the rarity for each event based on the occurrence probability for each event calculated by the event occurrence probability calculator 14. The rarity indicates how rare a phenomenon that the event occurred or did not occur. For example, the higher the rarity value, the rarer the event (occurrence or non-occurrence). In the present embodiment, such a rarity value is used as the basis of the log feature.

稀少度判定部16は、稀少度計算部15により計算された稀少度に基づいて、変換ログの特徴が存在するか否かを判定する。   The rarity level determination unit 16 determines whether or not the feature of the conversion log exists based on the rarity level calculated by the rarity level calculation unit 15.

出力部17は、稀少度判定部16により特徴が存在すると判定された場合には、変換ログの特徴となるイベントに関する情報を出力する。例えば、この情報として、変換ログ名、変換ログの内容、上述したイベントの発生順序、発生確率、稀少度等が出力される。   When the rareness determination unit 16 determines that a feature is present, the output unit 17 outputs information regarding an event that is a feature of the conversion log. For example, as this information, the conversion log name, the content of the conversion log, the occurrence order of the above-described events, the occurrence probability, the rarity level, and the like are output.

また、ログ解析装置は、データ値分類部18を有する。データ値分類部18は、稀少度判定部16により特徴が存在しないと判断された場合、イベントに関するプログラムの記述の実行の際に用いられるデータに基づいて、各イベントについて、それぞれ、所定の分類基準に従って、分類情報を生成する。そして、データ値分類部18は、各イベントに対して、生成された分類情報を付与する。   In addition, the log analysis apparatus includes a data value classification unit 18. When the rareness determination unit 16 determines that the feature does not exist, the data value classification unit 18 determines a predetermined classification criterion for each event based on data used when executing the description of the program related to the event. According to the above, classification information is generated. Then, the data value classification unit 18 assigns the generated classification information to each event.

そして、上述したイベント発生確率計算部14は、イベントに関するプログラムの記述と、与えられた分類情報に基づいて、イベントの発生確率を発生順序ごとに計算する。具体的な処理については、後述する。   The event occurrence probability calculation unit 14 described above calculates the event occurrence probability for each occurrence order based on the description of the program related to the event and the given classification information. Specific processing will be described later.

そして、上述した稀少度計算部15は、計算された発生確率に基づいて、発生頻度(又は非発生頻度)の低さを示す稀少度を計算する。上述した稀少度判定部16は、稀少度計算部15により計算された稀少度に基づいて、ログの特徴が存在するか否かを判定する。上述した出力部17は、計算された稀少度に基づいて、各ログの特徴となるイベントに関する情報を出力する。   Then, the rarity calculator 15 described above calculates a rarity indicating a low occurrence frequency (or non-occurrence frequency) based on the calculated occurrence probability. The rarity level determination unit 16 described above determines whether or not a log feature exists based on the rarity level calculated by the rarity level calculation unit 15. The output unit 17 described above outputs information related to an event that is a feature of each log based on the calculated rarity.

(ログ解析方法)
図4は、上述した構成を有するログ解析装置を用いたログ解析方法を説明するためのフローチャート図である。
(Log analysis method)
FIG. 4 is a flowchart for explaining a log analysis method using the log analysis apparatus having the above-described configuration.

この対象プログラムについては、本実施の形態では、特に限定しない。このため、どのような言語で上記対象プログラムを記載した場合にも適用できるが、本実施の形態では、その一例として、図6に示すようなC言語で記載された対象プログラムを実行させた場合のログの解析方法を具体例として用いながら、説明する。   This target program is not particularly limited in the present embodiment. For this reason, it can be applied to the case where the target program is described in any language, but in the present embodiment, as an example, when the target program described in C language as shown in FIG. 6 is executed. The log analysis method will be described as a specific example.

図6に示すプログラムでは、関数main 内で、関数f と関数k を、引数が0, 4, 8, 12, 16 の5 通りで呼び出している。関数f と関数kはともに、関数g 及び関数h を使い、テーブルprice とテーブルfee のデータを参照しながら、tax 値を計算している。即ち、同一プログラムを複数回(引数が0, 4, 8, 12, 16 )繰り返して実行している。   In the program shown in FIG. 6, in the function main, the function f and the function k are called with five arguments 0, 4, 8, 12, and 16. Both function f and function k use function g and function h to calculate the tax value while referring to the data in table price and table fee. That is, the same program is repeatedly executed a plurality of times (arguments are 0, 4, 8, 12, 16).

ここで、上述したように、f、g、h、kは対象プログラムの記述(関数記述)である。これらの関数は、実行時に参照した引数と関連づけられている。そして、イベントとは、デバッグ環境全体で予め定義されているものであり、識別可能な事象をいう。例えば、マウスが押されたとか、キー操作がされた等の事象である。そして、イベントが発生するためには、イベントごとにプログラム記述が必要であり、イベントの発生により、プログラム記述が実行され、必要に応じて引数データが参照される。   Here, as described above, f, g, h, and k are descriptions (function descriptions) of the target program. These functions are associated with arguments referenced at runtime. An event is an event that is predefined in the entire debugging environment and can be identified. For example, an event such as a mouse being pressed or a key operation being performed. In order for an event to occur, a program description is required for each event. When the event occurs, the program description is executed, and argument data is referenced as necessary.

イベントの記録の仕方には種々の仕方があるが、本明細書では、その一例として、発生したイベントに関連する情報であるプログラムの記述や引数等を用いて記録することにより、イベントを記録する場合について説明する。   There are various ways of recording an event. In this specification, as an example, an event is recorded by recording using a program description or an argument that is information related to the event that has occurred. The case will be described.

以下、上記イベントが記録されていることは、イベントに関する情報(プログラム記述や引数等)が記録されていることをいう。   Hereinafter, the recording of the event means that information related to the event (program description, argument, etc.) is recorded.

先ず、ステップS10では、作業者は、対象プログラムの動作により出力されたログを入力部10により入力する。例えば、図に示すプログラムを複数回繰り返し実行する(main関数のiを0、4,8,12,16に変えて実行)ことにより、発生したイベントを発生順序ごとに記録したログがデバッグから出力されたとする。この場合には、作業者は、上記ログを入力部10により入力する。   First, in step S10, the worker inputs a log output by the operation of the target program through the input unit 10. For example, by repeatedly executing the program shown in the figure multiple times (by changing the main function i to 0, 4, 8, 12, or 16), a log that records the events that occurred in each order of occurrence is output from the debug Suppose that In this case, the worker inputs the log through the input unit 10.

ステップS15では、ログ生成部11は、入力されたログから複数のログを生成する。この処理について具体的に説明する。上記ログが入力部10により入力された場合を考える。ログ生成部11は、上記ログに基づいて、各イベントを、実行回(i=0、4,8,12,16)ごとに発生順序に従って、それぞれ記録された複数のログを生成する。このようにして生成された複数のログを図7に示す。図7において、実行回1(i=0)のとき発生したイベントを発生順序に従って、記録したログをログ1としている。同様にして、実行回2〜5のとき発生したイベントを発生順序に従って、記録したログをログ2〜5としている。   In step S15, the log generation unit 11 generates a plurality of logs from the input logs. This process will be specifically described. Consider a case where the log is input by the input unit 10. Based on the log, the log generation unit 11 generates a plurality of logs in which each event is recorded according to the generation order for each execution time (i = 0, 4, 8, 12, 16). A plurality of logs generated in this way are shown in FIG. In FIG. 7, a log that records events that occurred at execution time 1 (i = 0) in accordance with the order of occurrence is referred to as log 1. Similarly, logs 2 to 5 are recorded logs of events that occurred at execution times 2 to 5 in the order of occurrence.

ステップS20では、イベント列生成部12は、複数のログ中のイベントの傾向に基づいて、イベントを発生順序で記録したイベント列を生成する。具体的には、イベント列生成部12は、複数のログ中のイベントに関する情報(関数記述等)の傾向に基づいて、イベントに関する情報(関数記述等)を発生順序で記録したイベント列を生成する。   In step S20, the event sequence generation unit 12 generates an event sequence in which events are recorded in the order of occurrence based on the tendency of events in a plurality of logs. Specifically, the event sequence generation unit 12 generates an event sequence in which information related to events (such as function descriptions) is recorded in the order of occurrence based on the tendency of information related to events (such as function descriptions) in a plurality of logs. .

この処理について、図を用いて具体的に説明する。図7に示すように、各ログ(ログ1〜5)においては、各イベントがその発生順序で記録されている。そして、例えば、これらの複数のログは出力部17に送られ、出力部17から出力される。これにより、作業者は、複数のログ中のイベントの傾向がわかる。そして、作業者は、例えば、入力部10により、イベントに関するプログラム関数記述を上記発生順序で記録されたイベント列(f g h g h g h g h k g h g h g h g h)を指定し、上記イベント列を生成する旨を入力する。   This process will be specifically described with reference to the drawings. As shown in FIG. 7, in each log (logs 1 to 5), each event is recorded in the order of occurrence. For example, the plurality of logs are sent to the output unit 17 and output from the output unit 17. Thereby, the worker can understand the tendency of the events in the plurality of logs. Then, for example, the operator designates an event sequence (f g h g h g h g h k g h g h g h g h) in which the program function description related to the event is recorded in the above-mentioned generation order, and inputs that the event sequence is generated.

なお、イベント列は、後述する変換ログに変換するための基準となるものであるが、変換された変換ログの特徴が判定できるようにできれば、イベント列の指定の仕方については、特に本実施の形態では、限定しない。   Note that the event sequence is a reference for conversion to a conversion log, which will be described later. However, if the characteristics of the converted conversion log can be determined, the method for specifying the event sequence is not limited to this embodiment. The form is not limited.

そして、入力されたイベント列の生成の旨に基づいて、イベント列生成部12は、イベント列を生成する。イベント列生成部12により生成されたイベント列と、上記複数のログは、ログ変換部13へ送られる。   Then, based on the input event string generation, the event string generation unit 12 generates an event string. The event sequence generated by the event sequence generation unit 12 and the plurality of logs are sent to the log conversion unit 13.

ステップS30では、ログ変換部13は、生成されたイベント列のイベント(イベントに関する情報)と、各ログを構成するイベント(イベントに関する情報)とをそれぞれ比較し、比較結果に基づいて、各ログをそれぞれ変換ログに変換する。図7に示す複数のログを用いた具体的な処理を以下に示す。   In step S30, the log conversion unit 13 compares the event (information related to the event) in the generated event sequence with the event (information related to the event) constituting each log, and determines each log based on the comparison result. Convert each into a conversion log. Specific processing using a plurality of logs shown in FIG. 7 is shown below.

ログ変換部13は、発生順序ごとに、イベント列の各イベントに関するプログラム記述と、各ログの各イベントに関するプログラム記述とを比較する。そして、ログ変換部13は、記述が一致する場合には、その記述を用いて変換ログのイベントに関する情報とする。そして、ある発生順序で、ログ中にイベントが記録されていない場合には、その旨を示す情報を変換ログのイベントに関する情報とする。   The log conversion unit 13 compares the program description for each event in the event sequence with the program description for each event in each log for each occurrence order. If the descriptions match, the log conversion unit 13 uses the description as information about the event of the conversion log. If no event is recorded in the log in a certain order of occurrence, information indicating that is used as information related to the event in the conversion log.

例えば、ログ1の発生順序2番目のイベントに関する関数記述はgである。一方、イベント列の発生順序2番目のイベントに関する関数記述は、gである。このため、ログ変換部13は、変換ログ1の発生順序2番目のイベントに関する情報として、gを用いる。   For example, the function description for the second event in the log 1 generation order is g. On the other hand, the function description relating to the second event in the event sequence occurrence order is g. For this reason, the log conversion unit 13 uses g as information related to the second event in the generation order of the conversion log 1.

例えば、あるログの発生順序n番目のイベントが記録されておらず、イベント列の発生順序n番目のイベントに関する関数記述がfである場合には、ログ変換部13は、上記あるログの変換ログの発生順序n番目のイベントに関する情報として、例えば、−マークを用いる。   For example, when the event of the nth occurrence of a certain log is not recorded and the function description related to the event of the nth occurrence of the event sequence is f, the log conversion unit 13 converts the conversion log of the certain log. As the information regarding the nth event in the generation order, for example, a-mark is used.

ログ変換部13は、上記変換処理により、イベントに関する情報を発生順序に従って記録することにより、変換ログを生成する。   The log conversion unit 13 generates a conversion log by recording information related to events in the order of occurrence through the conversion process.

ログ1〜5について上述のようにして変換処理した変換ログを図8に示す。図7に示す各ログについては、イベント列のイベントに関する関数記述が全て記録されているので、ログ変換部13は、各ログに対する変換ログとして、f g h g h g h g h k g h g h g h g hを生成する。   A conversion log obtained by converting the logs 1 to 5 as described above is shown in FIG. For each log shown in FIG. 7, since all the function descriptions related to the events in the event sequence are recorded, the log conversion unit 13 generates f g h g h g h g h k g h g h g h g h as the conversion log for each log.

一方、例えば、ログ5の代わりに、f g h g h g h g ( )g h g h g h g hのように途中で関数kを用いたイベントが発生していないようなログ5Xが存在する場合には、各ログに対する変換ログは、図9に示すようになる。   On the other hand, for example, when there is a log 5X in which an event using the function k does not occur in the middle, such as fghghghg () ghghghgh, instead of the log 5, the conversion log for each log is shown in FIG. As shown.

なお、ログ変換部13による変換処理は、他にも種々の方法があり、本実施の形態では、上述の方法に特に限定しない。そして、ログ変換部13により生成された各変換ログは、イベント発生確率計算部14へ送られる。また、ログ変換部13は、各変換ログの内容を、図示しないレジスタ等に保持しておく。   Note that there are various other methods for the conversion processing by the log conversion unit 13, and in the present embodiment, the conversion method is not particularly limited to the above-described method. Each conversion log generated by the log conversion unit 13 is sent to the event occurrence probability calculation unit 14. The log conversion unit 13 holds the contents of each conversion log in a register (not shown) or the like.

ステップS40では、イベント発生確率計算部14は、イベントに関するプログラムの記述に基づいて、各イベントの発生確率を発生順序ごとに計算する。この各イベントとは、上記イベント列に記録された各イベントである。   In step S40, the event occurrence probability calculation unit 14 calculates the occurrence probability of each event for each occurrence order based on the description of the program related to the event. Each event is each event recorded in the event sequence.

イベント発生確率計算部14は、ログ変換部13が生成した各変換ログのイベントに関する情報を全て参照し、各発生順序において、イベントが発生したか否かを調べる。そして、イベント発生確率計算部14は、各発生順序において、イベントの発生確率を計算する。この発生確率は、ある発生順序において、イベントが発生する確率を示すので、この発生確率や後述する稀少度により、イベントの発生が珍しいか否かを判断できる。   The event occurrence probability calculation unit 14 refers to all information related to the event of each conversion log generated by the log conversion unit 13 and checks whether an event has occurred in each generation order. Then, the event occurrence probability calculation unit 14 calculates the event occurrence probability in each occurrence order. Since this occurrence probability indicates the probability that an event will occur in a certain occurrence order, it can be determined whether or not the occurrence of the event is unusual based on this occurrence probability and the rarity described below.

図8を用いて説明する。図8においては、イベント列の発生順序1番目の関数fを用いたイベント(以下、イベントfという)が発生している変換ログ数は、5つであり、当該イベントfの発生確率は、5(イベントfが発生している変換ログ数)/5(全ての変換ログ数)となる。このようにして、イベント列の全ての発生順序について、イベントの発生確率を計算した結果を図10に示す。図10に示すように、各イベントの発生確率は、すべて1となる。   This will be described with reference to FIG. In FIG. 8, the number of conversion logs in which an event using the first function f in the occurrence sequence of the event sequence (hereinafter referred to as event f) has occurred is 5, and the occurrence probability of the event f is 5 (The number of conversion logs in which event f has occurred) / 5 (the total number of conversion logs). FIG. 10 shows the result of calculating the event occurrence probability for all occurrence sequences of the event sequence in this way. As shown in FIG. 10, the occurrence probability of each event is all 1.

なお、例えば、図9に示すように、変換ログ5でなく、変換ログ5Xが用いられている場合には、イベント列の発生順序10番目のイベントkが発生しているのは、5つの変換ログ中4つであり、発生順序10番目のイベントkの発生確率は、4/5となる。このようにして、図9の場合の変換ログに対して、イベント列の全ての発生順序について、イベントの発生確率を計算した結果を図11に示す。そして、各イベントの発生確率は、稀少度計算部15に送られる。また、イベント発生確率計算部14は、各イベントの発生確率を、図示しないレジスタ等に保持しておく。   For example, as shown in FIG. 9, when the conversion log 5X is used instead of the conversion log 5, the event k having the tenth occurrence sequence in the event sequence is generated in five conversions. There are four in the log, and the probability of occurrence of the tenth event k in the order of occurrence is 4/5. FIG. 11 shows the result of calculating the event occurrence probability with respect to the conversion log in the case of FIG. Then, the occurrence probability of each event is sent to the rarity calculator 15. Further, the event occurrence probability calculation unit 14 holds the occurrence probability of each event in a register or the like (not shown).

ステップS50では、稀少度計算部15は、イベント発生確率計算部14により計算された各イベントについての発生確率に基づいて、イベントの発生頻度の低さ又はイベントの非発生の頻度の低さを示す稀少度を計算する。   In step S50, the rarity calculation unit 15 indicates a low event occurrence frequency or a low event non-occurrence frequency based on the occurrence probability for each event calculated by the event occurrence probability calculation unit 14. Calculate rarity.

ここで、イベントの稀少度とは、そのイベントが発生したこと、発生しなかったことが、どれだけ珍しい現象であるかを示す。稀少度の定義の仕方には、種々の方法があり、本実施の形態では、特に限定しない。ここでは、その一例として、以下に示す式により、稀少度を定義し、稀少度の値が大きくなるほどそのイベントは(発生又は非発生)が珍しいということとする。   Here, the rarity level of an event indicates how unusual the occurrence of the event or the absence of the event is. There are various methods for defining the degree of rarity, and this embodiment is not particularly limited. Here, as an example, the degree of rarity is defined by the following formula, and it is assumed that the event is rare (occurrence or non-occurrence) as the rarity degree value increases.

ある発生順序におけるイベントの発生確率をpとしたとき、そのイベントが発生したことがどれだけ珍しいかを示す稀少度R1(発生頻度の低さ)は、そのイベントの発生確率をpとして、例えば、以下の式で与えられる。   When the occurrence probability of an event in a certain occurrence order is p, a rarity R1 (low frequency of occurrence) indicating how rare the event has occurred is represented by p as the occurrence probability of the event. It is given by the following formula.

R1=−log(p)
ここで、logは自然対数である。
R1 = −log (p)
Here, log is a natural logarithm.

一方、ある発生順序におけるイベントの発生確率をpとしたとき、そのイベントが発生していないことがどれだけ珍しいかを示す稀少度R2(非発生頻度の低さ)は、そのイベントの発生確率をpとして、例えば、以下の式で与えられる。   On the other hand, when the occurrence probability of an event in a certain occurrence order is p, the rarity R2 (low frequency of non-occurrence) indicating how rare it is that the event has not occurred is the occurrence probability of the event. For example, p is given by the following equation.

R2=−log(1−p)
ここで、logは自然対数である。
R2 = -log (1-p)
Here, log is a natural logarithm.

そして、稀少度計算部15は、変換ログにおいて、発生順序ごとに、イベントが発生している場合には、稀少度R1を計算し、イベントが発生していない場合には、稀少度R2を計算する。これらの計算結果は、変換ログ、発生順序と対応づけられる。このようにして図8に示す複数の変換ログに対して、稀少度を計算した結果を図12に示す。図に示すように、変換ログ1〜5の全ての発生順序に対して、稀少度は、0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 と、全て0 となる。   Then, the rarity level calculation unit 15 calculates the rarity level R1 when an event has occurred for each occurrence order in the conversion log, and calculates the rarity level R2 when no event has occurred. To do. These calculation results are associated with the conversion log and the generation order. FIG. 12 shows the result of calculating the rarity for the plurality of conversion logs shown in FIG. As shown in the figure, the rarity is 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 for all occurrence orders of the conversion logs 1 to 5.

一方、図9に示す複数の変換ログに対して、稀少度を計算した結果を図13に示す。図に示すように、稀少度は、変換ログ1〜4の全ての発生順序に対して 0 0 0 0 0 0 0 0 0 0 0.1 0 0 0 0 0 0 0 となるが、変換ログ5Xの全ての発生順序に対しては、0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 0 0 0 0 となる。変換ログ及び発生順序と対応づけられた稀少度は、稀少度判定部16に送られる。   On the other hand, FIG. 13 shows the result of calculating the rarity for the plurality of conversion logs shown in FIG. As shown in the figure, the rarity is 0 0 0 0 0 0 0 0 0 0 0.1 0 0 0 0 0 0 0 for all occurrence orders of the conversion logs 1 to 4, but the conversion log 5X Is 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 0 0 0 0. The rarity associated with the conversion log and the occurrence order is sent to the rarity determination unit 16.

ステップS60では、稀少度判定部16は、稀少度計算部15により計算された各イベントの稀少度に基づいて、各変換ログの特徴が存在するか否かを判定する。存在する場合には、ステップS120へ移行する。存在しない場合には、ステップS70へ移行する。   In step S <b> 60, the rarity level determination unit 16 determines whether or not there is a feature of each conversion log based on the rarity level of each event calculated by the rarity level calculation unit 15. When it exists, it transfers to step S120. If not, the process proceeds to step S70.

図8に示す変換ログ1〜5の場合について先ず説明する。稀少度判定部16は、各変換ログの発生順序に対して、計算された稀少度は、図12に示すように、全て0であるので、各イベントが発生した頻度は高く、各イベントが発生したことは、あまり珍しくないということになる。この場合には、稀少度判定部16は、各変換ログの特徴は存在しないと判定する。   First, the case of the conversion logs 1 to 5 shown in FIG. 8 will be described. As shown in FIG. 12, the rarity level determination unit 16 has a calculated rarity level of 0 as shown in FIG. 12. Therefore, the frequency of occurrence of each event is high, and each event occurs. What you do is not unusual. In this case, the rarity level determination unit 16 determines that there is no feature of each conversion log.

これに対して、図9に示す変換ログ(1,2,3,4,5X)の場合について考える。この場合、各変換ログにおいては、発生順序10番目以外の稀少度は、0である。一方、発生順序10番目の稀少度は、変換ログ1〜4は、0.1であり、変換ログ5Xについては、0.7である。稀少度の高い値をもつ変換ログが存在するので、稀少度判定部16は、変換ログの特徴があると判定し、変換ログ5Xの発生順序10番目のイベントkが発生しなかったことが特徴と判定する。   On the other hand, consider the case of the conversion log (1, 2, 3, 4, 5X) shown in FIG. In this case, in each conversion log, the rarity other than the 10th occurrence order is 0. On the other hand, the tenth rarity in the generation order is 0.1 for the conversion logs 1 to 4 and 0.7 for the conversion log 5X. Since there is a conversion log having a high rarity value, the rarity determination unit 16 determines that there is a conversion log characteristic, and that the 10th event k in the generation order of the conversion log 5X has not occurred. Is determined.

特徴があると判定した場合には、稀少度判定部16は、変換ログ5Xの特徴(変換ログ5Xの発生順序10番目のイベントkが発生しなかったこと)の旨を出力部17へ送る。また、稀少度判定部16は、ログ変換部13から、上記変換ログ(5X)の内容を読み出し、出力部17へ送る。また、稀少度判定部16は、上記変換ログの特徴となる発生順序(10番目)のイベント(イベントk)の発生確率をイベント発生確率計算部14から読み出し、出力部17へ送る。また、稀少度判定部16は、上記変換ログの特徴となる発生順序(10番目)のイベント(イベントk)の稀少度も出力部17へ送る。   If it is determined that there is a feature, the rarity degree determination unit 16 sends to the output unit 17 a feature of the conversion log 5X (the occurrence of the tenth event k in the generation order of the conversion log 5X has not occurred). Further, the rarity degree determination unit 16 reads the content of the conversion log (5X) from the log conversion unit 13 and sends the content to the output unit 17. In addition, the rarity degree determination unit 16 reads out the occurrence probability of the event (event k) in the occurrence order (tenth), which is a feature of the conversion log, from the event occurrence probability calculation unit 14 and sends it to the output unit 17. Further, the rarity degree determination unit 16 also sends the output unit 17 the rarity degree of the occurrence order (tenth) event (event k) that is a feature of the conversion log.

ステップS120にて、出力部17は、変換ログ名、変換ログの内容、発生順序、イベント、発生確率(又は非発生確率)、稀少度等を出力する。例えば、上述の場合には、出力部17は、稀少度判定部16から送られてきた情報(変換ログ5Xの特徴(変換ログ5Xの発生順序10番目のイベントkが発生しなかったこと)の旨、変換ログ(5X)の内容、上記変換ログ(5X)の特徴となる発生順序(10番目)、その発生順序のイベント(イベントk)の発生確率、稀少度)を出力する。稀少度判定部16は、変換ログの特徴が存在しないと判断した場合には、その旨をデータ値分類部18に知らせる。   In step S120, the output unit 17 outputs the conversion log name, the content of the conversion log, the occurrence order, the event, the occurrence probability (or non-occurrence probability), the rarity level, and the like. For example, in the above-described case, the output unit 17 includes the information sent from the rarity degree determination unit 16 (characteristics of the conversion log 5X (the event k of the tenth occurrence order of the conversion log 5X has not occurred). The contents of the conversion log (5X), the generation order (10th) that is a feature of the conversion log (5X), the generation probability of the event (event k) in that generation order, and the rarity level are output. When the rarity level determination unit 16 determines that the feature of the conversion log does not exist, the rarity level determination unit 16 notifies the data value classification unit 18 to that effect.

ステップS70では、データ値分類部18は、稀少度判定部16により特徴が存在しないと判定された場合、イベントに関するプログラムの記述の実行の際に用いられるデータに基づいて、各イベントについて、それぞれ、所定の分類基準に従って、分類情報を生成する。そして、データ値分類部18は、各イベントに対して、生成された分類情報を付与する。   In step S70, when it is determined by the rarity determination unit 16 that the feature does not exist, the data value classification unit 18 is configured for each event based on the data used when executing the description of the program related to the event. Classification information is generated according to a predetermined classification standard. Then, the data value classification unit 18 assigns the generated classification information to each event.

図7を用いて具体的に説明する。データ値分類部18は、所定の分類基準として、例えば、引数のデータ値が0以上であるか0未満であるかの基準に従って、分類情報を生成する。例えば、データ値分類部18は、図7に示すログ1の発生順序5番目のイベント発生に用いられる関数hの引数値70は、0以上であるので、0以上である旨を示す分類情報(+マーク)を生成する。そして、データ値分類部18は、その分類情報をログ1の発生順序5番目のイベント発生に用いられる関数hに与える。   This will be specifically described with reference to FIG. The data value classification unit 18 generates classification information as a predetermined classification standard, for example, according to a standard of whether the data value of the argument is 0 or more or less than 0. For example, the data value classification unit 18 indicates that the argument value 70 of the function h used for generating the fifth event in the log 1 generation order shown in FIG. + Mark) is generated. Then, the data value classification unit 18 gives the classification information to the function h used for generating the fifth event in the log 1 generation order.

同じようにして、データ値分類部18は、ログ3の発生順序9番目のイベント発生に用いられる関数hの引数値−10は、0未満であるので、0未満である旨を示す分類情報(−マーク)を生成する。そして、データ分類部は、その分類情報をログ3の発生順序9番目のイベント発生に用いられる関数hに与える。   In the same manner, the data value classifying unit 18 classifies information indicating that the argument value −10 of the function h used for occurrence of the ninth event in the log 3 occurrence order is less than 0, and is less than 0 ( -Mark). Then, the data classification unit gives the classification information to the function h used for occurrence of the ninth event in the log 3 generation order.

このようにして、各イベントの発生に用いられる関数に分類情報を与えた後のログ結果を図14に示す。   FIG. 14 shows the log result after the classification information is given to the function used to generate each event in this way.

なお、分類基準については、ログ特徴が存在するような分類基準であれば本実施の形態では、特に限定しない。例えば、データ値を統計処理した結果に基づいて、分類基準を定めたり、プログラムのソースコードを用いた境界値分析等を用いることで、分類基準を定めることも可能である。また、複数の分類基準を設定し、データ値分類部18は、複数の分類基準に従って、分類情報を生成することも可能である。   Note that the classification criteria are not particularly limited in the present embodiment as long as the classification criteria are such that log features exist. For example, based on the result of statistical processing of data values, it is also possible to determine the classification criteria by using a boundary value analysis or the like using a program source code. Also, a plurality of classification criteria can be set, and the data value classification unit 18 can generate classification information according to the plurality of classification criteria.

そして、データ値分類部18は、分類情報が与えられた各ログをイベント発生確率計算部14に送る。なお、データ値分類部18は、分類情報が与えられた各ログを、図示しないレジスタ等に保持しておく。
ステップS80では、イベント発生確率計算部14は、イベントに関するプログラムの記述(f、g、h、k)と、与えられた分類情報(+、−)に基づいて、イベントの発生確率を発生順序ごとに計算する。
Then, the data value classification unit 18 sends each log given the classification information to the event occurrence probability calculation unit 14. The data value classifying unit 18 holds each log given classification information in a register or the like (not shown).
In step S80, the event occurrence probability calculation unit 14 calculates the event occurrence probability for each occurrence order based on the description (f, g, h, k) of the program related to the event and the given classification information (+, −). To calculate.

図14を用いて説明する。図14において、イベント発生確率計算部14は、発生順序1番目のイベントの発生確率を以下のように計算する。即ち、分類情報+が与えられた関数fを用いたイベント(以下、イベントf+という)が発生しているログ数は、5つであり、当該イベントf+の発生確率は、5(イベントf+が発生しているログ数)/5(全ログ数)となる。   This will be described with reference to FIG. In FIG. 14, the event occurrence probability calculation unit 14 calculates the occurrence probability of the first event in the occurrence order as follows. That is, the number of logs in which an event using the function f given the classification information + (hereinafter referred to as event f +) has occurred is 5, and the occurrence probability of the event f + is 5 (event f + occurs) Number of logs) / 5 (total number of logs).

一方、発生順序9番目のイベントの発生確率を以下のように計算する。即ち、分類情報+が与えられた関数hを用いたイベント(以下、イベントh+という)が発生しているログ数は、4つであり、当該イベントh+の発生確率は、4(イベントh+が発生しているログ数/5(全てのログ数)となる。   On the other hand, the occurrence probability of the ninth occurrence event is calculated as follows. That is, the number of logs in which an event using the function h to which the classification information + is given (hereinafter referred to as event h +) has occurred, and the occurrence probability of the event h + is 4 (event h + has occurred) The number of logged logs / 5 (the number of all logs).

このようにして、全ての発生順序について、各イベントの発生確率を計算すると、図15に示すようになる。イベント発生確率計算部14は、各イベントの発生確率を稀少度計算部15に送る。なお、イベント発生確率計算部14は、各イベントの発生確率を図示しないレジスタ等に保持しておく。
ステップS90では、稀少度計算部15は、イベント発生確率計算部14により計算された各イベントについての発生確率に基づいて、発生頻度の低さ又は非発生の頻度の低さを示す稀少度を計算する。イベントの稀少度R1,R2は、例えば、ステップS50で示した式で表せる。
When the occurrence probability of each event is calculated for all occurrence orders in this way, the result is as shown in FIG. The event occurrence probability calculation unit 14 sends the occurrence probability of each event to the rarity degree calculation unit 15. The event occurrence probability calculation unit 14 holds the occurrence probability of each event in a register (not shown) or the like.
In step S90, the rarity calculation unit 15 calculates a rarity indicating low occurrence frequency or low occurrence frequency based on the occurrence probability for each event calculated by the event occurrence probability calculation unit 14. To do. The event rarity R1 and R2 can be expressed by, for example, the expression shown in step S50.

例えば、図14に示すようなログ1、2,4,5において、発生順序(1〜18)において、イベントが発生した場合には、稀少度R1、イベントが発生しなかった場合には、稀少度R2を計算すると、図16に示すように、発生順序に対して、稀少度は、0 0 0 0 0 0 0 0 0.1 0 0 0 0 0 0 0 0 0 となる。   For example, in the logs 1, 2, 4, and 5 as shown in FIG. 14, when an event occurs in the generation order (1 to 18), the rarity level R 1, and when an event does not occur, it is rare When the degree R2 is calculated, the rarity degree is 0 0 0 0 0 0 0 0 0.1 0 0 0 0 0 0 0 0 0 with respect to the generation order as shown in FIG.

一方、ログ3において、発生順序(1〜18)において、イベントが発生した場合には、稀少度R1、イベントが発生しなかった場合には、稀少度R2を計算すると、図16に示すように、発生順序に対して、0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 0 0 0 0 となる。計算された各稀少度は、ログ及び発生順序と対応づけられて、稀少度判定部16に送られる。   On the other hand, in the log 3, in the occurrence order (1 to 18), when an event occurs, the rarity R1 is calculated. When the event does not occur, the rarity R2 is calculated, as shown in FIG. , 0 0 0 0 0 0 0 0 0 0 0.7 0 0 0 0 0 0 0 with respect to the generation order. Each degree of rarity calculated is associated with the log and the occurrence order, and sent to the rarity degree determination unit 16.

ステップS100では、稀少度判定部16は、稀少度計算部15により計算された各イベントの稀少度に基づいて、各ログの特徴が存在するか否かを判定する。存在する場合には、ステップS120へ移行する。存在しない場合には、ステップS110へ移行する。   In step S100, the rarity determination unit 16 determines whether or not there is a feature of each log based on the rarity of each event calculated by the rarity calculation unit 15. When it exists, it transfers to step S120. If not, the process proceeds to step S110.

図14に示すログ1〜5の場合について説明する。各ログにおいては、発生順序9番目以外の稀少度は、0である。一方、発生順序9番目の稀少度は、ログ1、2,4,5は、0.1であり、ログ3については、0.7である。ログ3の発生順序9番目の稀少度は高いので、稀少度判定部16はログの特徴があると判定し、ログ3の発生順序9番目のイベントh+が発生しなかったことが特徴と判定する。   The case of logs 1 to 5 shown in FIG. 14 will be described. In each log, the rarity other than the ninth occurrence order is 0. On the other hand, the ninth degree of rarity is 0.1 for logs 1, 2, 4, and 5, and 0.7 for log 3. Since the 9th rarity of the log 3 generation order is high, the rarity determination unit 16 determines that there is a log characteristic, and determines that the 9th event h + of the log 3 occurrence order has not occurred. .

特徴があると判定した場合には、稀少度判定部16は、ログ3の特徴(ログ3の発生順序9番目のイベントh+が発生しなかったこと)の旨を出力部17へ送る。また、稀少度判定部16は、データ値分類部18から、分類情報が与えられたログ3の内容を読み出し、出力部17へ送る。また、稀少度判定部16は、ログ3の特徴となる発生順序(9番目)のイベント(イベントh+)の発生確率をイベント発生確率計算部14から読み出し、出力部17へ送る。また、稀少度判定部16は、上記ログ3の特徴となる発生順序(9番目)のイベント(イベントh+)の稀少度も出力部17へ送る。なお、特徴がないと判定された場合には、その旨が出力部17に送られる。   If it is determined that there is a feature, the rarity level determination unit 16 sends to the output unit 17 the feature of the log 3 (the event h + in the generation order 9 of the log 3 has not occurred). Further, the rarity degree determination unit 16 reads the contents of the log 3 to which the classification information is given from the data value classification unit 18, and sends it to the output unit 17. Further, the rarity degree determination unit 16 reads out the occurrence probability of the occurrence order (9th) event (event h +), which is a feature of the log 3, from the event occurrence probability calculation unit 14 and sends it to the output unit 17. In addition, the rarity level determination unit 16 also sends the rarity level of the occurrence order (9th) event (event h +), which is a feature of the log 3, to the output unit 17. If it is determined that there is no feature, a message to that effect is sent to the output unit 17.

ステップS110では、出力部17は、特徴がない旨を出力する。これにより、作業者は、別のログを入力したり、分類基準を変更する旨を入力する等の動作
を行うことになる。
In step S110, the output unit 17 outputs that there is no feature. As a result, the worker performs an operation such as inputting another log or inputting that the classification standard is changed.

ステップS120にて、出力部17は、ログ名、ログの内容、発生順序、イベント、発生確率(又は非発生確率)、稀少度等を出力する。例えば、上述の場合には、出力部17は、稀少度判定部16から送られてきた情報(ログ3の特徴(ログ3の発生順序9番目のイベントh+が発生しなかったこと)の旨、ログ(3)の内容、上記ログ3の特徴となる発生順序(9番目)、その発生順序のイベント(イベントh+)の発生確率、稀少度)を出力する。   In step S120, the output unit 17 outputs a log name, log contents, occurrence order, event, occurrence probability (or non-occurrence probability), rarity level, and the like. For example, in the above-described case, the output unit 17 indicates the information sent from the rarity degree determination unit 16 (the characteristic of the log 3 (the occurrence of the ninth event h + in the log 3 generation order has not occurred), The contents of the log (3), the occurrence order (9th) which is the characteristic of the log 3, and the occurrence probability (rareness) of the event (event h +) in the occurrence order are output.

これにより、ログを精査する作業者に有益なデバッグ支援情報が提供される。作業者は、上述した特徴を考慮してログ3の精査を行えばよいという指針を得ることができ、デバッグ作業を効率的に行うことができる。例えば、作業者は、ログ3について、9番目のイベントh+が発生しなかったことから、ログ3に関するプログラム実行において、イベント発生に関する関数のうち、発生順序9番目に登場する関数hの引数に0未満のデータ値が用いられることに関して、デバッグ作業を行えば、デバッグを解消できる可能性が高く、デバッグ作業を効率的に行える。   This provides debugging support information that is useful to the operator who examines the log. The operator can obtain a guideline that the log 3 should be scrutinized in consideration of the above-described characteristics, and can perform debugging work efficiently. For example, since the ninth event h + does not occur for the log 3, the operator sets 0 as the argument of the function h that appears in the ninth occurrence order among the functions related to event occurrence in the program execution related to the log 3. With respect to the use of data values less than that, if debugging work is performed, there is a high possibility that debugging can be eliminated, and debugging work can be performed efficiently.

なお、ログを解析する第1の処理として、以下のステップS10からS60までの処理では、データ値(引数値)を考慮しないで、ログ解析を行う。関数の違いや、その関数の実行順序(イベントの発生順序)の違いをデータの違いに優先して考慮してログ解析を行うことで、ログの特徴を正しく抽出できるからである。   As the first process for analyzing the log, the log analysis is performed without considering the data value (argument value) in the following processes from step S10 to S60. This is because log characteristics can be correctly extracted by performing log analysis in consideration of differences in functions and execution order of the functions (event occurrence order) in preference to data differences.

(作用効果)
本実施の形態によれば、先ず、イベントに関するプログラム記述に基づいて、発生順序ごとに、イベントの発生確率や稀少度を計算し、発生順序ごとに、イベントの発生、発生しないことが珍しい(特徴的か)を判定して、変換ログの特徴が存在するか否かを判定する。そして、特徴が存在すれば、その特徴となるイベントに関する情報が出力される。
(Function and effect)
According to the present embodiment, first, the occurrence probability or rareness of an event is calculated for each occurrence order based on the program description related to the event, and it is rare that an event does not occur or does not occur for each occurrence order (feature) And whether or not there is a feature of the conversion log. If there is a feature, information about the event that is the feature is output.

このように、本実施の形態では、先ず、プログラム記述の実行の際に用いられるデータを考慮しないで、計算された稀少度に基づいて、変換ログの特徴が存在するか否かを判定し、特徴が存在しない場合でも、再度、入力するログを考えたり、ログの解析方法を考えたりせず、以下のようにして効率的にログを解析することができる。   Thus, in the present embodiment, first, it is determined whether or not there is a feature of the conversion log based on the calculated rarity without considering the data used in executing the program description. Even when there is no feature, the log can be efficiently analyzed as follows without considering the input log or the log analysis method again.

即ち、上記特徴が存在しない場合でも、イベントに関するプログラムの記述及び該記述の実行の際に用いられるデータに基づいて、前記各イベントの発生確率を、前記発生順序ごとに、計算し、発生確率又は稀少度に基づいて、各ログの特徴となるイベントに関する情報を出力することができる。このため、プログラム記述やイベント発生順序(プログラム記述実行順序)に加えて、データも考慮して、発生確率や稀少度を計算し、これらの発生確率や稀少度に基づいて、ログ特徴を抽出することができるので、プログラム記述や発生順序を考慮してもログ特徴が抽出できない場合でも、速やかに、ログ特徴を抽出することが可能となる。   That is, even when the above feature does not exist, the occurrence probability of each event is calculated for each occurrence order based on the description of the program related to the event and the data used when the description is executed. Based on the rarity level, it is possible to output information about the event that is characteristic of each log. Therefore, in addition to program description and event occurrence order (program description execution order), data is also taken into consideration to calculate the occurrence probability and rarity, and to extract log features based on these occurrence probabilities and rarity Therefore, even when the log feature cannot be extracted even if the program description and the occurrence order are taken into consideration, the log feature can be quickly extracted.

従って、従来技術に比べて、作業者にとって一層デバッグ作業に効率的なログ解析装置、方法を提供することが可能となる。   Therefore, it is possible to provide a log analysis apparatus and method that are more efficient for the debugging work for the worker as compared with the prior art.

(実施の形態1の変形例1)
なお、ログ解析装置は、すべての発生順序において記録されたイベントに関するプログラム記述が上記複数のログ間で共通するか否かを判定する判定部(図示せず)を設けるようにしてもよい。
(Modification 1 of Embodiment 1)
Note that the log analysis apparatus may be provided with a determination unit (not shown) that determines whether or not the program descriptions related to events recorded in all occurrence orders are common among the plurality of logs.

そして、ステップS10の後、判定部(図示せず)が、複数のログについて、上記判定を行い、共通する場合(例えば、図7のケースのような場合であって、複数のログ1〜5において、すべての発生順序1〜18でプログラム記述(f、g等)が共通している場合である)には、ステップS10からステップS60の処理を行わず、ステップS70からS120の処理を行うようにしてもよい。この場合には、プログラム記述だけを考慮してログ解析しても、ログの特徴が抽出できないからである。一方、共通しない場合には、ステップS20からS60の処理を行うようにする。   Then, after step S10, the determination unit (not shown) makes the above determination for a plurality of logs, and in the case where they are common (for example, the case of FIG. In this case, the program descriptions (f, g, etc.) are common to all occurrence orders 1 to 18), the processing from step S10 to step S60 is not performed, and the processing from step S70 to S120 is performed. It may be. In this case, log characteristics cannot be extracted even if log analysis is performed considering only the program description. On the other hand, if not common, the processing from step S20 to S60 is performed.

(実施の形態1の変形例2)
ログ解析装置は、特徴度計算部(図示せず)を設けても良い。特徴度計算部は、計算された各イベントの発生確率に基づいて、各ログ(変換ログ等)の特徴度を計算することができる。上述のフローチャート図においては、例えば、ステップS80で各イベントについての発生確率について計算した後、以下の処理を行うようにしてもよい。
(Modification 2 of Embodiment 1)
The log analysis apparatus may be provided with a feature degree calculation unit (not shown). The feature degree calculation unit can calculate the feature degree of each log (conversion log or the like) based on the calculated occurrence probability of each event. In the flowchart shown above, for example, after calculating the occurrence probability for each event in step S80, the following processing may be performed.

即ち、各イベントについての発生確率が特徴度計算部へ送られる。特徴度計算部は、各ログの発生順序に対して、イベントが発生している場合には、イベントの発生確率を、イベントが発生していない場合には、1−発生確率(非発生確率)を与えたマトリックスを生成する(図17)。   That is, the probability of occurrence for each event is sent to the feature calculation unit. The feature calculation unit calculates the occurrence probability of an event when an event has occurred with respect to the occurrence order of each log, and 1-occurrence probability (non-occurrence probability) when no event has occurred. Is generated (FIG. 17).

そして、特徴度計算部は、図17に示すように、各ログごとに、各発生順序に与えられた発生確率又は非発生確率を乗算することで、特徴度を計算する。例えば、図17のような場合では、ログ1,2、4,5は、0.8であるのに対して、ログ3は0,2となる。このため、この特徴度が出力されれば、ログ3が特徴ログと作業者が判断できる。   Then, as shown in FIG. 17, the feature degree calculation unit calculates the feature degree by multiplying each log by the occurrence probability or non-occurrence probability given to each occurrence order. For example, in the case shown in FIG. 17, the logs 1, 2, 4, and 5 are 0.8, whereas the log 3 is 0 and 2. For this reason, if this characteristic degree is output, the log 3 can be judged as a characteristic log and an operator.

同様に、上述のフローチャート図において、ステップS40で各イベントについての発生確率について計算した後、上記特徴度計算部による各変換ログの特徴度の計算を行って、その特徴度が出力部17により出力されるようにしても良い。また、特徴計算部は、計算された各稀少度に基づいて、各ログの特徴度を計算することも可能である。   Similarly, in the flowchart shown above, after calculating the occurrence probability for each event in step S40, the characteristic degree of each conversion log is calculated by the characteristic degree calculating unit, and the characteristic degree is output by the output unit 17. You may be made to do. The feature calculation unit can also calculate the feature level of each log based on the calculated rarity levels.

上述のフローチャート図においては、例えば、ステップS90で各稀少度について計算した後、以下の処理を行うようにしてもよい。図18を用いて具体的に説明する。稀少度計算部15により計算された各稀少度が特徴度計算部へ送られる。特徴度計算部は、各ログごとに、各発生順序に与えられた稀少度を加算することで、特徴度を計算する。   In the above-described flowchart, for example, the following processing may be performed after calculation for each rarity in step S90. This will be specifically described with reference to FIG. Each rarity calculated by the rarity calculator 15 is sent to the feature calculator. The feature calculation unit calculates the feature by adding the rarity given to each generation order for each log.

例えば、図18のような場合では、ログ1,2、4,5は、0.1であるのに対して、ログ3は0,7となる。このため、この特徴度が出力されれば、ログ3が特徴ログと作業者が判断できる。   For example, in the case shown in FIG. 18, the logs 1, 2, 4, and 5 are 0.1, whereas the log 3 is 0 and 7. For this reason, if this characteristic degree is output, the log 3 can be judged as a characteristic log and an operator.

同様に、上述のフローチャート図において、ステップS50で各イベントについての発生確率について計算した後、上記特徴度計算部による各変換ログの特徴度の計算を行って、その特徴度が出力部17により出力されるようにしても良い。このような特徴度計算部による計算結果を用いれば、ログの特徴を速やかに作業者が知ることができる。   Similarly, in the flowchart shown above, after calculating the occurrence probability for each event in step S50, the characteristic degree of each conversion log is calculated by the characteristic degree calculating unit, and the characteristic degree is output by the output unit 17. You may be made to do. Using the calculation result by such a feature degree calculation unit, the operator can quickly know the feature of the log.

実施の形態2.
実施の形態2では、プログラムの記述や実行順序を考慮してもログ特徴が抽出できない場合でも、メモリ領域への参照も考慮して、ログ解析を行うことで、ログ特徴を抽出するログ解析装置、方法を提供することを目的としている。
Embodiment 2. FIG.
In the second embodiment, even when the log feature cannot be extracted even if the description of the program and the execution order are taken into consideration, the log analysis device that extracts the log feature by performing the log analysis in consideration of the reference to the memory area Aims to provide a way.

図19は、実施の形態2であるログ解析装置の構成を示す図である。図において、実施の形態1の構成と同一構成については同一符号を付してその説明を省略する。実施の形態2のログ解析装置の構成において、実施の形態1のログ解析装置の構成と異なる点は、以下の点にある。   FIG. 19 is a diagram illustrating a configuration of a log analysis apparatus according to the second embodiment. In the figure, the same components as those of the first embodiment are denoted by the same reference numerals, and the description thereof is omitted. The configuration of the log analysis device according to the second embodiment is different from the configuration of the log analysis device according to the first embodiment in the following points.

ログ解析装置は、ログ生成部11を有せず、領域指定部20、ログ分類部21、分類ログ生成部22、特徴度計算部19を有する。   The log analysis apparatus does not include the log generation unit 11, but includes an area specification unit 20, a log classification unit 21, a classification log generation unit 22, and a feature calculation unit 19.

領域指定部20を用いて、イベント発生に用いられるプログラム記述の実行の際に参照可能であるメモリ領域を作業者が指定する。例えば、作業者が対象プログラム中で用いられている配列変数を指定する。これは、その配列変数のメモリ領域に対して、どのような関数が実行の際に参照したかについて、ログとして記録される。このため、例えば、所定の配列変数にバグがありそうだという情報を予め取得している場合には、作業者は、上記配列変数を領域指定部20を用いて指定することで、後述するログ解析により、デバッグ作業に有効な情報が得られる可能性があるからである。   Using the area designating unit 20, an operator designates a memory area that can be referred to when executing a program description used for generating an event. For example, an operator specifies an array variable used in the target program. This is recorded as a log as to what function is referred to during execution for the memory area of the array variable. For this reason, for example, when information indicating that a predetermined array variable is likely to have a bug is acquired in advance, the operator designates the array variable by using the area designating unit 20 to perform log analysis described later. This is because there is a possibility that information useful for debugging work can be obtained.

ログ分類部21は、指定されたメモリ領域に対する参照処理を伴うか否かに基づいて、各イベントを分類する。分類ログ生成部22は、参照処理を伴うメモリ領域ごとに、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成する。具体的な処理は後述する。特徴計算部は、稀少度計算部15により計算された各稀少度に基づいて、各ログの特徴度を計算する。
(ログ解析方法)
図20は、上述したログ解析装置を用いたログ解析方法を示すフローチャート図である。本実施の形態では、一例として、図21に示すようなC言語で記載された対象プログラムを実行させた場合に得られるログの解析方法を具体例として用いながら、説明する。
The log classification unit 21 classifies each event based on whether or not a reference process for the designated memory area is involved. The classification log generation unit 22 generates a plurality of classification logs in which the classified events are recorded in accordance with the generation order for each memory area with reference processing. Specific processing will be described later. The feature calculation unit calculates the feature level of each log based on each rarity level calculated by the rarity level calculation unit 15.
(Log analysis method)
FIG. 20 is a flowchart showing a log analysis method using the log analysis apparatus described above. In this embodiment, as an example, a log analysis method obtained when a target program described in C language as shown in FIG. 21 is executed will be described as a specific example.

上記対象プログラムにおいては、関数main から、関数init、clean、calc をそれぞれ12 回(i=1〜12)、3 回(i=4,8,12)、4 回(i=3,6,9、12)呼び出している。本プログラムでは、関数init、関数cleanがあるメモリ領域を参照した場合、そのメモリ領域に対して、関数calcは参照してはいけないのだが、i=12 の時にvals〔12〕のメモリ領域に対して参照してしまっている。以下、このバグを見つけるのに有効な情報をログ特徴として出力する処理を具体例として用いながら、実施の形態2のログ解析方法について説明する。   In the above target program, the functions init, clean, and calc are executed 12 times (i = 1 to 12), 3 times (i = 4, 8, 12), and 4 times (i = 3, 6, 9) from the function main. 12) Calling. In this program, when a memory area with functions init and clean is referenced, the function calc must not be referenced for that memory area, but for i = 12, the memory area for vals [12] Have been referred to. Hereinafter, the log analysis method according to the second embodiment will be described using a process of outputting information effective for finding the bug as a log feature as a specific example.

先ず、実施の形態1で示すステップS10で、作業者は、対象プログラムの実行により発生した一連のイベントが発生順序に従って、記録されたログを入力部10により入力する。図21に示す対象プログラムを実行した結果のログを図22に示す。実行結果として、このようなログしか得られなかった場合、又は予め、所定の配列変数への参照段階にバグがありそうだという情報を取得していたような場合には、その旨を作業者が入力部10により入力する。これにより、上記その旨が各部に送られ、上述した実施の形態1の処理ではなく、以下のような処理が行われる。このようなログに対しては、従来技術や、実施の形態1のログ解析方法ではログ特徴を抽出できないからである。   First, in step S10 shown in the first embodiment, the operator inputs a recorded log through the input unit 10 in accordance with the order of occurrence of a series of events generated by the execution of the target program. FIG. 22 shows a log of the result of executing the target program shown in FIG. When only such a log is obtained as an execution result, or when information indicating that there is a bug in the reference stage to a predetermined array variable has been acquired in advance, the operator will indicate that fact. Input is performed by the input unit 10. As a result, the fact is sent to each unit, and the following processing is performed instead of the processing of the first embodiment described above. This is because, for such a log, log features cannot be extracted by the conventional technique or the log analysis method of the first embodiment.

ステップS200では、作業者は、プログラム中で用いられている所定の配列変数の領域(以下、単に配列変数という)を領域指定部20を用いて、指定する。   In step S <b> 200, the operator designates a predetermined array variable area (hereinafter simply referred to as an array variable) used in the program, using the area designation unit 20.

図22に示すログが得られたような場合には、例えば、作業者は、領域指定部20を用いて配列変数vals[1]〜[12](プログラムにおいてどの関数や記述コードも共通に参照できるグローバル配列変数) を指定する。指定された全ての配列変数及び入力されたログは、ログ分類部21へ送られる。   When the log shown in FIG. 22 is obtained, for example, the operator uses the area specification unit 20 to refer to array variables vals [1] to [12] (commonly refer to any function or description code in the program). Global array variable). All the specified array variables and the input log are sent to the log classification unit 21.

ステップS210では、ログ分類部21は、各イベントの発生にあたって、領域指定部20により指定された配列変数に対する参照処理を伴うか否かに基づいて、ログ中の各イベントを分類する。図22を用いて説明する。   In step S <b> 210, the log classification unit 21 classifies each event in the log based on whether or not a reference process for the array variable designated by the region designation unit 20 is involved when each event occurs. This will be described with reference to FIG.

例えば、配列変数vals[1]の参照処理を伴うイベントに関するプログラム記述は、init;vals[1]であり、配列変数vals[2]の参照処理を伴うイベントに関するプログラム記述は、init;vals[2]であり、配列変数vals[3]の参照処理を伴うイベントに関するプログラム記述は、init;vals[3]、calc;vals[3]であり、...のようにして、ログ分類部21は、参照している配列変数vals[i](i=1から12)に基づいて、各イベントを分類する。   For example, the program description relating to the event involving the reference processing of the array variable vals [1] is init; vals [1], and the program description relating to the event involving the reference processing of the array variable vals [2] is init; vals [2 ], And the program description regarding the event accompanied by the reference processing of the array variable vals [3] is init; vals [3], calc; vals [3],. . . As described above, the log classification unit 21 classifies each event based on the array variable vals [i] (i = 1 to 12) being referred to.

ステップS220では、分類ログ生成部22は、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成する。図22を用いて具体的に説明する。分類ログ生成部22は、ステップS210にて分類された各イベントに基づいて、配列変数vals[1]の参照処理を伴うイベントに関するプログラム記述を、発生順序に従って、記録したログである分類ログ1を生成する。同様にして、分類ログ生成部22は、配列変数vals[2]の参照処理を伴うイベントに関するプログラム記述を、発生順序に従って、記録したログである分類ログ2を生成する。このようにして、分類ログ生成部22は、複数の分類ログ1〜12を生成する(図23)。そして、分類ログ生成部22は、生成した複数の分類ログをログ変換部13へ送る。   In step S220, the classification log generation unit 22 generates a plurality of classification logs in which the classified events are recorded according to the generation order. This will be specifically described with reference to FIG. Based on each event classified in step S210, the classification log generation unit 22 generates a classification log 1 that is a log in which program descriptions related to events involving reference processing of the array variable vals [1] are recorded in the order of occurrence. Generate. Similarly, the classification log generation unit 22 generates a classification log 2 which is a log in which program descriptions related to events involving reference processing of the array variable vals [2] are recorded in the order of occurrence. In this way, the classification log generation unit 22 generates a plurality of classification logs 1 to 12 (FIG. 23). Then, the classification log generation unit 22 sends the generated plurality of classification logs to the log conversion unit 13.

ステップS230では、ログ変換部13は、各分類ログを、それぞれ、変換ログに変換する。先ず、分類ログ生成部22から複数の分類ログがログ変換部13へ送られると、ログ変換部13は、イベント列生成部12に対して、所定のイベント列を生成するように指示する。イベント列生成部12は、分類ログ生成部22により生成された複数の分類ログのイベント(イベントに関する情報)の傾向に基づいて、イベント列を生成する。例えば、図23のような場合には、イベント列生成部12は、各分類ログに記録されているイベントに関するプログラム記述を発生順序に記録したイベント列(init;vals,clean;vals,calc;vals)を生成する。   In step S230, the log conversion unit 13 converts each classification log into a conversion log. First, when a plurality of classification logs are sent from the classification log generation unit 22 to the log conversion unit 13, the log conversion unit 13 instructs the event sequence generation unit 12 to generate a predetermined event sequence. The event sequence generation unit 12 generates an event sequence based on the tendency of events (information on events) of a plurality of classification logs generated by the classification log generation unit 22. For example, in the case as shown in FIG. 23, the event sequence generator 12 records an event sequence (init; vals, clean; vals, calc; vals) in which program descriptions related to events recorded in each classification log are recorded in the order of occurrence. ) Is generated.

ログ変換部13は、発生順序ごとに、イベント列の各イベントに関するプログラム記述と、各分類ログの各イベントに関するプログラム記述とを比較する。そして、ログ変換部13は、記述が一致する場合には、その記述を用いて変換ログのイベントに関する情報とする。そして、ある発生順序で、分類ログ中にイベントが記録されていない場合には、その旨を示す情報を変換ログのイベントに関する情報とする。   The log conversion unit 13 compares the program description for each event in the event sequence with the program description for each event in each classification log for each occurrence order. If the descriptions match, the log conversion unit 13 uses the description as information about the event of the conversion log. If no event is recorded in the classification log in a certain order of occurrence, information indicating that fact is used as information related to the event in the conversion log.

例えば、分類ログ1の記録順序1番目のイベントに関する記述はinit;valsであり(配列数は考慮しない)、イベント列の発生順序1番目のイベントに関する記述は、init;valsである。このため、ログ変換部13は、変換ログ1の発生順序1番目のイベントに関する情報として、init;valsを用いる。   For example, the description related to the first event in the recording order of the classification log 1 is init; vals (the number of arrays is not considered), and the description related to the first event in the event sequence generation order is init; vals. Therefore, the log conversion unit 13 uses init; vals as information related to the first event in the generation order of the conversion log 1.

また、例えば、分類ログ1の記録順序2番目のイベントが記録されておらず、イベント列の発生順序2番目のイベントに関する記述は、clean;valsである場合には、ログ変換部13は、例えば、変換ログ1の発生順序2番目のイベントに関する情報として、イベントは存在しない旨を示す−マークを用いる。   For example, when the second event in the recording order of the classification log 1 is not recorded and the description regarding the second event in the event sequence occurrence order is “clean; vals”, the log conversion unit 13 As the information related to the second event in the generation order of the conversion log 1, a -mark indicating that no event exists is used.

また、分類ログ3の記録順序2番目のイベントに関する記述はcalc;valsである場合、イベント列の発生順序2番目のイベントに関する記述clean;valsとは一致しないが、イベント列の発生順序3番目のイベントに関する記述calc;valsと一致するので、ログ変換部13は、変換ログ3の発生順序3番目のイベントに関する情報として、calc;valsを用いる。この場合、ログ変換部13は、変換ログ3の発生順序2番目のイベントに関する情報として、イベントは存在しない旨を示す−マークを用いる。   In addition, when the description regarding the second event in the recording order of the classification log 3 is calc; vals, the description regarding the second event in the event sequence occurrence order does not match the description clean; vals, but the event sequence occurrence order is third. The log conversion unit 13 uses calc; vals as information regarding the third event in the generation order of the conversion log 3 because it matches the description calc; vals regarding the event. In this case, the log conversion unit 13 uses a -mark indicating that there is no event as information regarding the second event in the generation order of the conversion log 3.

このような変換規則に従って、ログ変換部13が、分類ログ1〜5についてそれぞれ変換処理した変換ログ1〜5を図24に示す。   FIG. 24 shows conversion logs 1 to 5 in which the log conversion unit 13 performs conversion processing on the classification logs 1 to 5 in accordance with such conversion rules.

なお、ログ変換部13による変換処理は、他にも種々の方法があり、本実施の形態では、上述の方法に特に限定しない。生成された各変換ログはイベント発生確率計算部14に送られる。また、ログ変換部13は、各変換ログの内容は、図示しないレジスタ等に保持しておく。   Note that there are various other methods for the conversion processing by the log conversion unit 13, and in the present embodiment, the conversion method is not particularly limited to the above-described method. Each of the generated conversion logs is sent to the event occurrence probability calculation unit 14. In addition, the log conversion unit 13 holds the contents of each conversion log in a register or the like (not shown).

ステップS240では、イベント発生確率計算部14は、イベントに関する前記プログラムの記述に基づいて、各イベントの発生確率を発生順序ごとに計算する。図24を用いて説明する。図24においては、イベント列の発生順序1番目のinit;valsを用いたイベント(以下、イベントinit)が発生している変換ログ数は、12つであり、当該イベントinitの発生確率は、12(イベントが発生している変換ログ数)/12(全ての変換ログ数)となる。イベント列の発生順序2番目のclean;valsを用いたイベント(以下、イベントclean)が発生している変換ログ数は、3つであり、当該イベントの発生確率は、3(イベントが発生している変換ログ数)/12(全てのログ変換数)となる。   In step S240, the event occurrence probability calculation unit 14 calculates the occurrence probability of each event for each occurrence order based on the description of the program related to the event. This will be described with reference to FIG. In FIG. 24, the number of conversion logs in which an event using the first init; vals in the event sequence is generated (hereinafter referred to as event init) is 12, and the occurrence probability of the event init is 12 (The number of conversion logs in which an event has occurred) / 12 (the number of all conversion logs). The number of conversion logs in which an event using the second clean; vals in the event sequence occurrence order (hereinafter, event clean) has occurred is three, and the probability of occurrence of the event is 3 (the event has occurred) Number of conversion logs) / 12 (the total number of log conversions).

イベント列の発生順序3番目のcalc;valsを用いたイベント(以下、イベントcalc)が発生している変換ログ数は、4つであり、当該イベントの発生確率は、4(イベントが発生している変換ログ数)/12(全ての変換ログ数)となる。   The number of conversion logs in which an event using the third calc; vals of event sequence (hereinafter referred to as event calc) has occurred is four, and the occurrence probability of the event is 4 (the event has occurred) Number of conversion logs) / 12 (number of all conversion logs).

このようにして計算された各イベントの発生確率を図25に示す。計算された各イベントの発生確率は、稀少度計算部15へ送られる。なお、イベント発生確率計算部14は、各イベントの発生確率を、図示しないレジスタ等に保持しておく。   FIG. 25 shows the occurrence probability of each event calculated in this way. The calculated occurrence probability of each event is sent to the rarity calculation unit 15. The event occurrence probability calculation unit 14 holds the occurrence probability of each event in a register (not shown) or the like.

ステップS250では、稀少度計算部15は、イベント発生確率計算部14により計算された各イベントについての発生確率に基づいて、発生頻度の低さ又は非発生の頻度の低さを示す稀少度を計算する。   In step S250, the rarity calculation unit 15 calculates a rarity indicating low occurrence frequency or low occurrence frequency based on the occurrence probability for each event calculated by the event occurrence probability calculation unit 14. To do.

例えば、図24に示すような変換ログ1〜12において、発生順序(1〜3)において、ステップS50と同様にして、イベントが発生した場合には、稀少度R1、イベントが発生しなかった場合には、稀少度R2を計算すると、変換ログ1〜12の全ての発生順序(1〜3)に対して、稀少度は、図26に示す結果となる。計算された各稀少度は、変換ログ及び発生順序と対応づけられて、稀少度判定部16に送られる。   For example, in the conversion logs 1 to 12 as shown in FIG. 24, in the occurrence order (1 to 3), when an event occurs in the same manner as in step S50, the rarity R1 and the event does not occur When the rarity level R2 is calculated, the rarity level is the result shown in FIG. 26 for all occurrence orders (1 to 3) of the conversion logs 1 to 12. Each of the calculated rarity levels is sent to the rarity level determination unit 16 in association with the conversion log and the generation order.

ステップS255では、稀少度判定部16は、稀少度計算部15により計算された各イベントの稀少度に基づいて、各変換ログの特徴が存在するか否かを判定する。存在する場合には、ステップS257へ移行する。存在しない場合には、ステップS260へ移行する。   In step S <b> 255, the rarity level determination unit 16 determines whether or not there is a feature of each conversion log based on the rarity level of each event calculated by the rarity level calculation unit 15. When it exists, it transfers to step S257. If not, the process proceeds to step S260.

存在する場合には、ステップS257にて、変換ログの特徴となるイベントに関する情報が出力部17にて出力される。ここで、特徴となるイベントに関する情報は、実施の形態1の場合と同様に、各部から稀少度判定部16を介して、出力部17に送られる。   If it exists, in step S257, information related to the event that is a feature of the conversion log is output from the output unit 17. Here, as with the case of the first embodiment, the information regarding the event serving as a feature is sent from each unit to the output unit 17 via the rarity degree determination unit 16.

図26の場合には、特徴といえる稀少度(値の大きな稀少度)と、特徴といえない稀少度(値の小さな稀少度)が同等の割合で混在しているので、例えば、稀少度判定部16は、特徴が存在しないと判定する。存在しない場合には、稀少度判定部16は、その旨と、ログ及び発生順序と対応づけられた稀少度とを特徴度計算部19へ送る。   In the case of FIG. 26, the rarity level that is a feature (a rarity level having a large value) and the rarity level that cannot be a feature (a rarity level having a small value) are mixed at an equal ratio. The unit 16 determines that no feature exists. If it does not exist, the rarity determination unit 16 sends the fact and the rarity associated with the log and the generation order to the feature calculation unit 19.

ステップS260では、特徴度計算部19は、計算された各稀少度に基づいて、各ログの特徴度を計算する。図26を用いて具体的に説明する。稀少度計算部15により計算された各稀少度が特徴度計算部19へ送られる。なお、特徴度計算部19には、ログ変換部13から全ての変換ログの内容が送られ、イベント発生確率計算部14から各イベントの発生確率も送られる。   In step S260, the feature calculation unit 19 calculates the feature of each log based on each calculated rarity. This will be specifically described with reference to FIG. Each rarity calculated by the rarity calculator 15 is sent to the feature calculator 19. Note that the contents of all conversion logs are sent from the log conversion unit 13 to the feature degree calculation unit 19, and the occurrence probabilities of each event are also sent from the event occurrence probability calculation unit 14.

特徴度計算部19は、例えば、各ログごとに、各発生順序に与えられた稀少度の総和をとることで、特徴度を計算する。例えば、図26のような場合では、変換ログ1の特徴度は、0(発生順序1の稀少度)+0.12(発生順序2の稀少度)+0.17(発生順序3の稀少度)=0.29となる。このようにして計算された、すべての変換ログ1〜12の特徴を図27に示す。特徴度計算部19は、計算された各特徴度のうち、最大の特徴度を有する変換ログ、変換ログの内容、発生順序における稀少度、特徴度を出力部17に送る。図27に示す場合には、変換ログ12の特徴度が1.08と他の変換ログの特徴度と比較して高いので、変換ログ12に関する情報が出力部17に送られる。   For example, the feature degree calculation unit 19 calculates the feature degree by taking the sum of the rarity levels given to each generation order for each log. For example, in the case as shown in FIG. 26, the feature level of the conversion log 1 is 0 (rareness of occurrence order 1) +0.12 (rareness of occurrence order 2) +0.17 (rareness of occurrence order 3) = 0.29. The characteristics of all the conversion logs 1 to 12 calculated in this way are shown in FIG. The feature degree calculation unit 19 sends the conversion log having the maximum feature degree among the calculated feature degrees, the content of the conversion log, the rarity in the generation order, and the feature degree to the output unit 17. In the case shown in FIG. 27, since the characteristic degree of the conversion log 12 is 1.08, which is higher than the characteristic degree of other conversion logs, information related to the conversion log 12 is sent to the output unit 17.

ステップS265では、出力部17では、最大の特徴度を有する変換ログに関する情報(最大の特徴度を有する変換ログ名、上記変換ログの特徴度、変換ログの内容(ログに記録されているイベント)、各発生順序の稀少度等)が出力される。なお、最大の特徴度を有する変換ログが存在しない場合(全ての変換ログの特徴度が0のような場合)には、出力部17に、特徴度計算部からすべての変換ログに関する情報が送られ、出力部17で、すべての変換ログに関する情報が出力されるようにしてもよい。   In step S265, the output unit 17 includes information related to the conversion log having the maximum characteristic (the conversion log name having the maximum characteristic, the characteristic of the conversion log, and the content of the conversion log (event recorded in the log). , The rarity of each occurrence order, etc.) is output. Note that if there is no conversion log having the maximum feature value (when the feature values of all the conversion logs are 0), information about all the conversion logs is sent to the output unit 17 from the feature value calculation unit. Then, the output unit 17 may output information on all the conversion logs.

これにより、ログを精査する作業者に有益なデバッグ支援情報が提供される。作業者は、上述した特徴を考慮して変換ログ12の精査を行えばよいという指針を得ることができ、デバッグ作業を効率的に行うことができる。   This provides debugging support information that is useful to the operator who examines the log. The operator can obtain a guideline that the conversion log 12 should be scrutinized in consideration of the above-described characteristics, and the debugging work can be efficiently performed.

なお、領域指定部207 では、vals[1]〜vals[12] までの領域を指定したが、代わりに関数calc で参照されるvals[i] を指定して、vals[3]、vals[6]、vals[9]、vals[12] の領域を指定することも可能である。例えば、ステップS265で、最大の特徴度が他の特徴度と比較して、差が少ないような場合や、全ての特徴度の値が同じような場合には、ステップS200で、作業者は、別の配列領域を指定し、上述の処理(ステップS200からS265)を行うことも可能である。   In the area specifying unit 207, the area from vals [1] to vals [12] is specified. Instead, vals [i] referenced by the function calc is specified, and vals [3], vals [6 ], Vals [9], and vals [12] can also be specified. For example, in step S265, if the maximum feature value is smaller than other feature values, or if all feature values are the same, in step S200, the operator It is also possible to specify another arrangement area and perform the above-described processing (steps S200 to S265).

また、実施の形態1の変形例2と同じようにして、特徴度計算部19は、計算された各イベントの発生確率に基づいて、各変換ログの特徴度を計算することもできる。例えば、特徴度計算部19は、各変換ログの発生順序に対して、イベントが発生している場合には、イベントの発生確率を、イベントが発生していない場合には、1−発生確率(非発生確率)を与えたマトリックスを生成する(図28)。   Similarly to the second modification of the first embodiment, the feature calculation unit 19 can also calculate the feature of each conversion log based on the calculated occurrence probability of each event. For example, the feature degree calculation unit 19 determines the occurrence probability of an event when an event has occurred in the order of occurrence of each conversion log, and 1−occurrence probability ( A matrix given non-occurrence probability is generated (FIG. 28).

そして、特徴度計算部19は、実施の形態1の変形例2と同様にして、各変換ログごとに、各発生順序に与えられた発生確率又は非発生確率を乗算することで、特徴度を計算する。そして、計算された特徴度のうち、最小の特徴度の変換ログに関する情報を出力部17に出力するようにしてもよい。   Then, the feature degree calculation unit 19 multiplies the occurrence probability or non-occurrence probability given to each occurrence order for each conversion log in the same manner as the second modification of the first embodiment, thereby calculating the feature degree. calculate. Then, information regarding the conversion log of the minimum characteristic degree among the calculated characteristic degrees may be output to the output unit 17.

また、実施の形態1と同様に、全ての発生順序において、記録されたイベントに関するプログラム記述が複数の分類ログ間で各々共通する場合には、メモリ領域に格納されたデータを考慮し、ステップS70からステップS120の処理を行うことも可能である。   Similarly to the first embodiment, when the program descriptions related to the recorded events are common among the plurality of classification logs in all the occurrence orders, the data stored in the memory area is considered, and step S70 is performed. It is also possible to perform the processing from step S120 to step S120.

(作用効果)
本実施の形態では、発生したイベントに関するプログラム記述の実行の際に参照可能であるメモリ領域を指定し、参照処理を伴うメモリ領域ごとに、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成する。そして、分類ログが変換ログに変換された後、前記イベントに関するプログラムの記述に基づいて、前記各イベントの発生確率を前記発生順序ごとに、計算して、発生確率又は稀少度に基づいて、各変換ログの特徴となるイベントに関する情報を出力することができる。このため、プログラム記述やイベント発生順序(プログラム記述実行順序)に加えて、メモリ領域に対する参照処理も考慮して、発生確率や稀少度を計算し、これらの発生確率や稀少度に基づいて、ログ特徴を抽出することができるので、プログラム記述や発生順序を考慮してもログ特徴が抽出できない場合でも、速やかに、ログ特徴を抽出することが可能となる。
(Function and effect)
In the present embodiment, a memory area that can be referred to when executing a program description related to an event that has occurred is specified, and a plurality of events that are classified according to the occurrence order are recorded for each memory area that accompanies reference processing. Generate a classification log. Then, after the classification log is converted into the conversion log, the occurrence probability of each event is calculated for each occurrence order based on the description of the program related to the event, and based on the occurrence probability or rarity, Information about events that are characteristic of the conversion log can be output. Therefore, in addition to the program description and event occurrence order (program description execution order), the occurrence probability and rarity are calculated in consideration of the reference processing for the memory area, and the log is calculated based on these occurrence probabilities and rarity. Since the feature can be extracted, the log feature can be quickly extracted even if the log feature cannot be extracted even if the program description and the order of occurrence are taken into consideration.

従って、従来技術に比べて、作業者にとって一層デバッグ作業に効率的なログ解析装置、方法を提供することが可能となる。   Therefore, it is possible to provide a log analysis apparatus and method that are more efficient for the debugging work for the worker as compared with the prior art.

(実施の形態2の適用例1)
適用例1では、領域指定部20による指定として、イベントに関する所定プログラム記述の実行の際に参照されるメモリ領域に対する指定を作業者が行った場合について以下に説明する。
(Application Example 1 of Embodiment 2)
In the application example 1, a case where an operator designates a memory area referred to when executing a predetermined program description related to an event as designation by the area designation unit 20 will be described below.

領域指定部20を用いて作業者は、イベント発生に用いられる所定のプログラム記述の実行の際に参照されるメモリ領域を指定する。例えば、対象プログラム中で用いられている所定の関数の引数として用いられる変数を指定する。このように指定するのは、以下の理由のためである。即ち、その変数のメモリ領域に対して、どのような関数記述等が参照したかについて、ログとして記録される。このため、所定関数の引数として用いられる変数の使い方にバグがありそうだという情報を予め取得している場合には、作業者は、上記変数を領域指定部20を用いて指定することで、後述するログ解析により、ログ特徴が抽出できる可能性が高くなるからである。   Using the area designating unit 20, the worker designates a memory area to be referred to when executing a predetermined program description used for generating an event. For example, a variable used as an argument of a predetermined function used in the target program is designated. This designation is for the following reason. That is, what function description or the like has referred to the memory area of the variable is recorded as a log. For this reason, when information indicating that there is a possibility that there is a bug in the use of a variable used as an argument of a predetermined function has been acquired in advance, the operator designates the variable using the area designating unit 20 to be described later. This is because the log analysis is more likely to extract log features.

(ログ解析方法)
上述した適用例1に係るログ解析装置を用いたログ解析方法について、以下に説明する。
(Log analysis method)
A log analysis method using the log analysis apparatus according to Application Example 1 described above will be described below.

先ず、作業者は、プログラムの実行により出力されたログを取得する。例えば、対象プログラムとして、図29に示すプログラムについて考える。本プログラムでは、class A 型の変数a1 とa3 に関し、変数a1 については関数mainと関数gで参照しており、変数a3 については関数main で参照している。また、class A 型の変数a2 を関数f と関数gで参照している。   First, the worker acquires a log output by executing the program. For example, consider the program shown in FIG. 29 as the target program. In this program, with respect to class A type variables a1 and a3, the variable a1 is referred to by the function main and the function g, and the variable a3 is referred to by the function main. Further, the class A type variable a2 is referred to by the function f and the function g.

対象プログラム実行時にトレーサ等により記録されたログを図30に示す。このログにおいては、イベント発生に用いられるプログラム記述と、その記述の実行時に参照したメモリ領域と、メモリ領域に格納したデータ値が発生順序に従って、記録されている。例えば、発生順序3番目のイベントに関する記録は、「a1.height = 10;a1:0x10010, a1.height:0x10010 = 10」である。ここで、3番目のイベントの発生にあたって、プログラム記述「a1.height = 10;」を実行したこと、先頭アドレスが0x10010 である変数a1 を参照したことと、先頭アドレスが0x10010 であるa1.height にデータ値10 を格納したことが記録されている。   FIG. 30 shows a log recorded by a tracer or the like when the target program is executed. In this log, a program description used for generating an event, a memory area referred to when the description is executed, and a data value stored in the memory area are recorded in the order of generation. For example, the record relating to the third event in the occurrence order is “a1.height = 10; a1: 0x10010, a1.height: 0x10010 = 10”. Here, when the third event occurs, the program description “a1.height = 10;” is executed, the variable a1 whose start address is 0x10010 is referenced, and a1.height whose start address is 0x10010 It is recorded that the data value 10 is stored.

適用例1に係るログ解析方法について、図20に示すフローチャート図を用いて以下に説明する。ステップS200では、作業者は、プログラム中で用いられている所定の変数の領域(以下、単に変数という)を領域指定部20を用いて、指定する。   A log analysis method according to Application Example 1 will be described below with reference to a flowchart shown in FIG. In step S <b> 200, the operator designates a predetermined variable area (hereinafter simply referred to as a variable) used in the program using the area designation unit 20.

図30に示すログが得られたような場合において、作業者は、例えば、関数gの引数であるA 型の変数「「a」を指定した場合について考える。図29に示すプログラムでは、関数gの引数であるA 型の変数は、ログ中の内容(g(a1); a1:0x10010、g(a2); a2:0x10020)から変数a1,a2であるとわかるので、作業者は、領域指定部20を用いて、変数領域a1:0x10010、変数領域a2:0x10020を指定する。   In the case where the log shown in FIG. 30 is obtained, for example, the worker considers a case where an A type variable “a” that is an argument of the function g is designated. In the program shown in FIG. 29, the variable of type A that is an argument of the function g is assumed to be variables a1 and a2 from the contents (g (a1); a1: 0x10010, g (a2); a2: 0x10020) in the log. Thus, the operator designates the variable area a1: 0x10010 and the variable area a2: 0x10020 using the area designation unit 20.

なお、作業者が「g((a)」を指定することで、自動的に変数a1,a2を指定できるようにしてもよい。即ち、領域指定部20に、ログ内容が送られる。そして、作業者のg((a)の指定に基づいて、領域指定部20は、ログ内容を探索して、変数領域a1:0x10010、変数領域a2:0x10020を指定するようにしてもよい。指定された全ての変数及び入力されたログは、ログ分類部21へ送られる。   The operator may automatically specify the variables a1 and a2 by specifying “g ((a)”, that is, the log content is sent to the area specifying unit 20. Based on the operator's designation of g ((a)), the area designation unit 20 may search the log contents to designate the variable area a1: 0x10010 and the variable area a2: 0x10020. All the variables and the input logs are sent to the log classification unit 21.

ステップS210では、ログ分類部21は、各イベントの発生にあたって、領域指定部20により指定された変数に対する参照処理を伴うか否かに基づいて、ログ中の各イベントを分類する。図30を用いて説明する。   In step S210, the log classification unit 21 classifies each event in the log based on whether or not a reference process for the variable designated by the area designation unit 20 is involved when each event occurs. This will be described with reference to FIG.

例えば、ログにおいて、変数a1の参照処理を伴うイベントに関するプログラム記述は、図に示すA a1、a1.height、a1.width、g(a1)、area=a1.height*a1.widthであり、また、変数a2の参照処理を伴うイベントに関するプログラムの記述は、A a2、a2.height、a2.width、g(a2)、area=a2.height*a2.widthであるようにして、ログ分類部21は、変数a1、a2への参照処理に基づいて、各イベントを分類する。   For example, in the log, the program description regarding the event accompanied by the reference processing of the variable a1 is A a1, a1.height, a1.width, g (a1), area = a1.height * a1.width shown in the figure, and The description of the program related to the event involving the reference processing of the variable a2 is A a2, a2. Height, a2. Width, g (a2), area = a2. Height * a2.width, and the log classification unit 21 Classifies each event based on the reference processing to the variables a1 and a2.

ステップS220では、分類ログ生成部22は、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成する。図30を用いて具体的に説明する。分類ログ生成部22は、ステップS210にて分類された各イベントに対して、変数a1の参照処理を伴うイベントに関するプログラム記述を、発生順序に従って、記録したログである分類ログ1を生成する。同様にして、分類ログ生成部22は、分類ログ2を生成する。生成された複数の分類ログの一例を図31、図32に示す。分類ログの形態としては、いずれの形態でもよい。そして、分類ログ生成部22は、生成した複数の分類ログをログ変換部13へ送る。   In step S220, the classification log generation unit 22 generates a plurality of classification logs in which the classified events are recorded according to the generation order. This will be specifically described with reference to FIG. The classification log generation unit 22 generates a classification log 1 that is a log in which program descriptions related to events involving reference processing of the variable a1 are recorded in accordance with the generation order for each event classified in step S210. Similarly, the classification log generation unit 22 generates the classification log 2. An example of the generated plurality of classification logs is shown in FIGS. The form of the classification log may be any form. Then, the classification log generation unit 22 sends the generated plurality of classification logs to the log conversion unit 13.

そして、以下、ステップS230以下の処理が行われる。各処理の方法は、実施の形態2で説明したとおりである。この際、イベントの識別にあたっては、データ値の違いは考慮しない。   Thereafter, the processing after step S230 is performed. The method of each process is as described in the second embodiment. At this time, differences in data values are not taken into account when identifying events.

図32に示す場合では、ステップS230にて、イベント列をA a、a.height、a.width、g、area=a.height*a.widthとし、実施の形態2で示したように、分類ログを変換ログに変換し、各イベントの発生確率や稀少度を計算し、ログの特徴を出力するようにしてもよい。図32の場合には、全てのイベントの発生確率は、1なので、S260では、すべての変換ログの特徴度は、0となり、出力部17にすべての変換ログに関する情報が出力されても、作業者は、変換ログの特徴はないと判断できる。その後、実施の形態1のように、引数(a1,a2)のデータ値を考慮して、ステップS70以下の処理を行うようにしてもよい。なお、ステップS220の後、各分類ログの内容を出力部17により出力させ、プログラム記述上の特徴の有無を出力させるようにしてもよい。   In the case shown in FIG. 32, in step S230, the event sequence is A a, a.height, a.width, g, area = a.height * a.width, and classification is performed as shown in the second embodiment. The log may be converted into a conversion log, the occurrence probability or rarity of each event may be calculated, and the log characteristics may be output. In the case of FIG. 32, since the probability of occurrence of all events is 1, in S260, the feature level of all conversion logs is 0, and even if the information about all conversion logs is output to the output unit 17, the work is performed. The person can determine that there is no feature of the conversion log. Thereafter, as in the first embodiment, in consideration of the data values of the arguments (a1, a2), the processing from step S70 onward may be performed. Note that after step S220, the contents of each classification log may be output by the output unit 17, and the presence or absence of features in the program description may be output.

(実施の形態2の適用例2)
適用例2では、領域指定部20による指定として、領域の大きさが共通する複数のメモリ領域に対する指定を作業者が行った場合について以下に説明する。
(Application example 2 of Embodiment 2)
In the application example 2, a case where the operator performs designation for a plurality of memory areas having a common area size as designation by the area designation unit 20 will be described below.

領域指定部20により作業者は、領域の大きさが共通する複数のメモリ領域を指定することができる。例えば、整数型変数領域、文字型変数領域等を指定することができる。ここでは、一例として、class A型変数領域を指定した場合について考える。   The area designating unit 20 allows the operator to designate a plurality of memory areas having a common area size. For example, an integer type variable area, a character type variable area, or the like can be designated. Here, as an example, consider the case where a class A variable area is specified.

(ログ解析方法)
上述した適用例2に係るログ解析装置を用いたログ解析方法について、以下に説明する。
(Log analysis method)
A log analysis method using the log analysis apparatus according to Application Example 2 described above will be described below.

先ず、作業者は、プログラムの実行により出力されたログを取得する。対象プログラム、プログラム実行時に記録されたログは、適用例1の場合と同じものを考える。適用例2に係るログ解析方法について、図20に示すフローチャート図を用いて以下に説明する。   First, the worker acquires a log output by executing the program. The target program and the log recorded during the program execution are the same as those in the first application example. A log analysis method according to Application Example 2 will be described below with reference to a flowchart shown in FIG.

ステップS200では、作業者は、プログラム中で用いられている所定の変数の領域(以下、単に変数という)を領域指定部20を用いて、指定する。   In step S <b> 200, the operator designates a predetermined variable area (hereinafter simply referred to as a variable) used in the program using the area designation unit 20.

図30に示すログが得られたような場合には、作業者は、例えば、class A型変数領域を指定した場合について考える。図29に示すプログラムでは、class A 型の変数は、ログ中の内容(A a1; a1:0x10010、A a2; a2:0x10020、A a3; a2:0x10030、)から変数a1,a2,a3であるとわかるので、作業者は、領域指定部20を用いて、変数領域a1:0x10010、変数領域a2:0x10020,変数領域a3:0x10030を指定する。   When the log shown in FIG. 30 is obtained, the worker considers, for example, the case where a class A type variable area is designated. In the program shown in FIG. 29, class A type variables are variables a1, a2, and a3 from the contents (A a1; a1: 0x10010, A a2; a2: 0x10020, A a3; a2: 0x10030, and so on) in the log. Therefore, the operator uses the area designating unit 20 to designate the variable area a1: 0x10010, the variable area a2: 0x10020, and the variable area a3: 0x10030.

なお、適用例1と同じく、作業者が「class A型」を指定することで、自動的に変数a1,a2、a3を指定できるようにしてもよい。即ち、領域指定部20に、ログ内容が送られる。そして、作業者の指定に基づいて、領域指定部20は、ログ内容を探索して、変数領域a1:0x10010、変数領域a2:0x10020,変数領域a3:0x10030,を指定するようにしてもよい。指定された全ての変数及び入力されたログは、ログ分類部21へ送られる。   As in Application Example 1, the variables a1, a2, and a3 may be automatically specified by the operator specifying “class A type”. In other words, the log contents are sent to the area designating unit 20. Then, based on the operator's specification, the area specifying unit 20 may search the log contents and specify the variable area a1: 0x10010, the variable area a2: 0x10020, and the variable area a3: 0x10030. All the specified variables and the input log are sent to the log classification unit 21.

ステップS210では、ログ分類部21は、各イベントの発生にあたって、領域指定部20により指定された変数に対する参照処理を伴うか否かに基づいて、ログ中の各イベントを分類する。図30を用いて説明する。   In step S210, the log classification unit 21 classifies each event in the log based on whether or not a reference process for the variable designated by the area designation unit 20 is involved when each event occurs. This will be described with reference to FIG.

図30に示すログにおいて、変数a1の参照処理を伴うイベントに関するプログラム記述は、図に示すA a1、a1.height、a1.width、g(a1)、area=a1.height*a1.widthであり、また、変数a2の参照処理を伴うイベントに関するプログラムの記述は、A a2、a2.height、a2.width、g(a2)、area=a2.height*a2.widthであり、変数a3の参照処理を伴うイベントに関するプログラムの記述は、A a3、a3.height、area=a3.height*a3.widthであるようにして、ログ分類部21は、変数a1、a2、a3への参照処理に基づいて、各イベントを分類する。   In the log shown in FIG. 30, the program description regarding the event accompanied by the reference processing of the variable a1 is A a1, a1.height, a1.width, g (a1), area = a1.height * a1.width shown in the figure. In addition, the description of the program related to the event involving the reference processing of the variable a2 is A a2, a2. Height, a2.width, g (a2), area = a2.height * a2.width, and the reference processing of the variable a3 The description of the program related to the event is A a3, a3.height, area = a3.height * a3.width, and the log classification unit 21 is based on the reference processing to the variables a1, a2, and a3. Categorize each event.

ステップS220では、分類ログ生成部22は、分類されたイベントを、発生順序に従って、記録した複数の分類ログ(1〜3)を生成する。生成された複数の分類ログの一例を図33、図34に示す。分類ログの形態としては、いずれの形態でもよい。そして、分類ログ生成部22は、生成した複数の分類ログをログ変換部13へ送る。そして、以下、ステップS230以下の処理が行われる。各処理の方法は、実施の形態2で説明したとおりである。   In step S220, the classification log generation unit 22 generates a plurality of classification logs (1 to 3) in which the classified events are recorded according to the generation order. An example of the generated plurality of classification logs is shown in FIGS. The form of the classification log may be any form. Then, the classification log generation unit 22 sends the generated plurality of classification logs to the log conversion unit 13. Thereafter, the processing after step S230 is performed. The method of each process is as described in the second embodiment.

この際、イベントの識別にあたっては、データ値の違いは考慮しない。図34に示す場合では、ステップS230にて、イベント列をA a、a.height、a.width、g、area=a.height*a.widthとし、実施の形態2で示したように、分類ログを変換ログに変換し、各イベントの発生確率や稀少度を計算し、ログの特徴を出力するようにしてもよい。図の場合には、稀少度判定部16により、変換ログの特徴が存在すると判断される(又は出力部17により変換ログ3の特徴度が最大である旨が出力される)。即ち、作業者は、変換ログ3で、a.widthを用いたイベントと、gを用いたイベントが非発生なのが珍しいことがわかる。   At this time, differences in data values are not taken into account when identifying events. In the case shown in FIG. 34, in step S230, the event sequence is A a, a.height, a.width, g, area = a.height * a.width, and classification is performed as shown in the second embodiment. The log may be converted into a conversion log, the occurrence probability or rarity of each event may be calculated, and the log characteristics may be output. In the case of the figure, the rarity level determination unit 16 determines that there is a feature of the conversion log (or the output unit 17 outputs that the feature level of the conversion log 3 is maximum). That is, the operator can convert a. It can be seen that it is rare that an event using width and an event using g do not occur.

そして、作業者は、変換ログ3を調べ、gを用いたイベントが非発生なのは、areaを計算するのに、関数gを使わずに、メイン関数の中で計算しているので、プログラミングに間違いはないと判断する。一方、作業者は、a.widthを用いたイベントが発生していないのは、areaを計算するのに、heightの値しか設定されていないので、プログラミングに間違いがあると判断できる。なお、ステップS220の後、各分類ログを出力部17により出力させ、プログラム記述上の特徴の有無を出力させるようにしてもよい。   Then, the operator examines the conversion log 3 and the reason that the event using g does not occur is that the area is calculated without using the function g. Judge that there is no. On the other hand, the worker can: a. It can be determined that there is an error in programming because no event using width occurs because only the height value is set to calculate area. Note that after step S220, each classification log may be output by the output unit 17 to output the presence or absence of features in the program description.

(実施の形態2の変形例)
なお、稀少度判定部16は、ログの特徴を判定する場合に、所定の基準値に従って、ログの特徴が存在するか否かを判定することも可能である。この所定の基準値は、作業者が入力部10により入力することで、稀少度判定部16が保持するようにできる。例えば、図20に示すステップS255では、所定の基準値0.6以上である稀少度を有するログが存在する場合には、ログの特徴と判定することも可能である。
(Modification of Embodiment 2)
The rarity determination unit 16 can also determine whether or not a log feature exists according to a predetermined reference value when determining the log feature. This predetermined reference value can be held by the rarity degree determination unit 16 when the operator inputs the value using the input unit 10. For example, in step S255 shown in FIG. 20, if there is a log having a rarity level equal to or higher than a predetermined reference value 0.6, it can be determined as a log feature.

また、ログ解析装置は、ソート部を設けるようにしてもよい。即ち、ソート部は、稀少度計算部15により計算された稀少度のうち、上記所定の基準値を超える稀少度が複数あるような場合には、稀少度の高い順にソートする。そして、ソート部は、ソートした稀少度の高い順に、イベントに関する情報を出力部17に出力させるようにしてもよい。これにより、作業者は、ソートされた順にデバッグの作業を行うことができ、デバッグ作業の効率化が図れる。   Further, the log analysis apparatus may be provided with a sorting unit. In other words, when there are a plurality of rarities exceeding the predetermined reference value among the rarities calculated by the rarity calculator 15, the sorting unit sorts the rarities in descending order. Then, the sorting unit may cause the output unit 17 to output information on events in the sorted order of the rarity. Thereby, the operator can perform debugging work in the sorted order, and the efficiency of debugging work can be improved.

また、ソート部は、特徴度計算部により計算された各特徴度のうち、所定の基準値を超える特徴度が複数あるような場合には、特徴度の高い順にソートすることも可能である。そして、ソート部は、ソートした特徴度の高い順にログに関する情報を出力部17に出力させるようにしてもよい。   In addition, the sorting unit can sort the features in descending order when the feature values calculated by the feature value calculation unit include a plurality of feature values exceeding a predetermined reference value. Then, the sorting unit may cause the output unit 17 to output information related to the log in descending order of the feature level.

(ログ解析プログラムの実施の形態)
なお、上記ログ解析方法で説明したステップは、コンピュータで、ログ解析プログラムを実行することで実現できる。
(Embodiment of log analysis program)
The steps described in the log analysis method can be realized by executing a log analysis program on a computer.

このコンピュータの構成を図35に示す。コンピュータは、種々のデータ等、ログ解析プログラム1,ログ解析プログラム2を格納するハードディスク100と、ハードディスク100から読み出したデータやCPU130による演算結果を一時的に格納するメモリ120と、種々の演算処理を行うCPU130と、所定のデータを入出力する入出力部110と、これらのデバイスを相互に接続するバス140とを有する。以下、ログ解析プログラム1,ログ解析プログラム2の場合に分けて説明する。   The configuration of this computer is shown in FIG. The computer performs various operations such as a hard disk 100 that stores the log analysis program 1 and the log analysis program 2 such as various data, a memory 120 that temporarily stores data read from the hard disk 100 and operation results by the CPU 130. It has a CPU 130 to perform, an input / output unit 110 for inputting / outputting predetermined data, and a bus 140 for connecting these devices to each other. Hereinafter, the log analysis program 1 and the log analysis program 2 will be described separately.

(ログ解析プログラム1)
入出力部110は、所定のデータを入出力するものであり、例えば、データの内容を表示するディスプレイ装置、各種のデータをキー操作により入力するためのキーボードやマウス、データ情報を印字するプリンタ装置等の入出力デバイスがあげられる。
(Log analysis program 1)
The input / output unit 110 inputs and outputs predetermined data. For example, a display device that displays data contents, a keyboard and mouse for inputting various data by key operations, and a printer device that prints data information I / O devices such as

入出力部110は、入力部110a及び出力部110bの機能を有する。作業者は、入力部110aを用いて、図示しないデバッガから出力されたログを入力する。出力部110bは、各イベントの発生確率又は稀少度に基づいて、各ログや各変換ログの特徴となるイベントに関する情報を出力する。   The input / output unit 110 has functions of an input unit 110a and an output unit 110b. The operator inputs a log output from a debugger (not shown) using the input unit 110a. The output unit 110b outputs information on events that are characteristic of each log and each conversion log based on the occurrence probability or rareness of each event.

CPU130は、ハードデスク100にインストールされたログ解析プログラム1を実行することにより、種々の処理部として機能するものである。具体的には、CPU130は、同一のデバッグ対象プログラム(以下、対象プログラム)を複数回繰り返し実行することにより、発生したイベントを、実行回ごとに発生順序に従ってそれぞれ記録された複数のログを生成するログ生成部130gと、上記複数のログをそれぞれ構成するイベントに基づいて、イベントを前記発生順序で記録したイベント列を生成するイベント列生成部130aと、前記イベント列のイベントと、前記各ログを構成するイベントとをそれぞれ比較し、比較結果に基づいて、前記複数のログをそれぞれ変換ログに変換するログ変換部130bと、前記イベントに関する前記対象プログラムの記述に基づいて、前記各イベントの発生確率を前記発生順序ごとに計算するイベント発生確率計算部130cと、計算された発生確率に基づいて、発生頻度の低さを示す稀少度を計算する稀少度計算部130dと、計算された稀少度に基づいて、変換ログの特徴が存在するか否かを判定する稀少度判定部130eとして機能する。また、CPU130は、データ値分類部130iの機能も有する。   The CPU 130 functions as various processing units by executing the log analysis program 1 installed in the hard desk 100. Specifically, the CPU 130 repeatedly executes the same debug target program (hereinafter referred to as the target program) a plurality of times, thereby generating a plurality of logs in which the generated events are recorded according to the generation order for each execution time. A log generation unit 130g, an event sequence generation unit 130a that generates an event sequence in which events are recorded in the order of occurrence based on the events that constitute each of the plurality of logs, an event in the event sequence, and each log Each event to be configured is compared, and based on the comparison result, the log conversion unit 130b that converts each of the plurality of logs into a conversion log, and the occurrence probability of each event based on the description of the target program related to the event Event occurrence probability calculation unit 130c for calculating the occurrence order for each occurrence order, and A rarity calculation unit 130d that calculates a rarity indicating low occurrence frequency based on the occurrence probability, and a rarity determination that determines whether or not a feature of the conversion log exists based on the calculated rarity It functions as the unit 130e. The CPU 130 also has a function of a data value classification unit 130i.

データ値分類部130iは、稀少度判定部130eにより特徴が存在しないと判断された場合、イベントに関するプログラムの記述の実行の際に用いられるデータに基づいて、各イベントについて、それぞれ、所定の分類基準に従って、分類情報を生成する。そして、データ値分類部130iは、各イベントに対して、生成された分類情報を付与する。   When the rareness determination unit 130e determines that the feature does not exist, the data value classification unit 130i uses a predetermined classification criterion for each event based on data used when executing the description of the program related to the event. According to the above, classification information is generated. Then, the data value classifying unit 130i gives the generated classification information to each event.

そして、上述したイベント発生確率計算部130cは、イベントに関するプログラムの記述と、与えられた分類情報に基づいて、イベントの発生確率を発生順序ごとに計算する機能も有する。そして、上述した稀少度計算部130dは、計算された発生確率に基づいて、発生頻度の低さを示す稀少度を計算する機能も有する。上述した稀少度判定部130eは、稀少度計算部130dにより計算された稀少度に基づいて、ログの特徴が存在するか否かを判定する機能も有する。   The event occurrence probability calculation unit 130c described above also has a function of calculating the event occurrence probability for each occurrence order based on the description of the program related to the event and given classification information. The rarity level calculation unit 130d described above also has a function of calculating a rarity level indicating a low occurrence frequency based on the calculated occurrence probability. The rarity level determination unit 130e described above also has a function of determining whether or not a log feature exists based on the rarity level calculated by the rarity level calculation unit 130d.

上記構成を有するコンピュータのハードウェアにインストールされたログ解析プログラム1は、本実施の形態では、以下の手順により実行することができる。先ず、作業者は、対象プログラムの動作により出力されたログを入力部110aにより入力する。すると、入力部110aにより入力された旨がバス140を介して(以下、バスを介しては省略する)CPU130に送られる。CPU130は、ハードウェア100からログ解析プログラム1を読み出し解読することで、上述したCPU130の各部の機能を実行可能な状態に設定する。   In this embodiment, the log analysis program 1 installed on the computer hardware having the above configuration can be executed by the following procedure. First, the worker inputs the log output by the operation of the target program through the input unit 110a. Then, the fact that it has been input by the input unit 110a is sent to the CPU 130 via the bus 140 (hereinafter omitted through the bus). The CPU 130 reads the log analysis program 1 from the hardware 100 and decodes it, thereby setting the functions of the respective units of the CPU 130 described above to be executable.

次に、CPU130(ログ生成部130g)は、入力されたログから複数のログを生成する。具体的には、入力されたログは、CPU130に送られる。CPU130(ログ生成部130g)は、入力されたログに基づいて、同一の対象プログラムを複数回繰り返し実行することにより、発生したイベントを、実行回ごとに発生順序に従ってそれぞれ記録された複数のログを生成する。   Next, the CPU 130 (log generation unit 130g) generates a plurality of logs from the input logs. Specifically, the input log is sent to the CPU 130. The CPU 130 (log generation unit 130g) repeatedly executes the same target program a plurality of times based on the input log, thereby generating a plurality of logs each recording an event that has occurred according to the generation order for each execution time. Generate.

次に、CPU130(イベント列生成部130a)は、ログ生成部130gにより生成された複数のログ中のイベントの傾向に基づいて、イベントを発生順序で記録したイベント列を生成する。   Next, the CPU 130 (event sequence generation unit 130a) generates an event sequence in which events are recorded in the order of occurrence based on the tendency of events in a plurality of logs generated by the log generation unit 130g.

次に、CPU130(ログ変換部130b)は、生成されたイベント列のイベント(イベントに関する情報)と、各ログを構成するイベント(イベントに関する情報)とをそれぞれ比較し、比較結果に基づいて、各ログをそれぞれ変換ログに変換する。   Next, the CPU 130 (log conversion unit 130b) compares the event (information related to the event) of the generated event sequence with the event (information related to the event) constituting each log, and based on the comparison result, Each log is converted into a conversion log.

次に、CPU130(イベント発生確率計算部130c)は、イベントに関する対象プログラムの記述に基づいて、各イベントの発生確率を発生順序ごとに計算する。   Next, the CPU 130 (event occurrence probability calculation unit 130c) calculates the occurrence probability of each event for each occurrence order based on the description of the target program related to the event.

次に、CPU130(稀少度計算部130e)は、イベント発生確率計算部130cにより計算された各イベントについての発生確率に基づいて、イベントの発生頻度の低さ又はイベントの非発生の頻度の低さを示す稀少度を計算する。   Next, the CPU 130 (rareness calculation unit 130e) determines whether the event occurrence frequency is low or the event non-occurrence frequency is low based on the occurrence probability for each event calculated by the event occurrence probability calculation unit 130c. Calculate the rarity indicating.

次に、CPU130(稀少度判定部130e)は、稀少度計算部130dにより計算された各イベントの稀少度に基づいて、各変換ログの特徴が存在するか否かを判定する。存在すると判定された場合には、その旨が出力部110bに送られる。出力部110bは、各変換ログの特徴となるイベントに関する情報を出力する。一方、存在しないと判定された場合には、CPU130(データ値分類部130i)は、イベントに関する対象プログラムの記述の実行の際に用いられるデータに基づいて、各イベントについて、それぞれ、所定の分類基準に従って、分類情報を生成する。そして、データ値分類部130iは、各イベントに対して、生成された分類情報を付与する。   Next, the CPU 130 (rareness determination unit 130e) determines whether or not a feature of each conversion log exists based on the rarity of each event calculated by the rarity calculation unit 130d. If it is determined that it exists, a message to that effect is sent to the output unit 110b. The output unit 110b outputs information related to an event that is a feature of each conversion log. On the other hand, if it is determined that the event does not exist, the CPU 130 (data value classification unit 130i) determines a predetermined classification criterion for each event based on the data used when executing the description of the target program related to the event. According to the above, classification information is generated. Then, the data value classifying unit 130i gives the generated classification information to each event.

次に、CPU130(イベント発生確率計算部130c)は、イベントに関する対象プログラムの記述と、与えられた分類情報に基づいて、イベントの発生確率を発生順序ごとに計算する。    Next, the CPU 130 (event occurrence probability calculation unit 130c) calculates the event occurrence probability for each occurrence order based on the description of the target program related to the event and given classification information.

次に、CPU130(稀少度計算部130d)は、イベント発生確率計算部130cにより計算された各イベントについての発生確率に基づいて、発生頻度の低さ又は非発生の頻度の低さを示す稀少度を計算する。   Next, the CPU 130 (rareness calculation unit 130d) indicates a rarity level indicating a low occurrence frequency or a low occurrence frequency based on the occurrence probability for each event calculated by the event occurrence probability calculation unit 130c. Calculate

次に、CPU130(稀少度判定部130e)は、稀少度計算部130dにより計算された各イベントの稀少度に基づいて、各ログの特徴が存在するか否かを判定する。存在しない場合には、その旨が出力部110bに送られ、出力部110bは、特徴がない旨を出力する。一方、存在する場合には、CPU130は、ログの特徴となるイベントに関す
る情報を出力部110bに送り、出力部110bは、送られた情報を出力する。
Next, the CPU 130 (rareness determination unit 130e) determines whether or not there is a feature of each log based on the rarity of each event calculated by the rarity calculation unit 130d. If it does not exist, the fact is sent to the output unit 110b, and the output unit 110b outputs that there is no feature. On the other hand, when it exists, CPU130 sends the information regarding the event used as the characteristic of a log to the output part 110b, and the output part 110b outputs the sent information.

なお、CPU130は、すべての発生順序において記録されたイベントに関するプログラム記述が上記複数のログ間で共通するか否かを判定する判定部(図示せず)の機能を有するようにしてもよい。   Note that the CPU 130 may have a function of a determination unit (not shown) that determines whether or not a program description related to events recorded in all occurrence orders is common among the plurality of logs.

そして、作業者によるログ入力の後、CPU130(判定部)が、複数のログにおいて、それぞれ、上記判定を行い、共通する場合には、CPU(データ値分類部130i)による分類情報の生成処理以降の処理を行うようにしてもよい。一方、共通しない場合には、CPU130がログ生成部130gによる処理から稀少度判定部130eによる判定処理を行うようにしてもよい(図4のステップS15からステップS60)。   Then, after the log input by the operator, the CPU 130 (determination unit) performs the above-described determination in each of the plurality of logs, and in the case of common, the classification information generation processing by the CPU (data value classification unit 130i) and thereafter. You may make it perform the process of. On the other hand, if not common, the CPU 130 may perform the determination process by the rarity determination unit 130e from the process by the log generation unit 130g (step S15 to step S60 in FIG. 4).

また、CPU130は、計算された各イベントの発生確率に基づいて、各変換ログの特徴の程度を示す特徴度を計算する特徴度計算部130jの機能も有するようにしてもよい。CPU130(特徴度計算部130j)は、計算された各イベントの発生確率に基づいて、各ログの特徴度を計算する。CPU130(特徴度計算部130j)は計算した各ログの特徴度を出力部110bへ送る。出力部110bは、各変換ログの特徴度を出力する。   The CPU 130 may also have a function of a feature degree calculation unit 130j that calculates a feature degree indicating the degree of feature of each conversion log based on the calculated occurrence probability of each event. The CPU 130 (feature degree calculating unit 130j) calculates the characteristic degree of each log based on the calculated occurrence probability of each event. The CPU 130 (feature degree calculation unit 130j) sends the calculated characteristic degree of each log to the output unit 110b. The output unit 110b outputs the feature level of each conversion log.

このような本実施の形態に係るログ解析プログラムによれば、対象プログラム記述やイベント発生順序(対象プログラム記述実行順序)に加えて、データも考慮して、発生確率や稀少度を計算し、これらの発生確率や稀少度に基づいて、ログ特徴を抽出することができるので、対象プログラム記述や発生順序を考慮してもログ特徴が抽出できない場合でも、速やかに、ログ特徴を抽出することが可能となるという作用効果を奏するログ解析装置、ログ解析方法を汎用コンピュータで容易に実現することができる。   According to such a log analysis program according to the present embodiment, in addition to the target program description and the event occurrence order (target program description execution order), the occurrence probability and the rarity are calculated in consideration of the data. Log features can be extracted based on the occurrence probability and rarity of log, so even if log features cannot be extracted even if the target program description and occurrence order are considered, log features can be extracted quickly The log analysis device and the log analysis method that achieve the operational effect can be easily realized by a general-purpose computer.

(ログ解析プログラム2)
入出力部110は、入力部110a及び出力部110bの機能を有する。作業者は、入力部110aを用いて、図示しないデバッガから出力されたログを入力する。
(Log analysis program 2)
The input / output unit 110 has functions of an input unit 110a and an output unit 110b. The operator inputs a log output from a debugger (not shown) using the input unit 110a.

ここで、入出力部110は、イベントに関する対象プログラム記述の実行の際に参照可能であるメモリ120の領域を指定する領域指定部110cの機能を有する。   Here, the input / output unit 110 has a function of an area designation unit 110c that designates an area of the memory 120 that can be referred to when executing the target program description related to the event.

作業者は、入出力部110(領域指定部110)を用いて、イベントに関する所定の対象プログラム記述の実行の際に参照されるメモリ120の領域や、領域の大きさが共通する複数のメモリ120の領域を指定することができる。   The operator uses the input / output unit 110 (region specifying unit 110) to refer to an area of the memory 120 that is referred to when executing a predetermined target program description related to an event, or a plurality of memories 120 having a common area size. Can be specified.

出力部110bは、各イベントの発生確率又は稀少度に基づいて、各ログや各変換ログの特徴となるイベントに関する情報を出力する。また、出力部110bは、特徴度計算部130jにより計算された各変換ログの特徴度を出力する。   The output unit 110b outputs information on events that are characteristic of each log and each conversion log based on the occurrence probability or rareness of each event. The output unit 110b outputs the feature level of each conversion log calculated by the feature level calculation unit 130j.

CPU130は、領域指定部110cによる指定入力により、指定されたメモリ領域に対する参照処理を伴うか否かに基づいて、各イベントを分類するログ分類部130fと、参照処理を伴うメモリ領域ごとに、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成する分類ログ生成部130hと、各分類ログをそれぞれ構成するイベントに基づいて、イベントを発生順序で記録したイベント列を生成するイベント列生成部130aと、イベント列のイベントと、前記各分類ログを構成するイベントとをそれぞれ比較し、比較結果に基づいて、前記各分類ログをそれぞれ変換ログに変換するログ変換部130bと、イベントに関する対象プログラムの記述に基づいて、各イベントの発生確率を前記発生順序ごとに、計算するイベント発生確率計算部130cと、発生確率に基づいて、発生頻度の低さを示す稀少度を計算する稀少度計算部130dの機能を有する。また、CPU130は、計算された各イベントの発生確率に基づいて、各変換ログの特徴度を示す特徴度をそれぞれ計算する特徴度計算部130jの機能を有する。   The CPU 130 classifies each event according to a designation input by the area designation unit 110c based on whether or not a reference process for the designated memory area is involved, and a memory area with a reference process. An event that generates an event sequence in which events are recorded in the order of occurrence based on the event that constitutes each classification log, and a classification log generation unit 130h that generates a plurality of classification logs in which the recorded events are recorded according to the occurrence order A column generation unit 130a, a log conversion unit 130b that compares the events of the event sequence with the events that constitute the classification logs, and converts the classification logs into conversion logs based on the comparison results, and an event Based on the description of the target program regarding the occurrence probability of each event for each occurrence order Having an event occurrence probability calculating unit 130c, based on the occurrence probability, the function of the rare calculation unit 130d for calculating a rare degree indicating a low frequency of occurrence that. Further, the CPU 130 has a function of a feature degree calculation unit 130j that calculates a feature degree indicating the feature degree of each conversion log based on the calculated occurrence probability of each event.

上記構成を有するコンピュータのハードウェア100にインストールされたログ解析プログラム2は、本実施の形態では、以下の手順により実行することができる。   In this embodiment, the log analysis program 2 installed in the computer hardware 100 having the above configuration can be executed by the following procedure.

先ず、作業者は、対象プログラムの動作により出力されたログを入力部110aにより入力する。すると、入力部110aにより入力された旨がバス140を介して(以下、バスを介しては省略する)CPU130に送られる。CPU130は、ハードウェア100からログ解析プログラム2を読み出し、上述したCPU130の各部の機能を実行可能な状態に設定する。   First, the worker inputs the log output by the operation of the target program through the input unit 110a. Then, the fact that it has been input by the input unit 110a is sent to the CPU 130 via the bus 140 (hereinafter omitted through the bus). The CPU 130 reads the log analysis program 2 from the hardware 100 and sets it in a state where the functions of the respective units of the CPU 130 described above can be executed.

次に、作業者は、対象プログラム中で用いられている所定の変数の領域を入出力部110(領域指定部110c)を用いて、入力(指定)する。次に、CPU130(ログ分類部130f)は、各イベントの発生にあたって、領域指定部110cにより指定された変数に対する参照処理を伴うか否かに基づいて、ログ中の各イベントを分類する。   Next, the worker inputs (specifies) a predetermined variable area used in the target program using the input / output unit 110 (area specifying unit 110c). Next, the CPU 130 (log classification unit 130f) classifies each event in the log on the basis of whether or not a reference process for the variable specified by the area specifying unit 110c is involved when each event occurs.

次に、CPU130(分類ログ生成部130h)は、分類されたイベントを、発生順序に従って、記録した複数の分類ログを生成する。次に、CPU130(ログ変換部130b)は、各分類ログを、それぞれ、変換ログに変換する。このCPU130の処理について、以下に詳細に説明する。    Next, the CPU 130 (classification log generation unit 130h) generates a plurality of classification logs in which the classified events are recorded in the order of occurrence. Next, the CPU 130 (log conversion unit 130b) converts each classification log into a conversion log. The processing of the CPU 130 will be described in detail below.

先ず、ログ変換部130bは、イベント列生成部130aに、所定のイベント列を生成するように指示する。イベント列生成部130aは、ログ生成部130gにより生成された複数のログのイベント(イベントに関する情報)の傾向に基づいて、イベント列を生成する。   First, the log conversion unit 130b instructs the event sequence generation unit 130a to generate a predetermined event sequence. The event sequence generation unit 130a generates an event sequence based on the tendency of events (information about events) of a plurality of logs generated by the log generation unit 130g.

ログ変換部130bは、発生順序ごとに、イベント列の各イベントに関する対象プログラム記述と、各ログの各イベントに関する対象プログラム記述とを比較する。そして、ログ変換部130bは、記述が一致する場合には、その記述を用いて変換ログのイベントに関する情報とする。そして、ある発生順序で、ログ中にイベントが記録されていない場合には、その旨を示す情報を変換ログのイベントに関する情報とする。   The log conversion unit 130b compares the target program description related to each event in the event sequence with the target program description related to each event in each log for each occurrence order. If the descriptions match, the log conversion unit 130b uses the description as information related to the event of the conversion log. If no event is recorded in the log in a certain order of occurrence, information indicating that is used as information related to the event in the conversion log.

次に、CPU130(イベント発生確率計算部130c)は、イベントに関する上記対象プログラムの記述に基づいて、各イベントの発生確率を発生順序ごとに計算する。   Next, the CPU 130 (event occurrence probability calculation unit 130c) calculates the occurrence probability of each event for each occurrence order based on the description of the target program regarding the event.

次にCPU130(稀少度計算部130d)は、イベント発生確率計算部130cにより計算された各イベントについての発生確率に基づいて、発生頻度の低さ又は非発生の頻度の低さを示す稀少度を計算する。   Next, the CPU 130 (rareness calculation unit 130d) calculates the rarity indicating low occurrence frequency or low occurrence frequency based on the occurrence probability for each event calculated by the event occurrence probability calculation unit 130c. calculate.

次にCPU130(稀少度判定部130e)は、稀少度計算部130dにより計算された各イベントの稀少度に基づいて、各変換ログの特徴が存在するか否かを判定する。存在する場合には、CPU130は変換ログの特徴となるイベントに関する情報を出力部110bに送り、上記情報を出力するように指示する。出力部110bは、上記情報を出力する。   Next, the CPU 130 (rareness determination unit 130e) determines whether or not a feature of each conversion log exists based on the rarity of each event calculated by the rarity calculation unit 130d. If it exists, the CPU 130 sends information related to the event that is characteristic of the conversion log to the output unit 110b, and instructs the output unit 110b to output the information. The output unit 110b outputs the information.

存在しない場合には、CPU130(特徴度計算部130j)は、計算された各稀少度に基づいて、各ログの特徴度を計算する。計算された各ログの特徴度は出力部110bに送られ、上記特徴度を出力するように、CPU130は出力部110bに対して指示する。出力部110bは、各ログの特徴度を出力する。なお、CPU130(特徴度計算部130j)は、計算された各イベントの発生確率に基づいて、各変換ログの特徴度を計算することもできる。   If not, the CPU 130 (feature degree calculating unit 130j) calculates the characteristic degree of each log based on the calculated rarity degrees. The calculated feature value of each log is sent to the output unit 110b, and the CPU 130 instructs the output unit 110b to output the feature value. The output unit 110b outputs the feature level of each log. Note that the CPU 130 (feature degree calculation unit 130j) can also calculate the characteristic degree of each conversion log based on the calculated occurrence probability of each event.

このような本実施の形態に係るログ解析プログラムによれば、対象プログラム記述やイベント発生順序(対象プログラム記述実行順序)に加えて、イベント発生時のメモリ領域への参照も考慮して、発生確率や稀少度を計算し、これらの発生確率や稀少度に基づいて、ログ特徴を抽出することができるので、対象プログラム記述や発生順序を考慮してもログ特徴が抽出できない場合でも、速やかに、ログ特徴を抽出することが可能となるという作用効果を奏するログ解析装置、ログ解析方法を汎用コンピュータで容易に実現することができる。なお、上述したログ解析プログラム1,2は、それぞれ、別々の構成として説明したが、1つのプログラムとして、実現するようにしてもよい。   According to such a log analysis program according to the present embodiment, in addition to the target program description and the event generation order (target program description execution order), the occurrence probability is considered in consideration of the reference to the memory area at the time of the event Since the log features can be extracted based on the occurrence probability and the rarity, even if the log features cannot be extracted even if the target program description and the occurrence order are taken into consideration, A log analysis device and a log analysis method that have the effect of being able to extract log features can be easily realized by a general-purpose computer. The log analysis programs 1 and 2 described above have been described as separate configurations, but may be realized as a single program.

また、ログ解析プログラムは、記録媒体に記録することができる。この記録媒体は、図36に示すように、例えば、フレキシブルディスク400、コンパクトディスク500、ICチップ600、カセットテープ700等があげられる。このようなログ解析プログラムを記録した記録媒体によれば、ログ解析プログラムの保存、運搬、販売等を容易に行うことができる。   The log analysis program can be recorded on a recording medium. Examples of the recording medium include a flexible disk 400, a compact disk 500, an IC chip 600, and a cassette tape 700 as shown in FIG. According to the recording medium in which such a log analysis program is recorded, the log analysis program can be easily stored, transported, sold, and the like.

なお、この発明の実施の形態で例示した構成は一例であって、それ以外の構成を排除する趣旨のものではなく、例示した構成の一部を他のもので置き換えたり、例示した構成の一部を省いたり、例示した構成に別の機能あるいは要素を付加したり、それらを組み合わせたりすることなどによって得られる別の構成も可能である。また、例示した構成と論理的に等価な別の構成、例示した構成と論理的に等価な部分を含む別の構成、例示した構成の要部と論理的に等価な別の構成なども可能である。また、例示した構成と同一もしくは類似の目的を達成する別の構成、例示した構成と同一もしくは類似の効果を奏する別の構成なども可能である。また、この発明の実施の形態で例示した各種構成部分についての各種バリエーションは、適宜組み合わせて実施することが可能である。   Note that the configuration illustrated in the embodiment of the present invention is an example, and is not intended to exclude other configurations, and a part of the illustrated configuration may be replaced with another or one of the illustrated configurations. Other configurations obtained by omitting a part, adding another function or element to the illustrated configuration, or combining them are also possible. Also, another configuration that is logically equivalent to the exemplified configuration, another configuration that includes a portion that is logically equivalent to the exemplified configuration, another configuration that is logically equivalent to the main part of the illustrated configuration, and the like are possible. is there. Further, another configuration that achieves the same or similar purpose as the illustrated configuration, another configuration that achieves the same or similar effect as the illustrated configuration, and the like are possible. In addition, various variations of various components illustrated in the embodiment of the present invention can be implemented in appropriate combination.

また、この発明の実施の形態は、個別装置としての発明、関連を持つ2以上の装置についての発明、システム全体としての発明、個別装置内部の構成部分についての発明、またはそれらに対応する方法の発明等、種々の観点、段階、概念またはカテゴリに係る発明を包含・内在するものである。従って、この発明の実施の形態に開示した内容からは、例示した構成に限定されることなく発明を抽出することができるものである。   Further, the embodiment of the present invention is an invention of an invention as an individual device, an invention of two or more related devices, an invention of the entire system, an invention of components within an individual device, or a method corresponding thereto. The invention includes inventions according to various viewpoints, stages, concepts, or categories. Therefore, the present invention can be extracted from the contents disclosed in the embodiments of the present invention without being limited to the exemplified configuration.

本発明の第1概念を説明するための図である。It is a figure for demonstrating the 1st concept of this invention. 本発明の第2概念を説明するための図である。It is a figure for demonstrating the 2nd concept of this invention. 実施の形態1に係るログ解析装置の構成を示す図である。1 is a diagram illustrating a configuration of a log analysis apparatus according to a first embodiment. 実施の形態1のログ解析方法を説明するためのフローチャート図である。FIG. 3 is a flowchart for explaining a log analysis method according to the first embodiment. 実施の形態1のログ解析方法を説明するためのフローチャート図である。FIG. 3 is a flowchart for explaining a log analysis method according to the first embodiment. 実施の形態1のログ解析方法を説明するための対象プログラムの一例である。3 is an example of a target program for explaining a log analysis method according to the first embodiment; 実施の形態1のログ生成部により生成された複数のログの一例を示す図である。3 is a diagram illustrating an example of a plurality of logs generated by a log generation unit according to Embodiment 1. FIG. 実施の形態1であるログ変換部により変換された複数の変換ログの一例を示す図である。6 is a diagram illustrating an example of a plurality of conversion logs converted by a log conversion unit according to the first embodiment. FIG. 実施の形態1であるログ変換部により変換された複数の変換ログの一例を示す図である。6 is a diagram illustrating an example of a plurality of conversion logs converted by a log conversion unit according to the first embodiment. FIG. 実施の形態1であるイベント発生確率計算部により計算された発生確率を、発生順序及びイベントと対応づけて示す図である。It is a figure which shows the generation | occurrence | production probability calculated by the event generation | occurrence | production probability calculation part which is Embodiment 1 matched with an occurrence order and an event. 実施の形態1であるイベント発生確率計算部により計算された発生確率を、発生順序及びイベントと対応づけて示す図である。It is a figure which shows the generation | occurrence | production probability calculated by the event generation | occurrence | production probability calculation part which is Embodiment 1 matched with an occurrence order and an event. 実施の形態1である稀少度計算部により計算された稀少度を、発生順序及び変換ログと対応づけて示す図である。It is a figure which shows the rare degree calculated by the rare degree calculation part which is Embodiment 1 in association with an occurrence order and a conversion log. 実施の形態1である稀少度計算部により計算された稀少度を、発生順序及び変換ログと対応づけて示す図である。It is a figure which shows the rare degree calculated by the rare degree calculation part which is Embodiment 1 in association with an occurrence order and a conversion log. 実施の形態1であるデータ値分類部により分類情報が与えられた各ログの記録内容を示す図である。It is a figure which shows the recording content of each log to which classification information was given by the data value classification | category part which is Embodiment 1. FIG. 実施の形態1であるイベント発生確率計算部により計算された発生確率を、発生順序及びイベントと対応づけて示す図である。It is a figure which shows the generation | occurrence | production probability calculated by the event generation | occurrence | production probability calculation part which is Embodiment 1 matched with an occurrence order and an event. 実施の形態1である稀少度計算部により計算された稀少度を、発生順序及びログと対応づけて示す図である。It is a figure which shows the rare degree calculated by the rare degree calculation part which is Embodiment 1 in association with an occurrence order and a log. 実施の形態1の変形例2の特徴度計算部の計算処理を説明するための補足図である。FIG. 11 is a supplementary diagram for explaining a calculation process of a feature degree calculation unit according to the second modification of the first embodiment. 実施の形態1の変形例2の特徴度計算部の計算処理を説明するための補足図である。FIG. 11 is a supplementary diagram for explaining a calculation process of a feature degree calculation unit according to the second modification of the first embodiment. 実施の形態2に係るログ解析装置の構成を示す図である。FIG. 6 is a diagram illustrating a configuration of a log analysis apparatus according to a second embodiment. 実施の形態2のログ解析方法を説明するためのフローチャート図である。FIG. 10 is a flowchart for explaining a log analysis method according to the second embodiment. 実施の形態2のログ解析方法を説明するための対象プログラムの一例である。12 is an example of a target program for explaining a log analysis method according to the second embodiment. 実施の形態2のログ解析方法の説明で用いる対象プログラムを実行した結果得られたログの記録内容を示す図である。It is a figure which shows the recorded content of the log obtained as a result of performing the target program used by description of the log analysis method of Embodiment 2. FIG. 実施の形態2の分類ログ生成部により生成された複数の分類ログを示す図である。It is a figure which shows the some classification log produced | generated by the classification log production | generation part of Embodiment 2. FIG. 実施の形態2のログ変換部により得られた複数の変換ログを示す図である。It is a figure which shows the some conversion log obtained by the log conversion part of Embodiment 2. FIG. 実施の形態2であるイベント発生確率計算部により計算された発生確率を、発生順序及びイベントと対応づけて示す図である。It is a figure which shows the generation | occurrence | production probability calculated by the event generation probability calculation part which is Embodiment 2 matched with an occurrence order and an event. 実施の形態2である稀少度計算部により計算された稀少度を、発生順序及び変換ログと対応づけて示す図である。It is a figure which shows the rare degree calculated by the rare degree calculation part which is Embodiment 2 in association with an occurrence order and a conversion log. 実施の形態2の特徴度計算部により計算された各変換ログの特徴度を示す図である。It is a figure which shows the characteristic degree of each conversion log calculated by the characteristic degree calculation part of Embodiment 2. FIG. 実施の形態2の特徴度計算部による計算処理を説明するための補足図である。FIG. 10 is a supplementary diagram for explaining calculation processing by a feature degree calculation unit according to the second embodiment. 実施の形態2の適用例1のログ解析方法を説明するための対象プログラムの一例である。12 is an example of a target program for explaining a log analysis method according to application example 1 of the second embodiment. 実施の形態2の適用例1のログ解析方法の説明で用いる対象プログラムを実行した結果得られたログの記録内容を示す図である。It is a figure which shows the recorded content of the log obtained as a result of performing the target program used by description of the log analysis method of the application example 1 of Embodiment 2. FIG. 実施の形態2の適用例1の分類ログ生成部により生成された複数の分類ログを示す図である。FIG. 10 is a diagram illustrating a plurality of classification logs generated by a classification log generation unit according to the application example 1 of the second embodiment. 実施の形態2の適用例1の分類ログ生成部により生成された複数の分類ログを示す図である。FIG. 10 is a diagram illustrating a plurality of classification logs generated by a classification log generation unit according to the application example 1 of the second embodiment. 実施の形態2の適用例2の分類ログ生成部により生成された複数の分類ログを示す図である。FIG. 10 is a diagram showing a plurality of classification logs generated by a classification log generation unit of application example 2 of the second embodiment. 実施の形態2の適用例2の分類ログ生成部により生成された複数の分類ログを示す図である。FIG. 10 is a diagram showing a plurality of classification logs generated by a classification log generation unit of application example 2 of the second embodiment. 実施の形態1,2におけるログ解析プログラムをインストールしたコンピュータの構成を示す図である。2 is a diagram illustrating a configuration of a computer in which a log analysis program according to Embodiments 1 and 2 is installed. FIG. 実施の形態1,2におけるログ解析プログラムを格納した記録媒体を示した図である。6 is a diagram showing a recording medium storing a log analysis program according to Embodiments 1 and 2. FIG.

符号の説明Explanation of symbols

1a,3a 対象プログラム、2a,2b,4a,4b,4c イベント、5 ログ、6 イベント列、10,110a 入力部、11,130g ログ生成部、12,130a イベント列生成部、13,130b ログ変換部、14,130c イベント発生確率計算部、15,130d 稀少度計算部、16,130e 稀少度判定部、17,110b 出力部、18,130i データ値分類部、19,130j 特徴度計算部、20,110c 領域指定部、21,130f ログ分類部、22,130h 分類ログ生成部、100 ハードディスク、100a,100b ログ解析プログラム、110 入出力部、120 メモリ、130 CPU、140 バス、400 フレキシブルディスク、500 コンパクトディスク、600 ICチップ、700 カセットテープ   1a, 3a Target program, 2a, 2b, 4a, 4b, 4c Event, 5 log, 6 Event sequence, 10, 110a Input unit, 11, 130g Log generation unit, 12, 130a Event sequence generation unit, 13, 130b Log conversion 14, 130c Event occurrence probability calculation unit, 15, 130d Rareness calculation unit, 16, 130e Rareness determination unit, 17, 110b Output unit, 18, 130i Data value classification unit, 19, 130j Feature degree calculation unit, 20 , 110c area specification unit, 21, 130f log classification unit, 22, 130h classification log generation unit, 100 hard disk, 100a, 100b log analysis program, 110 input / output unit, 120 memory, 130 CPU, 140 bus, 400 flexible disk, 500 Compact disc, 600 IC chip 700 cassette tape

Claims (8)

プログラムの実行により発生した一連のイベントが前記イベントの発生順序に従って、記録されたログを解析するログ解析方法であって、
前記イベントに関するプログラム記述の実行の際に参照可能であるメモリ領域を指定する指定ステップと、
指定されたメモリ領域に対する参照処理を伴うことに基づいて、前記一連のイベントの各イベントを分類するステップと、
参照処理を伴うメモリ領域ごとに、分類されたイベントを、前記イベントの発生順序に従って、記録した分類ログを複数生成するステップと、
生成された複数の分類ログをそれぞれ構成するイベントに基づいて、前記イベントを前記発生順序に従って記録したイベント列を生成するステップと、
前記イベント列のイベントと、前記複数の分類ログのそれぞれを構成するイベントとをそれぞれ比較し比較結果に基づいて、前記複数の分類ログを複数の変換ログに変換するステップと、
前記イベント列のイベントに関するプログラムの記述に基づいて、前記イベントの発生確率を前記発生順序ごとに、計算するステップと、
計算された発生確率に基づいて、発生頻度の低さを示す稀少度を計算する希少度計算ステップと、
計算された稀少度に基づいて、前記複数のログの各変換ログの特徴となるイベントに関する情報を出力するステップとを有することを特徴とするログ解析方法。
A log analysis method for analyzing a recorded log of a series of events generated by execution of a program according to the occurrence order of the events,
A designation step for designating a memory area that can be referred to when executing the program description relating to the event;
Classifying each event of the series of events based on a reference process for a specified memory area;
Generating a plurality of classified logs in which the classified events are recorded in accordance with the occurrence order of the events for each memory area with reference processing;
Generating an event sequence in which the events are recorded according to the order of occurrence based on the events constituting each of the generated plurality of classification logs;
Comparing the events of the event sequence with the events constituting each of the plurality of classification logs and converting the plurality of classification logs into a plurality of conversion logs based on the comparison results;
Calculating an occurrence probability of the event for each occurrence order based on a description of a program related to an event in the event sequence;
A rarity calculation step for calculating a rarity indicating a low occurrence frequency based on the calculated occurrence probability;
And a step of outputting information on an event that is characteristic of each conversion log of the plurality of logs based on the calculated rarity.
前記指定ステップにおける指定は、イベントに関する所定のプログラム記述の実行の際に参照されるメモリ領域に対するものであることを特徴とする請求項1に記載のログ解析方法。   2. The log analysis method according to claim 1, wherein the designation in the designation step is for a memory area referred to when executing a predetermined program description relating to an event. 前記指定ステップにおける指定は、領域の大きさが共通する複数のメモリ領域に対するものであることを特徴とする請求項1に記載のログ解析方法。   2. The log analysis method according to claim 1, wherein the designation in the designation step is for a plurality of memory areas having a common area size. 前記希少度計算ステップにより計算された、前記発生順序のすべてにおける希少度に基づいて、前記複数の変換ログにおける変換ログの特徴を示す変換ログの特徴度を、前記変換ログごとに計算する特徴度計算ステップと、
前記特徴度計算ステップにより計算された、前記複数の変換ログの各々の特徴度を出力するステップとを有することを特徴とする請求項1乃至3のうちいずれか1つの請求項に記載のログ解析方法。
The feature degree for calculating the feature degree of the conversion log indicating the feature of the conversion log in the plurality of conversion logs based on the rarity degree in all the occurrence orders calculated by the rare degree calculation step. A calculation step;
The log analysis according to any one of claims 1 to 3, further comprising a step of outputting a characteristic degree of each of the plurality of conversion logs calculated by the characteristic degree calculating step. Method.
プログラムの実行により発生した一連のイベントが前記イベントの発生順序に従って、記録されたログを解析するログ解析プログラムであって、コンピュータに、
前記イベントに関するプログラム記述の実行の際に参照可能であるメモリ領域を指定する指定ステップと、
指定されたメモリ領域に対する参照処理を伴うことに基づいて、前記一連のイベントの各イベントを分類するステップと、
参照処理を伴うメモリ領域ごとに、分類されたイベントを、前記イベントの発生順序に従って、記録した分類ログを複数生成するステップと、
生成された複数の分類ログをそれぞれ構成するイベントに基づいて、前記イベントを前記発生順序に従って記録したイベント列を生成するステップと、
前記イベント列のイベントと、前記複数の分類ログのそれぞれを構成するイベントとをそれぞれ比較し比較結果に基づいて、前記複数の分類ログを複数の変換ログに変換するステップと、
前記イベント列のイベントに関するプログラムの記述に基づいて、前記イベントの発生確率を前記発生順序ごとに、計算するステップと、
計算された発生確率に基づいて、発生頻度の低さを示す稀少度を計算する希少度計算ステップと、
計算された稀少度に基づいて、前記複数のログの各変換ログの特徴となるイベントに関する情報を出力するステップとを有する処理を実行させるためのログ解析プログラム。
A log analysis program for analyzing a recorded log of a series of events generated by the execution of the program according to the occurrence order of the events,
A designation step for designating a memory area that can be referred to when executing the program description relating to the event;
Classifying each event of the series of events based on a reference process for a specified memory area;
Generating a plurality of classified logs in which the classified events are recorded in accordance with the occurrence order of the events for each memory area with reference processing;
Generating an event sequence in which the events are recorded according to the order of occurrence based on the events constituting each of the generated plurality of classification logs;
Comparing the events in the event sequence with the events constituting each of the plurality of classification logs, and converting the plurality of classification logs into a plurality of conversion logs based on the comparison results;
Calculating an occurrence probability of the event for each occurrence order based on a description of a program related to an event in the event sequence;
A rarity calculation step for calculating a rarity indicating a low occurrence frequency based on the calculated occurrence probability;
A log analysis program for executing a process including a step of outputting information on an event that is a characteristic of each conversion log of the plurality of logs based on the calculated rarity.
前記指定ステップにおける指定は、イベントに関する所定のプログラム記述の実行の際に参照されるメモリ領域に対するものであることを特徴とする請求項5に記載のログ解析プログラム。   6. The log analysis program according to claim 5, wherein the designation in the designation step is for a memory area that is referred to when a predetermined program description relating to an event is executed. 前記指定ステップにおける指定は、領域の大きさが共通する複数のメモリ領域に対するものであることを特徴とする請求項5に記載のログ解析プログラム。 6. The log analysis program according to claim 5, wherein the designation in the designation step is for a plurality of memory areas having a common area size. 前記希少度計算ステップにより計算された、前記発生順序のすべてにおける希少度に基づいて、前記複数の変換ログにおける変換ログの特徴を示す変換ログの特徴度を、前記変換ログごとに計算する特徴度計算ステップと、
前記特徴度計算ステップにより計算された、前記複数の変換ログの各々の特徴度を出力するステップとを有する処理を実行させるための請求項5乃至7のうちいずれか1つの請求項に記載のログ解析プログラム。
The feature degree for calculating the feature degree of the conversion log indicating the feature of the conversion log in the plurality of conversion logs based on the rarity degree in all the occurrence orders calculated by the rare degree calculation step. A calculation step;
The log according to any one of claims 5 to 7, for executing a process including a step of outputting a characteristic degree of each of the plurality of conversion logs calculated by the characteristic degree calculating step. Analysis program.
JP2004291683A 2004-10-04 2004-10-04 Method and program for analyzing log Pending JP2005025786A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004291683A JP2005025786A (en) 2004-10-04 2004-10-04 Method and program for analyzing log

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004291683A JP2005025786A (en) 2004-10-04 2004-10-04 Method and program for analyzing log

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001401926A Division JP2003203001A (en) 2001-12-28 2001-12-28 Method and program for analyzing log

Publications (1)

Publication Number Publication Date
JP2005025786A true JP2005025786A (en) 2005-01-27

Family

ID=34191859

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004291683A Pending JP2005025786A (en) 2004-10-04 2004-10-04 Method and program for analyzing log

Country Status (1)

Country Link
JP (1) JP2005025786A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186163A (en) * 2007-01-29 2008-08-14 Fujitsu Ltd Program evaluation program, program evaluation apparatus and program evaluation method
JP2008257411A (en) * 2007-04-04 2008-10-23 Hitachi Ltd Disk control system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008186163A (en) * 2007-01-29 2008-08-14 Fujitsu Ltd Program evaluation program, program evaluation apparatus and program evaluation method
JP2008257411A (en) * 2007-04-04 2008-10-23 Hitachi Ltd Disk control system

Similar Documents

Publication Publication Date Title
Yan et al. Just-in-time defect identification and localization: A two-phase framework
CN109284269B (en) Abnormal log analysis method and device, storage medium and server
US6865508B2 (en) Log analysis method and recording medium storing log analysis program
US9342440B2 (en) Test coverage analysis
US7792950B2 (en) Coverage analysis of program code that accesses a database
US7353505B2 (en) Tracing the execution path of a computer program
US8607198B2 (en) Cross-concern code coverage assessment
US11868468B2 (en) Discrete processor feature behavior collection
US7861118B2 (en) Machine instruction level race condition detection
JP2006185211A (en) Program analysis system, test execution device, and analysis method and program thereof
US20050160405A1 (en) System and method for generating code coverage information
An et al. An empirical study of crash-inducing commits in mozilla firefox
CN110716866A (en) Code quality scanning method and device, computer equipment and storage medium
WO2011151931A1 (en) Application analysis method, analysis system and recording medium
KR101860674B1 (en) Method, Server and Computer Program for Crash Report Grouping
CN110908870A (en) Resource monitoring method and device for mainframe, storage medium and equipment
CN1722091A (en) System and method for confirming dynamic attachable executable mirror dependability
JP3997495B2 (en) Software analysis apparatus and software analysis method
US7036045B2 (en) Method and system for isolating exception related errors in Java JVM
JP2005025786A (en) Method and program for analyzing log
JP2005338987A (en) Exception test support program and device
JP2008117066A (en) Software development support method, software development support device, software development support program, and computer system
WO2022222499A1 (en) Code processing method, and system, cluster, medium and program product
JP4630489B2 (en) Log comparison debugging support apparatus, method and program
JP2002259168A (en) Device and method for extracting log characteristic, and program therefor

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050614

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050812

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050920