JP6903533B2 - Debug support device, debug support program - Google Patents
Debug support device, debug support program Download PDFInfo
- Publication number
- JP6903533B2 JP6903533B2 JP2017180869A JP2017180869A JP6903533B2 JP 6903533 B2 JP6903533 B2 JP 6903533B2 JP 2017180869 A JP2017180869 A JP 2017180869A JP 2017180869 A JP2017180869 A JP 2017180869A JP 6903533 B2 JP6903533 B2 JP 6903533B2
- Authority
- JP
- Japan
- Prior art keywords
- test
- small difference
- source code
- list
- small
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012360 testing method Methods 0.000 claims description 140
- 238000000034 method Methods 0.000 description 42
- 230000008569 process Effects 0.000 description 40
- 238000012545 processing Methods 0.000 description 34
- 238000010586 diagram Methods 0.000 description 17
- 230000015556 catabolic process Effects 0.000 description 6
- 238000006731 degradation reaction Methods 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 210000003813 thumb Anatomy 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013100 final test Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソフトウェア開発等において使用されるデバッグ支援装置、デバッグ支援プログラムに関する。 The present invention relates to a debug support device and a debug support program used in software development and the like.
バージョン管理システムにおいて、特定のバージョンAで試験合格になった後の別のバージョンBで試験不合格になるデグレードの場合に、AB間の各バージョンに対して試験合格不合格を二分探索することにより、試験合格から不合格への変化点であるコミットを特定するデバッグ支援機能がある。 In a version control system, in the case of a debug that passes the test in one version A and then fails the test in another version B, by binary search for the pass / fail test for each version between AB. , There is a debug support function to identify the commit that is the change point from passing the exam to failing the exam.
しかしながら、従来のデバッグ支援機能においては、デグレード点をコミットの単位で特定しているため、該当コミットに含まれる差分が大きい場合には、開発担当者の技能、知識や経験則に基づいて差分の中から試験合格不合格の変化要因を解析してデグレード要因箇所を特定する必要があった。 However, in the conventional debug support function, the degradation point is specified in units of commits, so if the difference included in the commit is large, the difference will be based on the skill, knowledge, and rules of thumb of the person in charge of development. It was necessary to analyze the factors that changed the pass / fail of the test and identify the location of the degradation factor.
特にブランチ間のマージを行う際には、該当コミットに含まれるソースコード差分が大きくなりやすくデグレードも起こりやすいため、開発担当者がデグレード要因を解析してソースコードの該当箇所を特定する必要のあることが多かった。 Especially when merging between branches, the source code difference included in the commit is likely to be large and degradation is likely to occur, so it is necessary for the developer to analyze the degradation factor and identify the relevant part of the source code. There were many things.
また、テスト用データファイルを拡充する際には、拡充前データファイルが考慮していなかったコーナーケースを追加することによりプログラムの潜在欠陥が表れやすいが、どの追加データで潜在欠陥が表れるのかをテストケースによって完全に明らかにするのは難しいため、開発担当者が潜在欠陥を解析して当該データを特定する必要があった。 In addition, when expanding the test data file, latent defects in the program are likely to appear by adding corner cases that were not considered in the data file before expansion, but it is tested which additional data the latent defects appear in. Since it is difficult to clarify completely in some cases, it was necessary for developers to analyze potential defects to identify the data.
そのため、技能、知識や経験則を備えた開発担当者でなければソースコードおよびデータファイルの試験不合格要因箇所を特定するのが難しく、工数がかかるという問題があった。 Therefore, there is a problem that it is difficult to identify the cause of the test failure of the source code and the data file unless the person in charge of development has skills, knowledge, and empirical rules, and it takes man-hours.
本発明は上記の課題を解決するためになされたものであり、効率的にソースコードまたはデータファイルの試験不合格要因箇所を特定することを可能とするデバッグ支援装置、デバッグ支援プログラムを提供することを目的とする。 The present invention has been made to solve the above problems, and provides a debug support device and a debug support program that can efficiently identify the test failure factor part of the source code or the data file. With the goal.
実施形態によれば、デバッグ支援装置は、小差分リスト初期化部と小差分リスト探索部を有する。小差分リスト初期化部は、第1記憶部に記憶された第1試験合格ソースコードおよびデータファイルの第1データテーブルと、第2記憶部に記憶された試験不合格ソースコードおよびデータファイルの第2データテーブルとの差分を抽出して細分化した小差分のリストを作成して第3記憶部に記憶させる。小差分リスト探索部は、前記第1試験合格ソースコードおよびデータファイルに前記リストに含まれる小差分の組合せを適用して試験を実施することを繰り返し、試験に不合格となる小差分の組合せを探索して出力する。 According to the embodiment, the debug support device has a small difference list initialization unit and a small difference list search unit. The small difference list initialization unit is the first data table of the first test pass source code and data file stored in the first storage unit, and the test failure source code and data file stored in the second storage unit. 2 Extract the difference from the data table, create a subdivided list of small differences, and store it in the third storage unit. The small difference list search unit repeatedly performs the test by applying the combination of the small differences included in the list to the source code and the data file that passed the first test, and selects the combination of the small differences that fails the test. Search and output.
以下、実施形態について図面を参照して説明する。
(第1実施形態)
第1実施形態のデバッグ支援装置及びデバッグ支援プログラムは、プログラムが試験で合格になったバージョンAのソースコードおよびデータファイルと不合格になったバージョンBのソースコードおよびデータファイルとの差分を抽出して細分化した小差分のリストを作成し、試験で合格になったソースコードおよびデータファイルに前記の小差分リストから取り出した小差分の組合せを適用して試験を実施することを繰返し、合格になった小差分組合せを用いて小差分のリストと試験で合格になったソースコードおよびデータファイルを更新することで、枝刈りをしながら試験不合格になる小差分の組合せで最小のものを探索する。
Hereinafter, embodiments will be described with reference to the drawings.
(First Embodiment)
The debug support device and the debug support program of the first embodiment extract the difference between the version A source code and data file in which the program passed the test and the version B source code and data file in which the program failed. Create a subdivided list of small differences, apply the combination of small differences extracted from the above small difference list to the source code and data files that passed the test, and repeat the test to pass. By updating the list of small differences and the source code and data files that passed the test using the small difference combination that became, search for the smallest combination of small differences that fails the test while pruning. To do.
これにより、開発担当者の技能、知識や経験則に基づく必要なく、自動的かつ効率的にソースコードまたはデータファイルの試験不合格要因箇所を特定することを可能にする。 This makes it possible to automatically and efficiently identify the factors that cause the source code or data file to fail the test, without the need to rely on the skills, knowledge, and rules of thumb of the developer.
図1は、第1実施形態におけるデバッグ支援装置1の構成を示すブロック図である。デバッグ支援装置1は、例えばパーソナルコンピュータによって実現される。デバッグ支援装置1は、プロセッサ2、メモリ3、記憶装置4、入力装置5、および表示装置6を有する。
FIG. 1 is a block diagram showing a configuration of the
プロセッサ2は、メモリ3に記憶された基本プログラム(OS)やアプリケーションプログラムを実行して、各種の機能を実現する。例えば、プロセッサ2は、デバッグ支援プログラムを実行することで、パーソナルコンピュータをデバッグ支援装置1として動作させる。プロセッサ2は、本実施形態におけるデバッグ支援プログラムを実行することにより、デバッグ支援処理を実行して、パーソナルコンピュータをデバッグ支援装置1として動作させる。
The
メモリ3は、プロセッサ2により実行されるプログラムや一時的なデータ等が記憶される。例えば、メモリ3には、記憶装置4から読み出されるデバッグ支援プログラム4Aなどの各種プログラムの他、各種処理で使用されるデータが記憶される。
The
記憶装置4は、各種のプログラムや各種データが記憶される。記憶装置4に記憶されるプログラムには、デバッグ支援プログラム4Aが含まれる。また、記憶装置4には、デバッグ支援プログラム4Aに基づくテスト支援処理で使用されるデータを記憶する記憶部10が設けられる。
The
表示装置6は、LCD(Liquid Crystal Display)などであり、プロセッサ2の処理に応じた画面を表示させる。入力装置5は、キーボードやポインティングデバイスなどであり、作業者等により操作される。
The
図2は、本実施形態におけるデバッグ支援装置1において、プロセッサ2によりデバッグ支援プログラム4Aを実行することにより実現される機能構成を示すブロック図である。デバッグ支援装置1は、記憶部10とデバッグ支援処理部20とを備える。
FIG. 2 is a block diagram showing a functional configuration realized by executing the
記憶部10は、試験合格ソースコードおよびデータファイル記憶部11、試験不合格ソースコードおよびデータファイル記憶部12、試験合格ソースコードおよびデータファイル記憶部13、及び小差分リスト記憶部14とを備える。
The
デバッグ支援処理部20は、小差分リスト初期化部21、試験合格中間ソースコードおよびデータファイル初期化部22、及び試験不合格小差分リスト探索部23を備える。
The debug
試験合格ソースコードおよびデータファイル記憶部11は、試験合格になった特定のバージョンのソースコードおよびデータファイルとして、試験合格ソースコードおよびデータファイルのデータテーブル111を記憶する。
The test-passing source code and data
試験不合格ソースコードおよびデータファイル記憶部12は、試験不合格になった別のバージョンのソースコードおよびデータファイルとして、試験不合格ソースコードおよびデータファイルのデータテーブル121を記憶する。
The test-failed source code and data
試験合格中間ソースコードおよびデータファイル記憶部13は、試験不合格になる小差分の組合せを探索する途中で、試験合格になった中間ソースコードおよびデータファイルとして、試験合格中間ソースコードおよびデータファイルのデータテーブル131を記憶する。
The intermediate source code and data file that passed the test The
小差分リスト記憶部14は、試験不合格になる小差分の組合せを探索する途中で、試験合格中間ソースコードおよびデータファイルのデータテーブル131と試験不合格ソースコードおよびデータファイルのデータテーブル121との差分を細分化した小差分リストとして、小差分リストのデータテーブル141を記憶する。
The small difference
小差分リスト初期化部21は、試験合格ソースコードおよびデータファイル記憶部11から試験合格ソースコードおよびデータファイルのデータテーブル111を取得し、試験不合格ソースコードおよびデータファイル記憶部12から試験不合格ソースコードおよびデータファイルのデータテーブル121を取得し、両者の差分を抽出して細分化した小差分リストを作成して、小差分リストのデータテーブル141の初期状態として小差分リスト記憶部14に保存する。
The small difference
試験合格中間ソースコードおよびデータファイル初期化部22は、試験合格ソースコードおよびデータファイル記憶部11から試験合格ソースコードおよびデータファイルのデータテーブル111を取得し、試験合格中間ソースコードおよびデータファイルのデータテーブル131の初期状態として試験合格中間ソースコードおよびデータファイル記憶部13に保存する。
The test pass intermediate source code and data file
試験不合格小差分リスト探索部23は、試験合格中間ソースコードおよびデータファイル記憶部13から試験合格中間ソースコードおよびデータファイルのデータテーブル131を取得し、小差分リスト記憶部14から小差分リストのデータテーブル141と小差分組合せ選択候補リストのデータテーブル142を取得して小差分組合せ143を選択し、試験実行処理の結果に基づいて、更新小差分リストのデータテーブル144により小差分リスト記憶部14を、また更新試験合格中間ソースコードおよびデータファイルのデータテーブル132により試験合格中間ソースコードおよびデータファイル記憶部13を、それぞれ繰り返し更新することにより、終了時小差分リストのデータテーブル145および終了時試験合格ソースコードおよびデータファイルのデータテーブル133を出力する。
The test-failed small difference
終了時小差分リストのデータテーブル145は、探索目的である試験不合格になる小差分の組合せで最小のものである。 The data table 145 of the end small difference list is the smallest combination of small differences that fails the test, which is the purpose of the search.
終了時試験合格ソースコードおよびデータファイルのデータテーブル133は、試験不合格になる小差分の組合せで最小のものに対応した、試験合格になる小差分の組合せで最大のものを適用したソースコードおよびデータファイルである。 The data table 133 of the source code and data file that passed the test at the end corresponds to the smallest combination of small differences that pass the test, and the source code that applies the largest combination of small differences that pass the test. It is a data file.
なお、第1実施形態では、試験合格になる小差分の組合せを探索しているが、例えば予め決められた数以下となる小差分の組合せを探索するようにしても良い。 In the first embodiment, the combination of small differences that passes the test is searched for, but for example, the combination of small differences that is less than or equal to a predetermined number may be searched.
次に、第1実施形態のデバッグ支援装置1の動作について、図3、図4及び図5に示すフローチャートを参照しながら説明する。
図3は、第1実施形態の小差分リスト初期化部21の処理を説明するフローチャートである。小差分リスト初期化部21は、差分算出処理(ステップ211)と、細分化処理(ステップ212)とを実行する。
Next, the operation of the
FIG. 3 is a flowchart illustrating the processing of the small difference
まず、小差分リスト初期化部21による差分算出処理(ステップ211)について説明する。
小差分リスト初期化部21は、試験合格ソースコードおよびデータファイル記憶部11から試験合格ソースコードおよびデータファイルのデータテーブル111を取得し、試験不合格ソースコードおよびデータファイル記憶部12から試験不合格ソースコードおよびデータファイルのデータテーブル121を取得する。また、小差分リスト初期化部21は、データファイルのデータテーブル111と試験不合格ソースコードおよびデータファイルのデータテーブル121との差分を算出する。その際、差分算出処理211は、例えば一般に利用される差分算出法であるWuのアルゴリズムや動的計画法など、またはそれらを実装したdiffツールなどを用いることができる。
First, the difference calculation process (step 211) by the small difference
The small difference
図6は、試験合格ソースコードおよびデータファイルのデータテーブル111の一例を示す図である。試験合格ソースコードおよびデータファイルのデータテーブル111には、ファイルパス(ファイル名)と、当該ファイル内容とが格納されている。 FIG. 6 is a diagram showing an example of a data table 111 of a test-passing source code and a data file. The file path (file name) and the contents of the file are stored in the data table 111 of the test-passing source code and the data file.
図7は、試験不合格ソースコードおよびデータファイルのデータテーブル121の一例を示す図である。試験不合格ソースコードおよびデータファイルのデータテーブル121は、ファイルパス(ファイル名)と、当該ファイル内容とが格納されている。 FIG. 7 is a diagram showing an example of the data table 121 of the test-failed source code and the data file. The data table 121 of the test-failed source code and the data file stores the file path (file name) and the contents of the file.
次に、小差分リスト初期化部21による細分化処理(ステップ212)について説明する。
小差分リスト初期化部21は、差分算出処理により算出した差分を小差分に細分化し、小差分リストのデータテーブル141の初期状態として小差分リスト記憶部14に保存する。小差分に細分化する単位は、例えば、差分のうち1行を1小差分とする、または差分のうち連続する行を1小差分とする。図6及び図7に示すデータテーブル111,121の場合、例えば、ファイル名が「family.txt」のデータファイルについては差分のうち1行を1小差分とし、ファイル名が「discount.c」のソースコードについては差分のうち連続する行を1小差分とする。
Next, the subdivision process (step 212) by the small difference
The small difference
差分のうち1行を1小差分とする場合、行単位で最小の試験不合格になる小差分の組合せを算出できる代わりに、探索対象となる小差分の組合せが後者よりも多いために処理時間が長くなる。差分のうち連続する行を1小差分とする場合、探索対象となる小差分の組合せが前者よりも少ないために処理時間が短くなる代わりに、連続する行単位で最小の試験不合格になる小差分の組合せまでしか算出できず、1小差分が行単位で最小の試験不合格になる小差分の組合せより大きい、あるいは同じとなる。 When one line of the difference is one small difference, the combination of small differences that fails the minimum test can be calculated for each line, but the processing time is larger than the latter because there are more combinations of small differences to be searched. Becomes longer. When consecutive lines of the difference are set as one small difference, the number of combinations of small differences to be searched is smaller than that of the former, so that the processing time is shortened. Only the combination of differences can be calculated, and one small difference is larger than or the same as the combination of small differences that causes the minimum test failure in line units.
なお、前述した小差分リスト初期化部21による細分化処理では、データファイルについては差分のうち1行を1小差分として、ソースコードについては差分のうち連続する行を1小差分としているが、これに限定されるものではない。
In the subdivision processing by the small difference
図8は、小差分リストのデータテーブル141の一例を示す図である。小差分リストのデータテーブル141は、小差分毎に付される通番IDと、ファイルパス(ファイル名)と、操作種別(挿入、削除、置換)と、合格側行範囲と、不合格側行範囲と、差分の不合格側の内容とが格納されている。 FIG. 8 is a diagram showing an example of the data table 141 of the small difference list. The data table 141 of the small difference list contains a serial number ID assigned to each small difference, a file path (file name), an operation type (insert, delete, replace), a pass side line range, and a fail side line range. And the contents of the failing side of the difference are stored.
図4は、第1実施形態の試験合格中間ソースコードおよびデータファイル初期化部22の処理を説明するフローチャートである。試験合格中間ソースコードおよびデータファイル初期化部22は、コピー処理(ステップ221)を実行する。
FIG. 4 is a flowchart illustrating the processing of the test-passing intermediate source code and the data
試験合格中間ソースコードおよびデータファイル初期化部22は、コピー処理により、試験合格ソースコードおよびデータファイル記憶部11から試験合格ソースコードおよびデータファイルのデータテーブル111を取得し、このデータテーブル111を試験合格中間ソースコードおよびデータファイルのデータテーブル131の初期状態として試験合格中間ソースコードおよびデータファイル記憶部13に保存する。
The test pass intermediate source code and data file
図11は、試験合格中間ソースコードおよびデータファイルのデータテーブル131の一例を示す図である。試験合格中間ソースコードおよびデータファイルのデータテーブル131は、ファイルパス(ファイル名)と、当該ファイル内容とが格納されている。 FIG. 11 is a diagram showing an example of the data table 131 of the test-passing intermediate source code and the data file. The data table 131 of the intermediate source code and the data file that passed the test stores the file path (file name) and the contents of the file.
図5は、第1実施形態の試験不合格小差分リスト探索部23の処理を説明するフローチャートである。試験不合格小差分リスト探索部23は、小差分組合せループ処理(ステップ231)、小差分組合せ取得処理(ステップ232)、差分適用処理(ステップ233)、試験実行処理(ステップ234)、試験合格中間ソースコードおよびデータファイル更新処理(ステップ235)、小差分リスト更新処理(ステップ236)、小差分組合せループ終端(ステップ237)、及び合格判定処理(ステップ238)を実行する。
FIG. 5 is a flowchart illustrating the processing of the test failure small difference
試験不合格小差分リスト探索部23は、小差分組合せループ処理(ステップ231)により、小差分組合せ選択候補リストのデータテーブル142を取得し、リストの各行を順番に選択して小差分組合せ取得処理(ステップ232)以降を実行する。
The test failure small difference
図9は、小差分組合せ選択候補リストのデータテーブル142の一例を示す図である。小差分組合せ選択候補リストのデータテーブル142は、小差分リストのデータテーブル141の通番IDの全ての組合せを漏れなくリストアップしたものが格納されている。すなわち、小差分組合せ選択候補リストのデータテーブル142には、全ての小差分の組合せが定義される。 FIG. 9 is a diagram showing an example of the data table 142 of the small difference combination selection candidate list. The data table 142 of the small difference combination selection candidate list stores a list of all combinations of serial number IDs of the data table 141 of the small difference list without omission. That is, all the combinations of small differences are defined in the data table 142 of the small difference combination selection candidate list.
試験不合格小差分リスト探索部23は、小差分組合せ取得処理(ステップ232)により、小差分組合せ選択候補リストのデータテーブル142のうちで小差分組合せループ処理231で選択された行に対応する小差分リストのデータテーブル141の行を、選択対象小差分組合せのデータテーブル143として取得する。
The test-failed small difference
図10は、選択対象小差分組合せのデータテーブル143の一例を示す図である。選択対象小差分組合せのデータテーブル143は、通番IDと、ファイルパス(ファイル名)と、操作種別(挿入、削除、置換)と、合格側行範囲と、不合格側行範囲と、差分の不合格側の内容とが格納されている。図10は、図9に示すID組合せ「1」に対応する行に対応する選択対象小差分組合せのデータテーブル143である。例えば、図9に示すID組合せ「1,2,3」に対応する選択対象小差分組合せのデータテーブル143では、通番ID「1,2,3」のデータが含まれる。 FIG. 10 is a diagram showing an example of the data table 143 of the selection target small difference combination. In the data table 143 of the small difference combination to be selected, the serial number ID, the file path (file name), the operation type (insert, delete, replace), the pass side line range, the fail side line range, and the difference are not found. The contents of the passing side are stored. FIG. 10 is a data table 143 of the selection target small difference combination corresponding to the row corresponding to the ID combination “1” shown in FIG. For example, in the data table 143 of the selection target small difference combination corresponding to the ID combination “1, 2, 3” shown in FIG. 9, the data of the serial number ID “1, 2, 3” is included.
試験不合格小差分リスト探索部23は、差分適用処理(ステップ233)により、試験合格中間ソースコードおよびデータファイルのデータテーブル131に対して、選択対象小差分組合せのデータテーブル143の内容(小差分)を適用して、試験対象とするソースコードおよびデータファイルを生成する。試験不合格小差分リスト探索部23は、選択対象小差分組合せのデータテーブル143の操作種別が「挿入」の場合には該当行に差分の不合格側の内容を挿入し、操作種別が「削除」の場合には該当行を削除し、操作種別が「置換」の場合には該当行を差分の不合格側の内容で置換する。その際には一般に利用されるpatchツールを用いることができる。
The test-failed small-difference
試験不合格小差分リスト探索部23は、試験実行処理(ステップ234)により、差分適用後のソースコードおよびデータファイルの試験を実施する。試験不合格小差分リスト探索部23は、差分適用後のソースコードおよびデータファイルについて試験を実施した結果、試験合格あるいは試験不合格を判定する(ステップ238)。試験合格と判定される場合、試験不合格小差分リスト探索部23は、試験合格中間ソースコードおよびデータファイル更新処理(ステップ235)と小差分リスト更新処理(ステップ236)を実行する。
The test failure small difference
試験不合格小差分リスト探索部23は、試験合格中間ソースコードおよびデータファイル更新処理(ステップ235)により、差分適用後のソースコードおよびデータファイルである、更新試験合格中間ソースコードおよびデータファイルのデータテーブル132で試験合格中間ソースコードおよびデータファイルのデータテーブル131を更新する。
The test-failed small difference
図12は、更新試験合格中間ソースコードおよびデータファイルのデータテーブル132の一例を示す図である。更新試験合格中間ソースコードおよびデータファイルのデータテーブル132は、ファイルパスと、当該ファイル内容とが格納されている。図12に示すデータテーブル132は、図11に示す試験合格中間ソースコードおよびデータファイルのデータテーブル131に対して、図10に示す選択対象小差分組合せのデータテーブル143の内容が適用されたことにより、ファイル名が「discount.c」のソースコードの2行目「#include<stdio.h>」が削除されている。 FIG. 12 is a diagram showing an example of the data table 132 of the intermediate source code and the data file that passed the update test. The data table 132 of the intermediate source code and the data file that passed the update test stores the file path and the contents of the file. The data table 132 shown in FIG. 12 is obtained by applying the contents of the data table 143 of the selection target small difference combination shown in FIG. 10 to the data table 131 of the test-passing intermediate source code and the data file shown in FIG. , The second line "#include <stdio.h>" of the source code whose file name is "discount.c" has been deleted.
また、試験不合格小差分リスト探索部23は、小差分リスト更新処理(ステップ236)により、試験合格の場合に小差分リストのデータテーブル141から当該小差分の組合せを削除し、合格側行を更新試験合格中間ソースコードおよびデータファイルのデータテーブル132に対応したものに更新した、更新小差分リストのデータテーブル144で小差分リストのデータテーブル141を更新する。
Further, the test-failed small-difference
試験不合格小差分リスト探索部23は、小差分リストのデータテーブル141および試験合格中間ソースコードおよびデータファイル131を更新した後、小差分組合せループ処理231の最初からループ処理を実行する。このとき、前回の小差分組合せループ処理231の開始時と比べて小差分リストのデータテーブル141の要素数が一つ以上減っており、小差分組合せループ処理231が終了するまでの繰り返し回数の期待値は減っている。
The test-failed small-difference
図13は、更新小差分リストのデータテーブル144の一例を示す図である。更新小差分リストのデータテーブル144は、通番IDと、ファイルパス(ファイル名)と、操作種別(挿入、削除、置換)と、合格側行範囲と、不合格側行範囲と、差分の不合格側の内容とが格納されている。 FIG. 13 is a diagram showing an example of the data table 144 of the update small difference list. The data table 144 of the update small difference list shows the serial number ID, the file path (file name), the operation type (insert, delete, replace), the pass side line range, the fail side line range, and the difference failure. The contents of the side are stored.
一方、試験不合格小差分リスト探索部23は、差分適用後のソースコードおよびデータファイルについて試験を実施した結果、試験不合格と判定される場合(ステップ238、不合格)、小差分組合せループ終端(ステップ237)において、試験不合格で小差分の組合せに残りがある場合には次の組合せを選択して小差分組合せループ処理231以降の処理を再開する。試験不合格小差分リスト探索部23は、試験不合格で小差分組合せ選択候補リストのデータテーブル142に残りの小差分の組合せがない場合には処理を終了する。
On the other hand, when the test failure small difference
試験不合格小差分リスト探索部23は、処理終了時、小差分リストのデータテーブル141を終了時小差分リストのデータテーブル145として出力し、試験合格中間ソースコードおよびデータファイルのデータテーブル131を終了時試験合格中間ソースコードおよびデータファイルのデータテーブル133として出力する。
At the end of processing, the test-failed small-difference
図14は、終了時小差分リストのデータテーブル145の一例を示す図である。終了時小差分リストのデータテーブル145は、通番IDと、ファイルパス(ファイル名)と、操作種別(挿入、削除、置換)と、合格側行範囲と、不合格側行範囲と、差分の不合格側の内容とが格納されている。終了時小差分リストのデータテーブル145の項目は、小差分単位での試験不合格の真因箇所、および真因箇所に依存する箇所によって構成されている。 FIG. 14 is a diagram showing an example of the data table 145 of the end small difference list. The data table 145 of the small difference list at the end shows the serial number ID, the file path (file name), the operation type (insert, delete, replace), the pass side line range, the fail side line range, and the difference. The contents of the passing side are stored. The items in the data table 145 of the small difference list at the end are composed of the root cause part of the test failure in the small difference unit and the part depending on the root cause part.
図14に示すように、終了時小差分リストのデータテーブル145から、ファイル名「discount.c」のソースコードの合格側行範囲「15」、不合格側行範囲「15」の内容と、ファイル名「family.txt」のデータファイルの合格側行範囲「13」、不合格側行範囲「14」の内容がデグレード要因箇所であることが特定できる。 As shown in FIG. 14, from the data table 145 of the small difference list at the end, the contents of the pass side line range “15” and the fail side line range “15” of the source code of the file name “discount.c” and the file. It can be identified that the contents of the pass side line range "13" and the fail side line range "14" of the data file with the name "family.txt" are the degradation factor points.
図15は、終了時試験合格中間ソースコードおよびデータファイルのデータテーブル133の一例を示す図である。終了時試験合格中間ソースコードおよびデータファイルのデータテーブル133は、ファイルパスと、当該ファイル内容とが格納されている。 FIG. 15 is a diagram showing an example of data table 133 of the intermediate source code and the data file that passed the final test. The data table 133 of the intermediate source code and the data file that passed the test at the end stores the file path and the contents of the file.
終了時試験合格中間ソースコードおよびデータファイルのデータテーブル133では、図14に示す終了時小差分リストのデータテーブル145の内容を含まない、試験合格になる小差分の組合せにより構成されている。 The data table 133 of the intermediate source code and the data file that passed the test at the end is composed of a combination of small differences that pass the test, not including the contents of the data table 145 of the small difference list at the end shown in FIG.
このようにして、第1実施形態のデバッグ支援装置1では、プログラムが試験で合格になったバージョンAのソースコードおよびデータファイル(試験合格ソースコードおよびデータファイルのデータテーブル111)と、不合格になったバージョンBのソースコードおよびデータファイル(試験不合格ソースコードおよびデータファイルのデータテーブル121)との差分を抽出して細分化した小差分のリスト(小差分リストのデータテーブル141)を作成し、試験で合格になったソースコードおよびデータファイルに小差分リストから取り出した小差分の組合せを適用して試験を実施することを繰返し、合格になった小差分組合せを用いて小差分のリストと試験で合格になったソースコードおよびデータファイルを更新することで枝刈り(不要な探索の打ち切り)をしながら不合格になる小差分の組合せで最小のものを探索することができる。すなわち、デグレード点をソースコードおよびデータファイルに対するコミットの単位で特定するのではなく、コミットを構成する小差分組合せの単位で特定することにより、開発担当者の技能、知識や経験則に基づいて差分の中から試験合格不合格の変化要因を解析する必要がなく、自動的かつ効率的にソースコードまたはデータファイルの試験不合格要因箇所を特定することが可能となる。
In this way, in the
(第2実施形態)
次に、第2実施形態のデバッグ支援装置1Bについて説明する。
図16は、第2実施形態のデバッグ支援装置1Bの構成を示すブロック図である。第2実施形態のデバッグ支援装置1Bは、記憶部10と、デバッグ支援処理部20Aと、デバッグ支援処理部20Bとを備える。なお、デバッグ支援装置1Bは、基本的に第1実施形態のデバッグ支援装置1と同様に構成されるものとし、同じ名称を付した構成部については第1実施形態と同じものとして詳細な説明を省略する。
(Second Embodiment)
Next, the debug support device 1B of the second embodiment will be described.
FIG. 16 is a block diagram showing a configuration of the debug support device 1B of the second embodiment. The debug support device 1B of the second embodiment includes a
記憶部10は、試験合格ソースコードおよびデータファイル記憶部11と、試験不合格ソースコードおよびデータファイル記憶部12と、試験合格ソースコードおよびデータファイル記憶部13と、小差分リスト記憶部14とを備える。
The
デバッグ支援処理部20Aは、小差分リスト初期化部21と、試験合格中間ソースコードおよびデータファイル初期化部22とを備える。
The debug
デバッグ支援処理部20Bは、複数の試験不合格小差分リスト探索部23(23−3,23−2,23−3)を備える。複数の試験不合格小差分リスト探索部23は、小差分組合せ選択候補リストのデータテーブル142からそれぞれ異なる小差分組合せを選択して、並列に、それぞれ第1実施形態の試験不合格小差分リスト探索部23と同様に処理を実行する。
The debug
このように、第2実施形態のデバッグ支援装置1Bによれば、複数の試験不合格小差分リスト探索部23を複数並列に配置したことにより、それぞれの試験不合格小差分リスト探索部23が異なる小差分の組合せを選択して同時並列に探索することが可能になるため、処理時間を短くすることができる。小差分組合せ選択候補リストのデータテーブル142にある小差分の組合せの全てに対して総当たりで探索すると、小差分の数が増えるほど組合せ数が増大して、試験不合格小差分リスト探索部23における処理の繰り返し回数がきわめて多くなるが、試験不合格小差分リスト探索部23を複数設けて平行に処理することで、探索が終了するまでにかかる時間を現実的な範囲に収めることが可能となる。
As described above, according to the debug support device 1B of the second embodiment, since a plurality of test-failed small difference
なお、図16に示すデバッグ支援装置1Bでは、3つの試験不合格小差分リスト探索部23−3,23−2,23−3が設けられているが、3つに限らない。 The debug support device 1B shown in FIG. 16 is provided with three test-failed small difference list search units 23-3, 23-2, and 23-3, but the number is not limited to three.
(第3実施形態)
次に、第3実施形態について説明する。第3実施形態は、第1実施形態のデバッグ支援装置1および第2実施形態のデバッグ支援装置1Bの試験不合格小差分リスト探索部23における小差分組合せループ処理(ステップ231)を変更する。
(Third Embodiment)
Next, the third embodiment will be described. The third embodiment changes the small difference combination loop processing (step 231) in the test failure small difference
第3実施形態の小差分組合せループ処理(ステップ231B)では、小差分組合せ選択候補リストのデータテーブル142Bを取得し、リストの各行を順番に選択して小差分組合せ取得処理(ステップ232)以降を実行する。 In the small difference combination loop processing (step 231B) of the third embodiment, the data table 142B of the small difference combination selection candidate list is acquired, each row of the list is selected in order, and the small difference combination acquisition processing (step 232) and subsequent steps are performed. Execute.
第3実施形態の小差分組合せ選択候補リストのデータテーブル142Bは、第1実施形態において説明した図9に示す小差分の組合せ(通番IDの全ての組合せ)を、小差分組合せ選択候補リストのデータテーブル142Bに関する事前情報に基づいて、試験に合格する蓋然性が高い順に並べ替えられている。 In the data table 142B of the small difference combination selection candidate list of the third embodiment, the small difference combinations (all combinations of serial number IDs) shown in FIG. 9 described in the first embodiment are used as the data of the small difference combination selection candidate list. They are sorted in descending order of probability of passing the exam based on prior information about Table 142B.
小差分の組合せの並べ替えは、例えば次のようにして実行することができる。 The rearrangement of the combination of small differences can be executed, for example, as follows.
小差分組合せ選択候補リストのデータテーブル142Bに関する事前情報の例の一つとして、もし小差分組合せの一つA1が他の小差分A2に依存することが構文解析などにより明らかであれば、A2を含まないA1は必ず不合格になるというものがある。他の小差分組合せに依存しないと思われる小差分組合せを前に、他の小差分組合せに明らかに依存する小差分組合せを後に並べる。 As one of the examples of prior information regarding the data table 142B of the small difference combination selection candidate list, if it is clear from parsing or the like that one of the small difference combinations A1 depends on the other small difference A2, A2 is used. There is a thing that A1 that does not include is always rejected. The small difference combinations that do not seem to depend on other small difference combinations are listed first, and the small difference combinations that clearly depend on other small difference combinations are listed later.
小差分組合せ選択候補リストのデータテーブル142Bに関する事前情報の例の一つとして、もし小差分組合せの一つB1が不合格ならばB1が依存しない小差分B2を追加しても必ず不合格であるが、B1が合格ならば小差分B3を追加すると不合格になる可能性があるため、組合せに含まれる小差分の数が少ないほど試験に合格する蓋然性が高いというものがある。小差分組合せ選択候補リストのデータテーブル142の例のように、組合せに含まれる小差分の数が少ないものから順に並べる。 As one of the examples of the prior information regarding the data table 142B of the small difference combination selection candidate list, if one of the small difference combinations B1 fails, even if the small difference B2 that B1 does not depend on is added, it always fails. However, if B1 passes, adding the small difference B3 may result in failure. Therefore, the smaller the number of small differences included in the combination, the higher the probability of passing the test. As in the example of the data table 142 of the small difference combination selection candidate list, the combinations are arranged in order from the one with the smallest number of small differences.
小差分組合せ選択候補リストのデータテーブル142Bに関する事前情報の例の一つとして、もし小差分組合せの一つC1が前回のループで不合格ならばC1が前回の更新小差分組合せC2に依存していなければ必ず今回のループでも不合格になるため、前回のループで不合格になった小差分組合せよりも試験していない小差分組合せの方が試験に合格する蓋然性が高いというものがある。前回のループで試験していない小差分組合せを前に、前回のループで不合格になった小差分組合せを後に並べる。 As an example of prior information about the data table 142B of the small difference combination selection candidate list, if one of the small difference combinations C1 fails in the previous loop, C1 depends on the last updated small difference combination C2. Otherwise, the loop will always fail, so there is a higher probability that the untested small difference combination will pass the test than the small difference combination that failed in the previous loop. The small difference combinations that have not been tested in the previous loop are listed first, and the small difference combinations that failed in the previous loop are listed later.
図17(A)は、試験に合格する蓋然性が高い順に小差分組合せを並べた小差分組合せ選択候補リストのデータテーブル142Bの一例を示す図である。なお、図17(B)には、図17(A)に示す各小差分組合せに対する並べ替えをした理由を示している。 FIG. 17A is a diagram showing an example of the data table 142B of the small difference combination selection candidate list in which the small difference combinations are arranged in descending order of probability of passing the test. Note that FIG. 17B shows the reason for rearranging each small difference combination shown in FIG. 17A.
例えば、図17(A)に示す通番ID「2」の小差分組合せについては、定数定義の挿入を、意味解析を伴わない構文解析により識別でき、なおかつ、他小差分に依存する見込みが低いと想定できるため、小差分組合せの前の方に並べている。同様に、通番ID「4」〜「8」の小差分組合せについては、データ定義の挿入が他小差分に依存する見込みが低いと想定できるため、小差分組合せの前の方に並べている。 For example, regarding the small difference combination of the serial number ID "2" shown in FIG. 17 (A), the insertion of the constant definition can be identified by parsing without semantic analysis, and it is unlikely that it depends on other small differences. Since it can be assumed, it is arranged in the front of the small difference combination. Similarly, the small difference combinations of the serial number IDs "4" to "8" are arranged in the front of the small difference combinations because it can be assumed that the insertion of the data definition is unlikely to depend on other small differences.
また、小差分の数が少ない組合せほど他小差分に依存する見込みが低いと想定できるため、小差分の数が一つの組合せ(通番ID「1」〜「8」)を列挙した後に、小差分の数が二つの組合せ(通番ID「2,4」「2,5」…)を列挙するように並べている。 Further, since it can be assumed that the combination with a smaller number of small differences is less likely to depend on other small differences, after enumerating the combinations with one small difference (serial number IDs "1" to "8"), the small difference The numbers are arranged so as to enumerate combinations of two (serial number IDs "2, 4", "2, 5" ...).
なお、小差分組合せ選択候補リストのデータテーブル142Bは、小差分リスト初期化部21が生成しても良いし、試験不合格小差分リスト探索部23が小差分組合せループ処理231において小差分組合せ選択候補リストのデータテーブル142をもとに生成しても良い。
The data table 142B of the small difference combination selection candidate list may be generated by the small difference
このようにして、第3実施形態のデバッグ支援装置1またはデバッグ支援装置1Bでは、小差分組合せ選択候補リストのデータテーブル142Bにおいて、試験に合格する蓋然性が高い小差分組合せから順に並べることにより、小差分リストのデータテーブル141および小差分組合せ選択候補リストのデータテーブル142を更新するまでの探索回数の期待値を減らすことが可能になる。このため、小差分組合せ選択候補リストのデータテーブル142Bに関する事前情報を利用することで、処理時間を短くすることができる。
In this way, in the
(第4実施形態)
次に、第4実施形態について説明する。第4実施形態は、第1実施形態のデバッグ支援装置1および第2実施形態のデバッグ支援装置1Bの試験不合格小差分リスト探索部23における小差分組合せループ処理(ステップ231)変更する。
(Fourth Embodiment)
Next, the fourth embodiment will be described. The fourth embodiment changes the small difference combination loop processing (step 231) in the test failure small difference
第4実施形態の小差分組合せループ処理(ステップ231C)は、小差分組合せ選択候補リストのデータテーブル142を取得し、リストの各行を順番に選択して小差分組合せ取得処理232以降を実行する。このとき小差分組合せ選択候補リストのデータテーブル142は、組合せに含まれる小差分の数(小差分の組合せ数)が一定の打ち切り値を越える選択候補を除外し、小差分の数が打ち切り値を越えない選択候補のみを残すものとする。
The small difference combination loop process (step 231C) of the fourth embodiment acquires the data table 142 of the small difference combination selection candidate list, selects each row of the list in order, and executes the small difference
例えば、小差分の数(組合せ数)が4つの小差分組合せについて試験実行処理(ステップ234)を実行した結果、試験不合格となる場合には、5つ以降の小差分組合せについても試験不合格となる可能性が高い。従って、組合せに含まれる小差分の数が一定(この場合、3つ、あるいは4つの小差分の数)を越える選択候補を除外することで、実効性のない処理が実行されないようにする。 For example, if the test execution process (step 234) is performed on a small difference combination having four small difference combinations (number of combinations) and the test fails, the test fails on five or more small difference combinations. Is likely to be. Therefore, by excluding the selection candidates in which the number of small differences included in the combination exceeds a certain number (in this case, the number of three or four small differences), ineffective processing is prevented from being executed.
このようにして、第4実施形態のデバッグ支援装置1またはデバッグ支援装置1Bでは、小差分組合せ選択候補リストのデータテーブル142の選択候補から打ち切り値を越える選択候補を除外したことにより、選択候補を減らすことが可能になるから、探索精度が低下する代わりに処理時間を短くすることができる。
In this way, in the
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、DVDなど)、光磁気ディスク(MO)、半導体メモリなどの記憶媒体に格納して頒布することもできる。 The methods described in each of the above embodiments include magnetic disks (flexible disks, hard disks, etc.), optical disks (CD-ROM, DVD, etc.), optical magnetic disks (MO), and so on, as programs that can be executed by a computer. It can also be stored and distributed in a storage medium such as a semiconductor memory.
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。 Further, the storage medium may be in any form as long as it is a storage medium capable of storing a program and readable by a computer.
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているOS(オペレーティングシステム)や、データベース管理ソフト、ネットワークソフト等のMW(ミドルウェア)等が上記実施形態を実現するための各処理の一部を実行しても良い。 Further, in order for the OS (operating system) running on the computer, the database management software, the MW (middleware) such as the network software, etc. to realize the above embodiment based on the instruction of the program installed on the computer from the storage medium. You may execute a part of each process of.
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、LANやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。 Further, the storage medium in each embodiment is not limited to a medium independent of the computer, but also includes a storage medium in which a program transmitted by a LAN, the Internet, or the like is downloaded and stored or temporarily stored.
また、記憶媒体は1つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。 Further, the storage medium is not limited to one, and the case where the processing in each of the above embodiments is executed from a plurality of media is also included in the storage medium in the present invention, and the medium configuration may be any configuration.
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パーソナルコンピュータ等の1つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。 The computer in each embodiment executes each process in each of the above embodiments based on the program stored in the storage medium, and is composed of one device such as a personal computer and a plurality of devices in a network. Any configuration such as a connected system may be used.
また、各実施形態におけるコンピュータとは、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。 Further, the computer in each embodiment is a general term for a device and a device capable of realizing the function of the present invention by a program, including an arithmetic processing device, a microcomputer and the like included in the information processing device.
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。 Although some embodiments of the present invention have been described, these embodiments are presented as examples and are not intended to limit the scope of the invention. These novel embodiments can be implemented in various other embodiments, and various omissions, replacements, and changes can be made without departing from the gist of the invention. These embodiments and modifications thereof are included in the scope and gist of the invention, and are also included in the scope of the invention described in the claims and the equivalent scope thereof.
1…デバッグ支援装置、2…プロセッサ、3…メモリ、4…記憶装置、4A…デバッグ支援プログラム、10…記憶部、11…試験合格ソースコードおよびデータファイル記憶部、12…試験不合格ソースコードおよびデータファイル記憶部、13…試験合格ソースコードおよびデータファイル記憶部、14…小差分リスト記憶部、20,20A,20B…デバッグ支援処理部、21…小差分リスト初期化部、22…試験合格中間ソースコードおよびデータファイル初期化部、23,23−1,23−2,23−3…試験不合格小差分リスト探索部。 1 ... Debug support device, 2 ... Processor, 3 ... Memory, 4 ... Storage device, 4A ... Debug support program, 10 ... Storage unit, 11 ... Test pass source code and data file storage unit, 12 ... Test failure source code and Data file storage unit, 13 ... Test pass source code and data file storage unit, 14 ... Small difference list storage unit, 20, 20A, 20B ... Debug support processing unit, 21 ... Small difference list initialization unit, 22 ... Test pass intermediate Source code and data file initialization unit, 23,23-1,23-2,23-3 ... Test failure small difference list search unit.
Claims (7)
前記第1試験合格ソースコードおよびデータファイルに前記リストに含まれる小差分の組合せを適用して試験を実施することを繰り返し、試験に不合格となる小差分の組合せを探索して出力する小差分リスト探索部とを有するデバッグ支援装置。 Extract the difference between the first data table of the first test pass source code and data file stored in the first storage unit and the second data table of the test failure source code and data file stored in the second storage unit. A small difference list initialization unit that creates a subdivided list of small differences and stores it in the third storage unit,
The test is repeated by applying the combination of small differences included in the list to the source code and data file that passed the first test, and the combination of small differences that fails the test is searched for and output. A debug support device that has a list search unit.
第1記憶部に記憶された第1試験合格ソースコードおよびデータファイルの第1データテーブルと、第2記憶部に記憶された試験不合格ソースコードおよびデータファイルの第2データテーブルとの差分を抽出して細分化した小差分のリストを作成して第3記憶部に記憶させる小差分リスト初期化部と、
前記第1試験合格ソースコードおよびデータファイルに前記リストに含まれる小差分の組合せを適用して試験を実施することを繰り返し、試験に不合格となる小差分の組合せを探索して出力する小差分リスト探索部として機能させるためのデバッグ支援プログラム。 Computer,
Extract the difference between the first data table of the first test pass source code and data file stored in the first storage unit and the second data table of the test failure source code and data file stored in the second storage unit. A small difference list initialization unit that creates a subdivided list of small differences and stores it in the third storage unit,
The test is repeated by applying the combination of small differences included in the list to the source code and data file that passed the first test, and the combination of small differences that fails the test is searched for and output. A debug support program to function as a list search unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180869A JP6903533B2 (en) | 2017-09-21 | 2017-09-21 | Debug support device, debug support program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017180869A JP6903533B2 (en) | 2017-09-21 | 2017-09-21 | Debug support device, debug support program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2019057118A JP2019057118A (en) | 2019-04-11 |
JP6903533B2 true JP6903533B2 (en) | 2021-07-14 |
Family
ID=66107530
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017180869A Active JP6903533B2 (en) | 2017-09-21 | 2017-09-21 | Debug support device, debug support program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6903533B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005309800A (en) * | 2004-04-22 | 2005-11-04 | Matsushita Electric Ind Co Ltd | Software verification method and method for forming verification data |
JP2009104252A (en) * | 2007-10-19 | 2009-05-14 | Toshiba Corp | Debugging support device and debugging support method |
JP2014126900A (en) * | 2012-12-25 | 2014-07-07 | Nec Corp | Program analysis device, program analysis method, and program analysis program |
JP2015011372A (en) * | 2013-06-26 | 2015-01-19 | 日本電気株式会社 | Debug support system, method, program, and recording medium |
JP2016164727A (en) * | 2015-03-06 | 2016-09-08 | 株式会社 日立産業制御ソリューションズ | Test case selection device |
US10296446B2 (en) * | 2015-11-18 | 2019-05-21 | International Business Machines Corporation | Proactive and selective regression testing based on historic test results |
-
2017
- 2017-09-21 JP JP2017180869A patent/JP6903533B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2019057118A (en) | 2019-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9652226B2 (en) | Transitive source code violation matching and attribution | |
US9176828B2 (en) | System and method for merging results from multiple runs based on run inputs | |
US9811332B2 (en) | Deploying incremental scripts | |
JP2017525039A (en) | System information management | |
US11481440B2 (en) | System and method for processing metadata to determine an object sequence | |
US20210334292A1 (en) | System and method for reconciliation of data in multiple systems using permutation matching | |
JP2017041171A (en) | Test scenario generation support device and test scenario generation support method | |
JP2008204405A (en) | Software regression test system, regression test program and regression test method | |
US20180165273A1 (en) | Universal lexical analyzers | |
Martinez et al. | Feature location benchmark for software families using eclipse community releases | |
US9727635B2 (en) | Combined code searching and automatic code navigation | |
JP6903533B2 (en) | Debug support device, debug support program | |
JP6512032B2 (en) | Stub target determination apparatus, method, and program | |
US20150178075A1 (en) | Enhancing understandability of code using code clones | |
US20200174760A1 (en) | Automatic code generation | |
US20150199183A1 (en) | Program analysis apparatus and program analysis method | |
US20110145295A1 (en) | Representation of a set of numeric values in a computerized environment | |
JP5578625B2 (en) | Program analysis apparatus, program analysis method, and program | |
JP6217440B2 (en) | Symbolic execution program, symbolic execution method, and symbolic execution device | |
JP2013149094A (en) | Extraction system, extraction method and program | |
US9665454B2 (en) | Extracting test model from textual test suite | |
Guilardi et al. | AndroidPropTracker: mining lifetime properties of Android projects | |
Handrizal et al. | Implementation and Analysis Zhu-Takaoka Algorithm and Knuth-Morris-Pratt Algorithm for Dictionary of Computer Application Based on Android | |
JP4782315B2 (en) | Impact analysis apparatus and method, recording medium, and program | |
JP7456843B2 (en) | Program modification device, program modification method, and program modification program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20200529 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20210514 |
|
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: 20210525 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210623 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6903533 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313117 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |