JP2020086928A - Error output apparatus, error output method, learning apparatus, method of generating learned model, program, and learned model - Google Patents
Error output apparatus, error output method, learning apparatus, method of generating learned model, program, and learned model Download PDFInfo
- Publication number
- JP2020086928A JP2020086928A JP2018220358A JP2018220358A JP2020086928A JP 2020086928 A JP2020086928 A JP 2020086928A JP 2018220358 A JP2018220358 A JP 2018220358A JP 2018220358 A JP2018220358 A JP 2018220358A JP 2020086928 A JP2020086928 A JP 2020086928A
- Authority
- JP
- Japan
- Prior art keywords
- error information
- error
- degree
- association
- generated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
Description
本発明は、エラー出力装置、エラー出力方法、学習装置、学習済みモデルの生成方法、プログラム、および学習済みモデルに関する。 The present invention relates to an error output device, an error output method, a learning device, a learned model generation method, a program, and a learned model.
特許文献1には、ソースコードのコンパイルによって生じる複数のエラー情報を複数のカテゴリに分類して出力する技術が開示されている。特許文献2には、複数の解析ツールによって出力された複数の警告に基づいて、重複する警告を省略して出力する技術が開示されている。 Patent Document 1 discloses a technique of classifying a plurality of error information generated by source code compilation into a plurality of categories and outputting the classified information. Patent Document 2 discloses a technique of omitting and outputting duplicate warnings based on a plurality of warnings output by a plurality of analysis tools.
特許文献1に記載の技術では、複数のエラー情報を、修正により他のエラーも解消するもの、他のエラーの修正により解消するもの、単発のエラー、および新規のエラーからなる4つのカテゴリーに分類する。しかしながら、特許文献1に記載の技術は、ソースコードの修正がなされたときに、修正前後の比較によって分類されるものであって、修正前のソースコードについてエラーの分類をすることができない。
特許文献2に記載の技術では、重複する複数の警告の一部を省略し、表示される警告の量を低減することができるが、複数の警告どうしの関係は不明である。
In the technique described in Patent Document 1, a plurality of pieces of error information are classified into four categories: one that corrects other errors by correction, one that corrects other errors, a one-time error, and a new error. To do. However, the technique described in Patent Document 1 is classified by comparing before and after modification when the source code is modified, and cannot classify errors in the source code before modification.
In the technique described in Patent Document 2, it is possible to omit a part of a plurality of overlapping warnings and reduce the amount of displayed warnings, but the relationship between the plurality of warnings is unknown.
本発明の目的は、上述した課題を解決するエラー出力装置、エラー出力方法、学習装置、学習済みモデルの生成方法、プログラム、および学習済みモデルを提供することにある。 An object of the present invention is to provide an error output device, an error output method, a learning device, a learned model generation method, a program, and a learned model that solve the above problems.
本発明の第1の態様によれば、エラー出力装置は、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するように学習された学習済みモデルと、前記学習済みモデルを用いて、ソースコードのコンパイルによって生じた複数のエラー情報どうしの関連度を推定する関連度推定部と、推定された前記関連度に基づいて前記複数のエラー情報を出力する出力部とを備える。 According to the first aspect of the present invention, the error output device inputs a plurality of error information generated by compiling the source code, and outputs a degree of association between the plurality of error information, and the learned model learned. And a degree-of-association estimating unit that estimates a degree of association between a plurality of error information generated by compiling the source code using the learned model, and outputs the plurality of error information based on the estimated degree of association. And an output unit for
本発明の第2の態様によれば、エラー出力方法は、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するように学習された学習済みモデルを用いて、ソースコードのコンパイルによって生じた複数のエラー情報どうしの関連度を推定するステップと、推定された前記関連度に基づいて前記複数のエラー情報を出力するステップとを備える。 According to a second aspect of the present invention, an error output method is a trained model that is trained to input a plurality of error information generated by compiling source code and output a degree of association between the plurality of error information. And estimating the degree of association between a plurality of pieces of error information generated by compiling the source code, and outputting the plurality of pieces of error information based on the estimated degree of association.
本発明の第3の態様によれば、プログラムは、コンピュータを、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するように学習された学習済みモデル、前記学習済みモデルを用いて、ソースコードのコンパイルによって生じた複数のエラー情報どうしの関連度を推定する関連度推定部、推定された前記関連度に基づいて前記複数のエラー情報を出力する出力部として機能させる。 According to a third aspect of the present invention, a program is learned by a computer to input a plurality of error information generated by compiling source code and output a degree of association between the plurality of error information. A model, a relevance estimation unit that estimates a relevance of a plurality of error information generated by compiling source code using the learned model, and outputs the plurality of error information based on the estimated relevance Make it function as an output unit.
本発明の第4の態様によれば、学習装置は、デバッグ作業前のコンパイルによって生じた第1のエラー情報群と、前記デバッグ作業後のコンパイルによって生じた第2のエラー情報群とに基づいて、複数のエラー情報どうしの関連度を特定する関連度特定部と、前記複数のエラー情報と前記特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するようにモデルを訓練する学習部とを備える。 According to the fourth aspect of the present invention, the learning device is based on the first error information group generated by the compilation before the debug work and the second error information group generated by the compilation after the debug work. , A plurality of errors caused by compiling the source code by using a relevance degree specifying unit that specifies a degree of relevance between the plurality of error information and a learning data set including the plurality of error information and the identified degree of relevance A learning unit for inputting information and training the model so as to output the degree of association between the plurality of pieces of error information.
本発明の第5の態様によれば、学習済みモデルの生成方法は、デバッグ作業前のコンパイルによって生じた第1のエラー情報群と、前記デバッグ作業後のコンパイルによって生じた第2のエラー情報群とに基づいて、複数のエラー情報どうしの関連度を特定するステップと、前記複数のエラー情報と前記特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するようにモデルを訓練するステップとを備える。 According to a fifth aspect of the present invention, a method of generating a trained model includes a first error information group generated by compilation before debug work and a second error information group generated by compilation after debug work. A step of identifying the degree of association between a plurality of error information based on the above, and a plurality of error code generated by the compilation of the source code using the learning data set including the plurality of error information and the identified degree of association. Inputting error information and training the model to output a degree of association between the plurality of error information.
本発明の第6の態様によれば、プログラムは、コンピュータを、デバッグ作業前のコンパイルによって生じた第1のエラー情報群と、前記デバッグ作業後のコンパイルによって生じた第2のエラー情報群とに基づいて、複数のエラー情報どうしの関連度を特定する関連度特定部、前記複数のエラー情報と前記特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するようにモデルを訓練する学習部として機能させる。 According to the sixth aspect of the present invention, the program causes the computer to store the first error information group generated by the compilation before the debug work and the second error information group generated by the compilation after the debug work. On the basis of the plurality of error information, a relevance degree specifying unit that specifies the degree of relevance between the error information pieces, using a learning data set including the plurality of error information pieces and the specified relevance degree The error information is input, and it functions as a learning unit that trains the model so as to output the degree of association between the plurality of error information.
本発明の第7の態様によれば、学習済みモデルは、デバッグ作業前のコンパイルによって生じた第1のエラー情報群および前記デバッグ作業後のコンパイルによって生じた第2のエラー情報群の少なくとも一方に含まれる複数のエラー情報と、当該複数のエラー情報どうしの関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するように訓練される。 According to the seventh aspect of the present invention, the trained model is stored in at least one of the first error information group generated by the compilation before the debug work and the second error information group generated by the compilation after the debug work. By using a learning data set including a plurality of included error information and a degree of association between the plurality of error information, inputting a plurality of error information generated by compiling the source code, and relating the plurality of error information to each other. Trained to output degrees.
上記態様のうち少なくとも1つの態様によれば、ソースコードの修正の有無に関わらず、互いに関連する複数のエラー情報を分類して出力することができる。 According to at least one of the above aspects, it is possible to classify and output a plurality of pieces of error information related to each other, regardless of whether or not the source code is modified.
〈第1の実施形態〉
以下、図面を参照しながら実施形態について詳しく説明する。
図1は、第1の実施形態に係るエラー出力装置の動作の例を示す概略図である。
エラー出力装置100は、ソースコードをコンパイルするコンパイラ200から出力されたエラーログD1を、複数のカテゴリに分類したカテゴライズドエラーログD2に変換して出力する。エラーログD1には、複数のエラー情報が含まれる。エラー情報は、例えば、エラー番号、発生個所、埋め込みパラメータなどの要素を含む。エラー番号は、エラーの種類を示す情報である。発生個所は、例えばエラーが発生した行番号によって表される。また、カテゴライズドエラーログD2において同一のカテゴリに分類されたエラー情報は、根本的な原因が共通である可能性が高い。
<First Embodiment>
Hereinafter, embodiments will be described in detail with reference to the drawings.
FIG. 1 is a schematic diagram showing an example of the operation of the error output device according to the first embodiment.
The
図2は、第1の実施形態に係るエラー出力装置の動作の例を示す概略図である。
エラー出力装置100は、入力部101、学習済みモデル記憶部102、関連度推定部103、分類部104、出力部105、ログ記憶部106、差分特定部107、関連度特定部108、学習部109を備える。
FIG. 2 is a schematic diagram showing an example of the operation of the error output device according to the first embodiment.
The
入力部101は、コンパイラ200から出力されたエラーログD1の入力を受け付ける。
The
学習済みモデル記憶部102は、2つのエラー情報を入力し、2つのエラー情報どうしの関連度を出力するように学習された学習済みモデルを記憶する。2つのエラー情報どうしの関連度とは、当該2つのエラー情報の発生原因の共通性に関する値である。例えば、ソースコードにおけるある文の終止符の欠落により、その文の文末についてのエラーと後続の文についてのエラーとが発生した場合、当該2つのエラー情報は、終止符の欠落という同一の原因によって生じたものであるため、互いに関連度が高い。また、例えば、変数宣言の誤りにより、その変数が未定義である旨の複数のエラーが発生した場合、当該複数のエラー情報は、変数宣言の誤りという同一の原因によって生じたものであるため、互いに関連度が高い。他方、文の終止符の欠落によって生じたエラーと変数宣言の誤りによって生じたエラーとの関連度は低い。
学習済みモデルは、例えばニューラルネットワークなどの機械学習モデルと、学習用データセットによる訓練によって更新されたパラメータの組み合わせによって構成される。機械学習モデルはディープラーニングに係るものであってよい。学習済みモデルは、2つのエラー情報とその関連度との組み合わせからなる学習用データセットによって訓練される。
The learned
The learned model is composed of, for example, a machine learning model such as a neural network and a combination of parameters updated by training using the learning data set. The machine learning model may be related to deep learning. The trained model is trained by a training data set consisting of a combination of two pieces of error information and their degree of association.
関連度推定部103は、入力部101に入力されたエラーログD1から、2つのエラー情報のすべての組み合わせ(エラーペア)を抽出する。関連度推定部103は、各エラーペアを学習済みモデルに入力することで、各エラーペアの関連度を推定する。
The association
分類部104は、関連度推定部103によって推定された複数のエラーペアに係る関連度に基づいて、複数のエラー情報を複数のカテゴリに分類する。例えば、分類部104は、関連度が所定の閾値以上となるエラーペアに係る2つのエラー情報を、同一のカテゴリに分類する。また例えば分類部104は、複数のエラーペアに係る関連度に基づいてクラスタリング処理を行うことでカテゴリの分類を行ってもよい。
The classifying
出力部105は、分類部104によって分類されたカテゴリ別に、複数のエラー情報を出力する。出力部105は、例えばディスプレイにカテゴリ分けされたエラー情報を表示してよい。また出力部105は、例えば外部の記憶媒体にカテゴリ分けされたエラー情報を記録してよい。また出力部105は、例えば紙面にカテゴリ分けされたエラー情報を印刷してよい。
The
ログ記憶部106は、入力部101に入力されたエラーログD1を記憶する。
The
差分特定部107は、入力部101に入力されたエラーログD1がデバッグ作業後のソースコードに係るものであるか否かを判定する。例えば、差分特定部107は、入力されたエラーログD1とログ記憶部106が記憶するエラーログD1とにおいて共通するエラー情報が所定数存在する場合に、デバッグ作業後のソースコードに係るものであると判定する。
差分特定部107は、デバッグ前のソースコードのコンパイルによって生成されたエラーログD1(第1のエラー情報群)と、デバッグ後のソースコードのコンパイルによって生成されたエラーログD1(第2のエラー情報群)との差分を特定する。すなわち、差分特定部107は、複数のエラー情報を、デバッグによってなくなったエラー情報、デバッグによって増加したエラー情報、およびデバッグによって変化しなかったエラー情報に分類する。
The
The
関連度特定部108は、第1のエラー情報群および第2のエラー情報群に含まれる複数のエラー情報から、複数のエラーペアを抽出する。関連度特定部108は、差分特定部107による分類結果に基づいて、複数のエラーペアそれぞれの関連度を特定する。例えば、関連度特定部108は、デバッグによってなくなったエラー情報からなるエラーペアの関連度、およびデバッグによって増加したエラー情報からなるエラーペアの関連度を「1」とする。関連度特定部108は、デバッグによって変化しなかったエラー情報からなるエラーペアの関連度を「0.5」とする。関連度特定部108は、他のエラーペア(デバッグによってなくなったエラー情報とデバッグによって増加したエラー情報のエラーペア、デバッグによってなくなったエラー情報とデバッグによって変化しなかったエラー情報のエラーペアなど)の関連度を「0」とする。つまり、関連度特定部108は、第1のエラー情報群および第2のエラー情報群の一方にのみ含まれるエラー情報からなるエラーペアの関連度を、少なくとも第1のエラー情報群に含まれるエラー情報と少なくとも第2のエラー情報群に含まれるエラー情報とからなるエラーペアの関連度より高いものと特定する。
The degree-of-
学習部109は、関連度特定部108によって特定された複数のエラーペアと、各エラーペアの関連度との組み合わせを学習用データセットとして、学習済みモデルを訓練する。学習済みモデルの訓練は、例えばバックプロパゲーション法によって実行される。学習部109は、学習済みモデル記憶部102が記憶する学習済みモデルを更新する。
The
図3は、第1の実施形態に係るエラー出力装置の動作を示すフローチャートである。
コンパイラ200がエラーログD1を出力すると、エラー出力装置100の入力部101は、エラーログD1の入力を受け付ける(ステップS1)。
FIG. 3 is a flowchart showing the operation of the error output device according to the first embodiment.
When the
エラーログが入力されると、差分特定部107は、入力されたエラーログD1と、すでにログ記憶部106に記憶されたエラーログD1とで、共通するエラー情報が所定数以上存在するか否かを判定する(ステップS2)。共通するエラー情報が所定数以上存在する場合(ステップS2:YES)、差分特定部107は、入力されたエラーログD1がデバッグ作業後のソースコードのコンパイルによって生成されたエラーログD1であると判定する。この場合、エラー出力装置100は、後述する学習処理を実行する(ステップS3)。他方、共通するエラー情報が所定数未満である場合、またはログ記憶部106にエラーログD1が記憶されていない場合(ステップS2:NO)、差分特定部107は、入力されたエラーログD1がソースコードの初回のコンパイルによって生成されたエラーログD1であると判定する。この場合、エラー出力装置100は、学習処理を実行しない。
次に、入力部101は、ステップS1で入力されたエラーログD1をログ記憶部106に記録する(ステップS4)。
When the error log is input, the
Next, the
次に、関連度推定部103は、入力されたエラーログD1から取り得るすべてのエラーペアを特定する(ステップS5)。関連度推定部103は、エラーペアを1つずつ選択し、すべてのエラーペアについて、以下のステップS7からステップS10の処理を実行する(ステップS6)。関連度推定部103は、ステップS6で選択したエラーペアを、学習済みモデル記憶部102が記憶する学習済みモデルに入力することで、当該エラーペアの関連度を推定する(ステップS7)。
Next, the degree-of-
分類部104は、推定された関連度が所定の閾値以上であるか否かを判定する(ステップS8)。関連度が閾値以上である場合(ステップS8:YES)、分類部104は、エラーペアを構成する2つのエラー情報を同一のカテゴリに分類する(ステップS9)。このとき、すでに一方のエラー情報が何らかのカテゴリに分類されている場合、分類部104は、他方のエラー情報を当該カテゴリに分類する。またすでに両方のエラー情報がそれぞれ何らかのカテゴリに分類されている場合、分類部104は、2つのカテゴリを1つのカテゴリに統合する。他方、関連度が閾値未満である場合(ステップS8:NO)、分類部104は、エラーペアを構成する2つのエラー情報を別のカテゴリに分類する(ステップS10)。
The
すべてのエラーペアについて、ステップS7からステップS10の処理が実行されると、出力部105は、複数のエラー情報を分類されたカテゴリごとに区別したカテゴライズドエラーログD2を生成し、出力する(ステップS11)。これにより、利用者は、根本的な原因が共通する可能性が高いエラー情報をまとめて参照することができる。したがって、例えばエラー情報の数が多い場合においても、カテゴライズドエラーログD2におけるカテゴリの数が少ない場合、利用者は、わずかな修正でエラーを解消できる可能性を予見することができる。
When the processing from step S7 to step S10 is executed for all error pairs, the
ここで、学習済みモデルの学習処理について説明する。
図4は、第1の実施形態における学習処理の例を示すフローチャートである。
入力部101に入力されたエラーログD1がデバッグ作業後のソースコードのコンパイルによって生成されたエラーログD1である場合、差分特定部107は、ログ記憶部106が記憶するエラーログD1と、入力されたエラーログD1との差分に基づいて、複数のエラー情報を、デバッグによってなくなったエラー情報、デバッグによって増加したエラー情報、およびデバッグによって変化しなかったエラー情報に分類する(ステップS31)。
Here, the learning process of the learned model will be described.
FIG. 4 is a flowchart showing an example of the learning process in the first embodiment.
When the error log D1 input to the
関連度特定部108は、ログ記憶部106が記憶するエラーログD1と入力されたエラーログD1とから、取り得るすべてのエラーペアを特定する(ステップS32)。関連度特定部108は、エラーペアを1つずつ選択し(ステップS33)、すべてのエラーペアについて、ステップS31による分類結果に基づいて関連度を特定する(ステップS34)。
The degree-of-
学習部109は、ステップS32で特定された複数のエラーペアと、ステップS34で特定した各エラーペアの関連度との組み合わせを学習用データセットとして、学習済みモデルを訓練する(ステップS35)。学習部109は、学習済みモデル記憶部102が記憶する学習済みモデルを更新する(ステップS36)。
The
このように、第1の実施形態によれば、エラー出力装置100は、エラーペアを入力し、エラーペアの関連度を出力するように学習された学習済みモデルを用いて、エラーログに係る複数のエラー情報どうしの関連度を推定し、関連度に基づいて複数のエラー情報を出力する。これにより、エラー出力装置100は、ソースコードの修正の有無に関わらず、エラーログにおいて互いに関連する複数のエラー情報を分類して出力することができる。なお、他の実施形態においては、学習済みモデルは、エラーペアに限られず、3つ以上のエラー情報の入力を受け付けてもよい。この場合、学習済みモデルは、入力された複数のエラー情報どうしの関連度を推定する。
As described above, according to the first embodiment, the
また、第1の実施形態によれば、エラー出力装置100は、デバッグ作業前のコンパイルによって生じたエラーログD1と、前記デバッグ作業後のコンパイルによって生じたエラーログD1とに基づいて、当該エラーログD1において取り得る複数のエラーペアの関連度を特定し、当該関連度を用いて学習済みモデルを訓練する。これにより、エラー出力装置100は、ソースコードのデバッグ作業ごとに自動的に学習用データセットを生成し、学習済みモデルによる関連度の推定精度を向上させることができる。
Further, according to the first embodiment, the
エラー出力装置100は、デバッグによってなくなったエラー情報からなるエラーペアの関連度、およびデバッグによって増加したエラー情報からなるエラーペアの関連度を、他のエラーペアの関連度より高いものと特定する。一のデバッグ作業によって、一の原因が除外された場合、当該デバッグによって、当該原因に関連する複数のエラー情報がなくなる。つまり、デバッグによってなくなったエラー情報からなるエラーペアは、互いに関連度が高いといえる。同様に、一のデバッグ作業によって、一の原因が生じた場合、当該デバッグによって、当該原因に関連する複数のエラー情報が増加する。つまり、デバッグによって増加したエラー情報からなるエラーペアは、互いに関連度が高いといえる。このように、エラー出力装置100は、デバッグ前後の差分によって適切にエラーペアの関連性を特定することができる。
The
エラー出力装置100は、推定された関連度に基づいてエラーログD1に係る複数のエラー情報を複数のカテゴリに分類し、当該複数のカテゴリに基づいてカテゴライズドエラーログD2を出力する。これにより、利用者は、根本的な原因が共通する可能性が高いエラー情報をまとめて参照することができる。
The
《基本構成》
図5は、エラー出力装置の基本構成を示す概略ブロック図である。
上述した実施形態では、エラー出力装置の一実施形態として図2に示すエラー出力装置100について説明したが、エラー出力装置の基本構成は、図5に示すとおりである。
すなわち、エラー出力装置500は、学習済みモデル501、関連度推定部502、および出力部503を基本構成とする。
<Basic configuration>
FIG. 5 is a schematic block diagram showing the basic configuration of the error output device.
In the above-described embodiment, the
That is, the
学習済みモデル501は、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、複数のエラー情報どうしの関連度を出力するように学習されたものである。学習済みモデル501は、第1の実施形態に係る学習済みモデル記憶部102が記憶する学習済みモデルに相当する。
関連度推定部502は、学習済みモデル501を用いて、ソースコードのコンパイルによって生じた複数のエラー情報どうしの関連度を推定する。関連度推定部502は、第1の実施形態に係る関連度推定部103に相当する。
出力部503は、推定された関連度に基づいて複数のエラー情報を出力する。出力部503は、第1の実施形態に係る出力部105に相当する。
The learned
The degree-of-
The
これにより、エラー出力装置500は、ソースコードの修正の有無に関わらず、互いに関連する複数のエラー情報を分類して出力することができる。
Accordingly, the
図6は、学習装置の基本構成を示す概略ブロック図である。
上述した実施形態では、学習装置の一実施形態として図2に示すエラー出力装置100について説明したが、学習装置の基本構成は、図6に示すとおりである。
すなわち、学習装置600は、関連度特定部601、学習部602を基本構成とする。
FIG. 6 is a schematic block diagram showing the basic configuration of the learning device.
In the above-described embodiment, the
That is, the
関連度特定部601は、デバッグ作業前のコンパイルによって生じた第1のエラー情報群と、デバッグ作業後のコンパイルによって生じた第2のエラー情報群とに基づいて、複数のエラー情報どうしの関連度を特定する。関連度特定部601は、第1の実施形態に係る関連度特定部108に相当する。
学習部602は、複数のエラー情報と特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、複数のエラー情報どうしの関連度を出力するようにモデルを訓練する。学習部602は、第1の実施形態に係る学習部109に相当する。
The degree-of-
The
これにより、学習装置600は、ソースコードの修正の有無に関わらず、エラー情報の関連度を特定するように、モデルを訓練することができる。
Thereby, the
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限らず、様々な設計変更等をすることが可能である。
例えば、第1の実施形態に係るエラー出力装置100は、コンパイラ200と別個に設けられるがこれに限らない。例えば、他の実施形態においては、コンパイラ200がエラー出力装置100の機能を有するものであってもよい。
Although one embodiment has been described in detail with reference to the drawings, the specific configuration is not limited to the above, and various design changes and the like can be made.
For example, the
また第1の実施形態に係るエラー出力装置100は、学習済みモデルを用いた関連度の推定と、学習済みモデルの学習とを行うが、これに限らない。例えば、他の実施形態においては、エラー出力装置100は、学習済みモデルの学習処理を行わないものであってもよい。すなわち他の実施形態に係るエラー出力装置100は、ログ記憶部106、差分特定部107、関連度特定部108、および学習部109を備えなくてもよい。この場合、学習装置がエラー出力装置100と別個に設けられるものであってもよい。
The
また、第1の実施形態に係るエラー出力装置100は、入力されたエラーログD1について、前回のエラーログD1との共通箇所を特定することで、当該エラーログD1がデバッグ作業に係るものであるか否かを判定するが、これに限られない。例えば、他の実施形態に係るエラー出力装置100は、入力部101が受け付けたエラーログD1について利用者からデバッグに係るか否かを示す情報を取得し、これに基づいてエラーログD1がデバッグ作業に係るものであるか否かを判定してもよい。また、他の実施形態に係るエラー出力装置100は、ソースコードの比較によって、エラーログD1がデバッグ作業に係るものであるか否かを判定してもよい。
In addition, the
図7は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ90は、プロセッサ91、メインメモリ92、ストレージ93、インタフェース94を備える。
上述のエラー出力装置100、エラー出力装置500、および学習装置600は、コンピュータ90に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ93に記憶されている。プロセッサ91は、プログラムをストレージ93から読み出してメインメモリ92に展開し、当該プログラムに従って上記処理を実行する。また、プロセッサ91は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ92に確保する。
プログラムは、コンピュータ90に発揮させる機能の一部を実現するためのものであってもよい。例えば、プログラムは、ストレージに既に記憶されている他のプログラムとの組み合わせ、または他の装置に実装された他のプログラムとの組み合わせによって機能を発揮させるものであってもよい。なお、他の実施形態においては、コンピュータは、上記構成に加えて、または上記構成に代えてPLD(Programmable Logic Device)などのカスタムLSI(Large Scale Integrated Circuit)を備えてもよい。PLDの例としては、PAL(Programmable Array Logic)、GAL(Generic Array Logic)、CPLD(Complex Programmable Logic Device)、FPGA(Field Programmable Gate Array)が挙げられる。この場合、プロセッサによって実現される機能の一部または全部が当該集積回路によって実現されてよい。
FIG. 7 is a schematic block diagram showing the configuration of a computer according to at least one embodiment.
The
The
The program may be for realizing a part of the functions to be exerted by the
ストレージ93の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ93は、コンピュータ90のバスに直接接続された内部メディアであってもよいし、インタフェース94または通信回線を介してコンピュータ90に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ90に配信される場合、配信を受けたコンピュータ90が当該プログラムをメインメモリ92に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ93は、一時的でない有形の記憶媒体である。
Examples of the
また、当該プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、当該プログラムは、前述した機能をストレージ93に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル(差分プログラム)であってもよい。
Further, the program may be a program for realizing some of the functions described above. Further, the program may be a so-called difference file (difference program) that realizes the function described above in combination with another program already stored in the
100 エラー出力装置
101 入力部
102 学習済みモデル記憶部
103 関連度推定部
104 分類部
105 出力部
106 ログ記憶部
107 差分特定部
108 関連度特定部
109 学習部
200 コンパイラ
D1 エラーログ
D2 カテゴライズドエラーログ
100
Claims (10)
前記学習済みモデルを用いて、ソースコードのコンパイルによって生じた複数のエラー情報どうしの関連度を推定する関連度推定部と、
推定された前記関連度に基づいて前記複数のエラー情報を出力する出力部と
を備えるエラー出力装置。 A trained model trained to input a plurality of error information generated by compiling the source code and output a degree of association between the plurality of error information,
Using the learned model, a relevance estimation unit that estimates a relevance of a plurality of error information generated by compiling source code,
An output unit that outputs the plurality of pieces of error information based on the estimated degree of association.
前記特定された関連度を用いて前記学習済みモデルを訓練する学習部と
を備える請求項1に記載のエラー出力装置。 A degree of relevance that specifies the degree of relevance of the plurality of error information based on a first error information group generated by the compilation before the debugging work and a second error information group generated by the compilation after the debugging work A specific part,
An error output device according to claim 1, further comprising: a learning unit that trains the learned model using the identified degree of association.
請求項2に記載のエラー出力装置。 The degree-of-association specifying unit determines the degree of association between a plurality of pieces of error information included in only one of the first error information group and the second error information group, the error information included in the first error information group. The error output device according to claim 2, wherein the error output device specifies the degree of association between the error information included in the second error information group and the error information included in the second error information group.
前記出力部は、前記複数のカテゴリに基づいて前記エラー情報を出力する
請求項1から請求項3の何れか1項に記載のエラー出力装置。 A classification unit that classifies the plurality of error information into a plurality of categories based on the estimated degree of association,
The error output device according to claim 1, wherein the output unit outputs the error information based on the plurality of categories.
推定された前記関連度に基づいて前記複数のエラー情報を出力するステップと
を備えるエラー出力方法。 By inputting multiple error information generated by compiling the source code and using a trained model that is trained to output the degree of association between the multiple error information, the multiple error information generated by compiling the source code Estimating the degree of association of
Outputting the plurality of error information based on the estimated degree of association.
ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するように学習された学習済みモデル、
前記学習済みモデルを用いて、ソースコードのコンパイルによって生じた複数のエラー情報どうしの関連度を推定する関連度推定部、
推定された前記関連度に基づいて前記複数のエラー情報を出力する出力部
として機能させるためのプログラム。 Computer,
A trained model trained to input a plurality of error information generated by compiling source code and output a degree of association between the plurality of error information,
Using the learned model, a degree-of-association estimating unit that estimates the degree of association between a plurality of error information generated by compiling the source code,
A program for functioning as an output unit that outputs the plurality of error information based on the estimated degree of association.
前記複数のエラー情報と前記特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するようにモデルを訓練する学習部と
を備える学習装置。 Relevance identification that identifies the degree of association between a plurality of error information based on the first error information group generated by the compilation before the debugging work and the second error information group generated by the compilation after the debugging work Department,
Using a learning data set including the plurality of error information and the specified degree of association, inputting a plurality of error information generated by compiling the source code, and outputting a degree of association between the plurality of error information. And a learning unit for training the model.
前記複数のエラー情報と前記特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するようにモデルを訓練するステップと
を備える学習済みモデルの生成方法。 A step of identifying a degree of association between a plurality of error information based on a first error information group generated by the compilation before the debugging work and a second error information group generated by the compilation after the debugging work;
Using a learning data set including the plurality of error information and the specified degree of association, inputting a plurality of error information generated by compiling the source code, and outputting a degree of association between the plurality of error information. A method of generating a trained model, the method comprising:
デバッグ作業前のコンパイルによって生じた第1のエラー情報群と、前記デバッグ作業後のコンパイルによって生じた第2のエラー情報群とに基づいて、複数のエラー情報どうしの関連度を特定する関連度特定部、
前記複数のエラー情報と前記特定された関連度とを含む学習用データセットを用いて、ソースコードのコンパイルによって生じる複数のエラー情報を入力し、前記複数のエラー情報どうしの関連度を出力するようにモデルを訓練する学習部
として機能させるためのプログラム。 Computer,
Relevance identification that identifies the degree of association between a plurality of error information based on the first error information group generated by the compilation before the debugging work and the second error information group generated by the compilation after the debugging work Department,
Using a learning data set including the plurality of error information and the specified degree of association, inputting a plurality of error information generated by compiling the source code, and outputting a degree of association between the plurality of error information. A program to function as a learning part for training the model.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018220358A JP7238361B2 (en) | 2018-11-26 | 2018-11-26 | Error output device, error output method, learning device, trained model generation method, program, and trained model |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2018220358A JP7238361B2 (en) | 2018-11-26 | 2018-11-26 | Error output device, error output method, learning device, trained model generation method, program, and trained model |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2020086928A true JP2020086928A (en) | 2020-06-04 |
JP7238361B2 JP7238361B2 (en) | 2023-03-14 |
Family
ID=70908241
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018220358A Active JP7238361B2 (en) | 2018-11-26 | 2018-11-26 | Error output device, error output method, learning device, trained model generation method, program, and trained model |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7238361B2 (en) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206501A (en) * | 2002-12-26 | 2004-07-22 | Hitachi Ltd | Error message output control system and method, and compiler |
JP2009169573A (en) * | 2008-01-15 | 2009-07-30 | Fujitsu Ten Ltd | Analysis result output device and analysis result output method |
-
2018
- 2018-11-26 JP JP2018220358A patent/JP7238361B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206501A (en) * | 2002-12-26 | 2004-07-22 | Hitachi Ltd | Error message output control system and method, and compiler |
JP2009169573A (en) * | 2008-01-15 | 2009-07-30 | Fujitsu Ten Ltd | Analysis result output device and analysis result output method |
Also Published As
Publication number | Publication date |
---|---|
JP7238361B2 (en) | 2023-03-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11494295B1 (en) | Automated software bug discovery and assessment | |
KR102214297B1 (en) | Conditional validation rules | |
US9483387B1 (en) | Tree comparison functionality for services | |
US8555234B2 (en) | Verification of soft error resilience | |
US11835987B2 (en) | Methods and apparatus for finding long methods in code | |
JP2018112863A (en) | Abnormality detecting device, abnormality detecting method, and abnormality detecting program | |
US20160342720A1 (en) | Method, system, and computer program for identifying design revisions in hardware design debugging | |
CN111108481B (en) | Fault analysis method and related equipment | |
Granda et al. | What do we know about the defect types detected in conceptual models? | |
US10823782B2 (en) | Ensuring completeness of interface signal checking in functional verification | |
JP6331756B2 (en) | Test case generation program, test case generation method, and test case generation apparatus | |
CN113138808B (en) | Integration method, device, computer equipment and storage medium | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
JP6692281B2 (en) | Test case generation device and test case generation method | |
JP2016085152A (en) | Diagnostic apparatus, diagnostic program and diagnostic method | |
JP7238361B2 (en) | Error output device, error output method, learning device, trained model generation method, program, and trained model | |
JP2013077124A (en) | Software test case generation device | |
CN115543435A (en) | Software development quality measuring method, device and equipment based on development contribution value | |
JP2016143107A (en) | Source code evaluation system and method | |
JP6002507B2 (en) | Software verification program and software verification system | |
GB2397905A (en) | Method for automatically generating and ordering test scripts | |
JP2011257845A (en) | Delay library generation device, delay library generation program, and delay library generation method | |
US7650579B2 (en) | Model correspondence method and device | |
KR102382017B1 (en) | Apparatus and method for malware lineage inference system with generating phylogeny | |
CN108509347B (en) | Equivalent variant identification method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20211008 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220830 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221031 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20230131 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20230213 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 7238361 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |