JP2015011372A - Debug support system, method, program, and recording medium - Google Patents

Debug support system, method, program, and recording medium Download PDF

Info

Publication number
JP2015011372A
JP2015011372A JP2013133856A JP2013133856A JP2015011372A JP 2015011372 A JP2015011372 A JP 2015011372A JP 2013133856 A JP2013133856 A JP 2013133856A JP 2013133856 A JP2013133856 A JP 2013133856A JP 2015011372 A JP2015011372 A JP 2015011372A
Authority
JP
Japan
Prior art keywords
source code
test
unit
information
difference information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2013133856A
Other languages
Japanese (ja)
Inventor
健介 渋谷
Kensuke Shibuya
健介 渋谷
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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2013133856A priority Critical patent/JP2015011372A/en
Publication of JP2015011372A publication Critical patent/JP2015011372A/en
Pending legal-status Critical Current

Links

Images

Abstract

PROBLEM TO BE SOLVED: To provide a debug support system for improving efficiency in debugging software, and a method, a program, and a recording medium.SOLUTION: A debug support system includes: a version management unit which inputs/outputs history information such as creation date and time of first and second source codes; a source code comparison unit which compares the first and second source codes; a test item execution unit which records a path of processing when a test with a plurality of test items is executed on the second source code; a relation difference information extraction unit which extracts difference information on a relation located in a path where a test item with a bug has passed; and a correction revision extraction unit which extracts a revision including the extracted relation difference information from the version management unit.

Description

本発明は、デバッグ支援システム、方法、プログラム及び記録媒体に関する。   The present invention relates to a debugging support system, method, program, and recording medium.

近年、ソフトウェアの開発は、新規開発だけではなく、既存ソフトウェアの保守や改善に係る開発も多い。例えば、既存ソフトウェアの稼動後、ユーザのビジネス内容や用途、作業内容の変化等に伴い、ソフトウェアの機能を追加する要求、新しいバージョン等への仕様変更の要求等が発生し、また、動作中に不具合が見つかった場合にもそれらに応じてプログラムを修正する必要が発生する。   In recent years, software development includes not only new development but also development related to maintenance and improvement of existing software. For example, after operation of existing software, a request to add software functions, a specification change to a new version, etc. occurs due to changes in the user's business content, usage, work content, etc. Even when defects are found, it is necessary to correct the program accordingly.

それらの発生に伴い、前記修正された機能やプログラムに関係して、その影響を受ける他の既存の機能を有するプログラムについても修正が必要になる場合があり、その修正を実施しない場合、その機能は通常通りの動作を行わなくなるエラーとなる原因(デグレードバグ、以下はバグと称する)が発生する。   As a result of these occurrences, it may be necessary to modify a program having other existing functions that are affected by the modified function or program. Causes an error (degrade bug, hereinafter referred to as a bug) that causes an error that prevents normal operation.

従って、既存ソフトウェアの保守や改善等では、ソフトウェアを修正する際に、仕様が変わらない箇所が、修正後に修正前と同じ動作をすることを確認するために、修正前に実施したものと同じテスト項目の実施が行われる。このようなテストは回帰テスト(リグレッションテスト)と呼ばれる。   Therefore, in the maintenance and improvement of existing software, the same tests as those performed before the modification were performed to confirm that the parts whose specifications do not change when the software is modified perform the same operation as before the modification. Implementation of the item is performed. Such a test is called a regression test.

回帰テストは、一般にテスト支援ツール等を使うことにより自動化されることが多い。テスト結果を確認しながら、バグとなったコードを特定するには、テストを行うための入力内容や、バグの内容を調べ、テストデータを入力してから出力するまでのどの経路のどの処理においてバグが生じていたのかを割り出さなければならない作業(デバッグ作業)は人手で行う必要がある。   In general, the regression test is often automated by using a test support tool or the like. In order to identify the code that caused the bug while checking the test result, examine the input contents for testing and the contents of the bug, and in which process of which route from inputting test data to outputting it The work (debugging work) that has to find out if a bug has occurred must be done manually.

また、単純にテストによってバグと特定されたコードを修正するだけでなく、バグの原因となったコードをどういった経緯でプログラマがコーディングした原因を調査し、同じような問題が他に起きないか確認することも重要となる。   In addition to simply fixing the code identified as a bug by testing, we investigate the cause of the programmer's coding of the code that caused the bug, and no other similar problems occur. It is also important to confirm whether

通常、プログラムをデバッグする際には、対象となるプログラム全体を扱うため、プログラムが大きくなるとデバッグ時にはバグの原因の特定だけで時間がかかってしまい、このことがプログラム開発の効率を悪化させている。このため、様々なデバッグ支援技術の開発が進んでいる。   Normally, when debugging a program, the entire target program is handled, so if the program becomes large, it takes time to identify the cause of the bug when debugging, which deteriorates the efficiency of program development. . For this reason, various debugging support technologies are being developed.

これまでに、デバッグ支援技術として、例えば、特許文献1(特開2004−118443号公報)に記載された技術がある。特許文献1では、ハードウェア記述言語により設計されたLSI(large scale integration)回路の機能を検証するための設計データ及びテストベンチ(テストプログラム)を版数管理と差分チェックを行いながら、シミュレーション装置へ供給してシミュレーション及び再シミュレーションによるリグレッションテストを行うことにより、設計変更が起きるたびに、リグレッションテストを実行することができ、常に最新の設計データによるリグレッションテストを行うことができる。   So far, as a debugging support technique, for example, there is a technique described in Patent Document 1 (Japanese Patent Application Laid-Open No. 2004-118443). In Patent Document 1, design data and a test bench (test program) for verifying the function of an LSI (large scale integration) circuit designed by a hardware description language are transferred to a simulation apparatus while performing version management and difference checking. By supplying and performing a regression test by simulation and re-simulation, a regression test can be executed every time a design change occurs, and a regression test based on the latest design data can always be performed.

しかし、上記技術では、システムに既に登録済の設計データと新規入力の設計データとの間に差分がある場合、その差分に基づいて、リグレッションテストを実行すべきか否かを判断し、前記差分による影響範囲が特定できない場合、常に最新の設計データとテストベンチとを組にしてリグレッションテストを実行することができる。しかしながら、特許文献1には、前記差分がどのテスト項目にあったのか、バグとなったテスト項目に関係する部分だけを抽出し、関係する差分情報が、いつ作りこまれたかのかの情報を合わせて出力するという作業が必要となるという問題が残っている。   However, in the above technique, when there is a difference between the design data already registered in the system and the newly input design data, it is determined whether or not a regression test should be executed based on the difference, and based on the difference When the influence range cannot be specified, the regression test can always be executed by combining the latest design data and the test bench. However, Patent Document 1 extracts only the part related to the test item in which the difference is included in the test item, and combines information on when the related difference information was created. The problem remains that it is necessary to perform the output operation.

また、別のデバッグ支援技術として、特許文献2(特開2007−199800号公報)に記載された技術がある。特許文献2ではユーザの操作により指定された前記プログラムの修正前後のソースコードを比較して修正内容を含む修正対象を検出し、前記修正対象から線形的に前記修正対象の影響を受ける影響内容を含む影響対象を検出することができる。   As another debugging support technique, there is a technique described in Patent Document 2 (Japanese Patent Laid-Open No. 2007-199800). In Patent Document 2, the correction target including the correction content is detected by comparing the source code before and after the correction of the program specified by the user's operation, and the influence content affected by the correction target is linearly affected by the correction target. Including affected objects can be detected.

特許文献2によれば、プログラムの修正対象の影響範囲の調査漏れを効果的に防止し、高い信頼性で影響範囲での修正作業を支援することができる。しかしながら、特許文献2には、前記特許文献1と同様に、バグとなった修正対象に関係する部分だけを抽出し、関係する修正内容が、いつ作りこまれたかのかの情報を合わせて出力するという作業が必要となるという問題が未だ残っている。   According to Patent Literature 2, it is possible to effectively prevent omission of the investigation of the influence range of the program correction target, and support the correction work in the influence range with high reliability. However, as in Patent Document 1, only the part related to the correction target that is a bug is extracted in Patent Document 2, and information on when the related correction content was created is also output. There still remains a problem that it is necessary to work.

さらに、別のデバッグ支援技術として、特許文献3(特開2010−122959号公報)に記載された技術がある。特許文献3では、プログラムの詳細な解析を必要とせず、また、ユーザが変更箇所を指定しなくても、各テスト項目の通過モジュール情報と、修正前後で変更があったモジュールとに基づいて、回帰テストとして実行すべきテスト項目を抽出することができる。   Further, as another debugging support technique, there is a technique described in Patent Document 3 (Japanese Patent Laid-Open No. 2010-122959). In Patent Document 3, detailed analysis of the program is not required, and even if the user does not specify a change location, based on the passing module information of each test item and the module that has been changed before and after correction, Test items to be executed as a regression test can be extracted.

特許文献3によれば、プログラムを変更した場合は、変更後のプログラムの内に変更された部分のみ、即ち、プログラムの差分に着目して、変更後のプログラムの妥当性を検証することができれば、効率的である。しかしながら、特許文献3のテスト支援システムは、通過モジュール情報と、プログラム修正の前後で変更があったモジュールとを利用してテスト項目を抽出することはできる。しかしながら、修正前及び修正後のソースコードの差分がどのテスト項目にあったのか、当該差分がいつ作りこまれたかのかの情報を合わせて出力するという処理ができない。   According to Patent Document 3, if the program is changed, only the changed part of the changed program, that is, paying attention to the difference of the program, can verify the validity of the changed program. Is efficient. However, the test support system of Patent Literature 3 can extract test items using the passing module information and modules that have been changed before and after the program correction. However, it is not possible to perform processing for outputting information indicating which test item has the difference between the source code before and after the correction, and when the difference was created.

さらにまた、別のデバッグ支援技術として、特許文献4(特開2009−211264号公報)に記載された技術がある。特許文献4では、デグレード判定データベースに記憶している版数と、デグレードの可能性のあるテストの識別情報を示す判断対象テスト識別情報と、それらの組合せに対応した1又は2以上の修正位置を示す修正位置情報とに基づいて、リグレッションテストをする必要がある箇所を自動的に判別することを可能とする。   Furthermore, as another debugging support technique, there is a technique described in Patent Document 4 (Japanese Unexamined Patent Application Publication No. 2009-211124). In Patent Literature 4, the version number stored in the degradation determination database, the determination target test identification information indicating identification information of a test that may be degraded, and one or more correction positions corresponding to the combination thereof are provided. Based on the correction position information to be shown, it is possible to automatically determine a portion where a regression test is necessary.

特許文献4によれば、リグレッションテストをする必要があるテストを抽出し、障害検出から修正後のリグレッションテストまでテストを自動化することができる。しかしながら、前記特許文献3のテスト支援システムと同じように、障害検出前及び障害修正後のソースコードの差分がどのテスト項目にあったのか、当該差分がいつ作りこまれたかのかの情報を合わせて出力するという処理ができない。   According to Patent Document 4, it is possible to extract a test that requires a regression test, and to automate the test from failure detection to a corrected regression test. However, as in the test support system of Patent Document 3, the information on which test item the source code difference before and after the failure detection was in, and when the difference was created, was added. The process of outputting cannot be performed.

さらにまた、別のデバッグ支援技術として、特許文献5(特開2008−129661号公報)に記載された技術がある。特許文献5では、過去の修正により修正を行ったプログラムに含まれる複数の関数を特定する複数の関数識別子と、当該の関数識別子と新たな修正において修正を行ったプログラムに含まれる複数の関数を特定する複数の関数識別子のうち一致する関数識別子の数を求め、当該一致する関数識別子の数に基づいて、過去の修正により修正を行ったプログラムに含まれる関数の修正識別子により特定される修正(その過去の修正)をテストするテストケースの優先度を決定する。プログラムの開発者は、決定した優先度により、リストされるテストケースのうちどのテストケースが変更による再びエラーとなる可能性の高さを示す優先度を決定することができる。   Furthermore, as another debugging support technique, there is a technique described in Patent Document 5 (Japanese Patent Laid-Open No. 2008-129661). In Patent Document 5, a plurality of function identifiers that specify a plurality of functions included in a program that has been corrected by past correction, and a plurality of functions that are included in the program that has been corrected in the new correction and the function identifier. The number of function identifiers that match among a plurality of function identifiers to be identified is obtained, and based on the number of function identifiers that match, the modification identified by the modification identifier of the function included in the program that has been modified by past modifications ( Determine the priority of the test case to test its past modifications. The developer of the program can determine the priority indicating the high possibility that a test case among the listed test cases is likely to cause an error again due to the change according to the determined priority.

しかし、上記技術では、過去の修正に対して更に修正が必要となる場合のテストケースの優先度を決定するものであり、新規修正により再びバグとなる関数の特定、及びバグの原因となった修正箇所を特定するという作業が必要となるという問題が残っている。   However, in the above technology, the priority of the test case is determined when further corrections are required with respect to past corrections. The new corrections identified the functions that become bugs again and caused the bugs. There remains a problem that it is necessary to identify the correction part.

さらにまた、別のデバッグ支援技術として、特許文献6(特開2007−4255号公報)に記載された技術がある。特許文献6では、正常に動作していた時点のソースコードとバグとなった時点のソースコードの差分情報を提示することにより、バグの原因となった修正箇所を特定する作業の効率化を図っている。   Furthermore, as another debugging support technique, there is a technique described in Patent Document 6 (Japanese Patent Laid-Open No. 2007-4255). In Patent Document 6, by presenting the difference information between the source code at the time of normal operation and the source code at the time of the bug, the efficiency of the work for identifying the correction location causing the bug is improved. ing.

しかし、上記技術では差分情報にバグとなったテスト項目に存在する関係を有しない情報も含まれるため、バグとなったテスト項目が通過した経路に存在する関係を有する差分情報部分だけを抽出し、抽出した関係の差分情報が、いつ作りこまれたかのかの情報を出力することできない。   However, in the above technology, since the difference information includes information that does not have a relationship that exists in the test item that became a bug, only the difference information portion that has a relationship that exists in the path through which the test item that caused the bug has passed is extracted. The information on when the difference information of the extracted relationship was created cannot be output.

よって、デバッグ支援技術は数多く提案されているが、差分情報にバグとなったテスト項目が通過した経路に存在する関係の部分だけを抽出し、当該関係の差分情報が、いつ作りこまれたかのかの情報を合わせて出力するという作業が必要となるという課題がまだ残っている。   Therefore, many debugging support technologies have been proposed, but only the part of the relationship that exists in the path through which the test item that caused the bug in the difference information has been extracted, and when the difference information of the relationship was created. There is still a problem that it is necessary to output the information together.

特開2007−004255号公報JP 2007-004255 A 特願2012−280814明細書Japanese Patent Application No. 2012-280814 特開2010−152715号公報JP 2010-152715 A 特開2008−129661号公報JP 2008-129661 A 特開2008−129661号公報JP 2008-129661 A 特開2008−129661号公報JP 2008-129661 A

本発明は、このような課題に鑑みてなされたものであり、ソフトウェアのデバッグ作業を効率化することができるデバッグ支援システム、方法、プログラム及び記録媒体を提供することを主たる目的とする。   The present invention has been made in view of such problems, and a main object of the present invention is to provide a debugging support system, method, program, and recording medium that can improve the efficiency of software debugging.

上記目的を達成するために、本発明のデバッグ支援システムは、第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとのソースコードの作成日時、変更日時、変更箇所及びソースコード作成時又は変更時のリビジョンなどの履歴情報の入出力を行うバージョン管理部と、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力するソースコード比較部と、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と関連付けて記録するテスト項目実行部と、
前記テスト項目実行部が記録する実行経路を保存する実行経路情報保存部と、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報に基づいてバグとなったテスト項目が通過した実行経路に存在する関係を有する差分情報を抽出する関係差分情報抽出部と、
前記抽出された関係を有する差分情報が発生したリビジョンを前記バージョン管理部から抽出する修正リビジョン抽出部とを備えることを特徴とする。
In order to achieve the above object, the debugging support system of the present invention includes a first source code and a second source in which at least a part of the source code included in the first source code is modified or changed. Version management unit that inputs / outputs history information such as source code creation date / time, modification date / time, modification location, and source code creation or revision, and
A source code comparison unit that compares the first source code and the second source code output from the version management unit and outputs difference information;
A test item execution unit that records a path through which a process passes when a test of a plurality of test items is executed on the second source code in association with the test item;
An execution path information storage unit that stores an execution path recorded by the test item execution unit;
A relationship in which a test item that becomes a bug based on the difference information exists in an execution path that passes through the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit. A relational difference information extraction unit for extracting difference information having
And a revision revision extracting unit that extracts a revision in which the difference information having the extracted relationship is generated from the version management unit.

また、本発明のデバッグ支援方法は、バージョン管理部から第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとを出力し、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力し、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と対応付けて記録し、
前記テスト項目実行部が記録する実行経路を保存し、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報からバグとなったテスト項目が通過した実行経路に存在する関係の差分情報のみを抽出し、
前記抽出された関係の差分情報が発生したリビジョンを前記バージョン管理部から抽出することを特徴とする。
The debugging support method of the present invention includes a first source code from the version management unit, and a second source code in which at least a part of the source code included in the first source code is modified or changed. Output
Compare the first source code and the second source code output from the version management unit, output the difference information,
A path through which the process passes when a test of a plurality of test items is executed on the second source code is recorded in association with the test item;
Save the execution path recorded by the test item execution unit,
Referencing the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit, the difference in the relationship existing in the execution path through which the test item that caused the bug has passed from the difference information Extract only information,
The revision in which the difference information of the extracted relationship has occurred is extracted from the version management unit.

更に、本発明は、バージョン管理部から第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとを出力する処理と、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力する処理と、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と対応付けて記録する処理と、
前記テスト項目実行部が記録する実行経路を保存する処理と、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報からバグとなったテスト項目が通過した実行経路に存在する関係の差分情報のみを抽出する処理と、
前記抽出された関係の差分情報が発生したリビジョンを前記バージョン管理部から抽出する処理とをコンピュターに実行させるデバッグ支援プログラムを提供する。
Furthermore, the present invention provides a process for outputting a first source code and a second source code in which at least a part of the source code included in the first source code is modified or changed from the version management unit. When,
A process of comparing the first source code and the second source code output from the version management unit and outputting difference information;
A process of recording a path through which a process passes when a test of a plurality of test items is executed on the second source code in association with a test item;
Processing for storing an execution path recorded by the test item execution unit;
Referencing the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit, the difference in the relationship existing in the execution path through which the test item that caused the bug has passed from the difference information A process to extract only information,
Provided is a debugging support program that causes a computer to execute a process of extracting a revision in which the extracted difference information of the extracted relationship is generated from the version management unit.

更にまた、本発明は、バージョン管理部から第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとを出力する処理と、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力する処理と、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と対応付けて記録する処理と、
前記テスト項目実行部が記録する実行経路を保存する処理と、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報からバグとなったテスト項目が通過した実行経路に存在する関係の差分情報のみを抽出する処理と、
前記抽出された関係の差分情報が発生したリビジョンを前記バージョン管理部から抽出する処理とをコンピュターに実行させるプログラムが記録された記録媒体を提供する。
Furthermore, the present invention outputs the first source code from the version management unit and the second source code in which at least a part of the source code included in the first source code is modified or changed. Processing,
A process of comparing the first source code and the second source code output from the version management unit and outputting difference information;
A process of recording a path through which a process passes when a test of a plurality of test items is executed on the second source code in association with a test item;
Processing for storing an execution path recorded by the test item execution unit;
Referencing the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit, the difference in the relationship existing in the execution path through which the test item that caused the bug has passed from the difference information A process to extract only information,
Provided is a recording medium on which is recorded a program that causes a computer to execute a process of extracting a revision in which the extracted difference information of the extracted relationship is generated from the version management unit.

本発明によれば、バグとなった原因の特定作業の効率化を図ることができるという効果がある。   According to the present invention, there is an effect that it is possible to improve the efficiency of specifying the cause of the bug.

本発明の第1の実施形態に係るデバッグ支援システムの構成を示すブロック図である。1 is a block diagram illustrating a configuration of a debugging support system according to a first embodiment of the present invention. 本発明の第1の実施形態に係る関係の差分情報とリビジョン情報を抽出する手順を示すフローチャート図である。It is a flowchart figure which shows the procedure which extracts the difference information and revision information of the relationship which concern on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る変更前に記述のソースコードを示す説明図である。It is explanatory drawing which shows the source code of description before the change which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る変更前のソースコードに対する3つのテスト項目と想定される返り値(期待値)を示す説明図である。It is explanatory drawing which shows the return value (expected value) assumed as three test items with respect to the source code before the change which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る変更後に記述のソースコードの一例を示す説明図である。It is explanatory drawing which shows an example of the source code of description after the change which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る変更後に記述のソースコードの別の一例を示す説明図である。It is explanatory drawing which shows another example of the described source code after the change which concerns on the 1st Embodiment of this invention. 本発明の第1の実施形態に係る3つのテスト項目が通過した経路を示す説明図である。It is explanatory drawing which shows the path | route which three test items based on the 1st Embodiment of this invention passed. 本発明の第1の実施形態に係る3つのテスト項目の内、バグとなったテスト項目が通過した経路のみを示す説明図である。It is explanatory drawing which shows only the path | route which the test item used as the bug passed among three test items which concern on the 1st Embodiment of this invention. 本発明の第2の実施形態に係るデバッグ支援システムの構成を示すブロック図である。It is a block diagram which shows the structure of the debug assistance system which concerns on the 2nd Embodiment of this invention. 本発明の第1の実施形態に係るデバッグ支援システのハードウェア構成の一例を示すブロック図である。It is a block diagram which shows an example of the hardware constitutions of the debug assistance system which concerns on the 1st Embodiment of this invention.

以下、本発明の実施形態について図面を参照して詳細に説明する。
[第1の実施形態]
図1は、本実施形態に係るデバッグ支援システム100の構成図である。デバッグ支援システム100はバージョン管理部101、ソースコード比較部104、テスト項目実行部105、実行経路情報保存部106、関係差分情報抽出部107、修正リビジョン抽出部108、表示部109を有する。
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
[First Embodiment]
FIG. 1 is a configuration diagram of a debugging support system 100 according to the present embodiment. The debug support system 100 includes a version management unit 101, a source code comparison unit 104, a test item execution unit 105, an execution path information storage unit 106, a relational difference information extraction unit 107, a modified revision extraction unit 108, and a display unit 109.

以下、デバッグ支援システム100を構成する各部の機能について説明する。   Hereinafter, functions of each unit constituting the debug support system 100 will be described.

バージョン管理部101は、正常に動作していたときのソースコード(以下、正常動作時ソースコードと称する)を記憶する第1の記憶部102と、バグとなったときのソースコード(以下、エラー発生時ソースコードと称する)を記憶する第2の記憶部103とを備え、ソースコードの作成日時、変更日時、変更箇所、及びソースコード作成時、又は変更時の番号(リビジョン)などの履歴情報の記憶、変更及び入出力を行う。   The version management unit 101 includes a first storage unit 102 that stores a source code when operating normally (hereinafter referred to as a normal operation source code), and a source code when a bug occurs (hereinafter referred to as an error). A second storage unit 103 for storing source code at the time of occurrence), and history information such as source code creation date and time, modification date and time, modification location, and source code creation or modification number (revision) Store, change and input / output.

前記第1の記憶部102と前記第2の記憶部103とは、HDD(ハードディスクドライブ)、SSD(ソリッドステートドライブ)、DRAM(Dynamic Random Access Memory)などを使用することができる。また、前記第1の記憶部102と前記第2の記憶部103とは一つの記憶部にしても良い。また、外部の記憶装置を利用しても良い。   As the first storage unit 102 and the second storage unit 103, an HDD (Hard Disk Drive), an SSD (Solid State Drive), a DRAM (Dynamic Random Access Memory), or the like can be used. The first storage unit 102 and the second storage unit 103 may be a single storage unit. An external storage device may be used.

また、本実施形態のソースコードは、複数のモジュールを含む。モジュールは、ソースコード内で定義されたプログラムの論理的構成要素である。変更後のソースコードは、変更前のソースコードのモジュールの少なくとも一部が修正又は変更されている。   Further, the source code of this embodiment includes a plurality of modules. A module is a logical component of a program defined in source code. In the source code after the change, at least a part of the module of the source code before the change is modified or changed.

即ち、正常動作時ソースコードは、テストが正常に動作していた時点のソースコードを表す。エラー発生時ソースコードは、回帰テストでエラー発生時のソースコードを表す。エラー発生時のソースコードは、正常動作時のソースコードのモジュールの少なくとも一部が修正又は変更されている。   That is, the normal operation source code represents the source code at the time when the test was operating normally. The error source code represents the source code at the time of error occurrence in the regression test. As for the source code when an error occurs, at least a part of the module of the source code during normal operation is corrected or changed.

正常動作時ソースコードとエラー発生時ソースコードのそれぞれは、第1の記憶部102及び第2の記憶部103に記憶する。バージョン管理部101は、ソースコードの開発者、コミトメッセージ、作成日時、変更日時、変更箇所、及びソースコード作成時、又は変更時の番号(リビジョン)などの履歴情報の記憶、変更及び入出力を管理している。
ソースコード比較部104は、ユーザが回帰テストの開始を指示すると、バージョン管理部101に問い合わせることにより正常動作時ソースコードとエラー発生時ソースコードのそれぞれを取得することが可能である。
The source code during normal operation and the source code when an error occurs are stored in the first storage unit 102 and the second storage unit 103, respectively. The version management unit 101 stores, changes, and inputs / outputs history information such as source code developer, commit message, creation date / time, modification date / time, modification location, and source code creation number or revision number (revision). Is managing.
When the user instructs the start of the regression test, the source code comparison unit 104 can acquire the normal operation source code and the error generation source code by making an inquiry to the version management unit 101.

ソースコード比較部104は、前記取得した正常動作時ソースコードと、エラー発生時ソースコードとを比較し、変更があった内容を特定して、特定した変更内容からプログラムの機能変更に関係する部分を差分情報として関係差分情報抽出部107に出力する。   The source code comparison unit 104 compares the acquired normal operation source code with the error source code, identifies the changed content, and relates to the program function change from the specified change content Is output to the related difference information extraction unit 107 as difference information.

テスト項目実行部105は、修正後のソースコードのテストを実行したときに、テスト対象の各テスト項目がどのモジュール(以下は、経路を称する)を通過するかを示す経路情報を実行経路情報保存部106に保存する。   The test item execution unit 105 stores path information indicating which module (hereinafter referred to as a path) each test item to be tested passes when executing the test of the modified source code. Stored in the unit 106.

また、テスト項目実行部105は、修正後のソースコードのテストを実行したときに、テスト対象のテスト項目からエラーなったテスト項目のみを抽出してエラーとなったテスト項目の情報を限定することにより、当該テスト項目がどの経路を通過するかを示す経路情報を実行経路情報保存部106に記録しても良い。   Further, the test item execution unit 105 extracts only the test items in error from the test target test items when the test of the modified source code is executed, and limits the information on the test items in error. Thus, route information indicating which route the test item passes through may be recorded in the execution route information storage unit 106.

実行経路情報保存部106は、HDD(ハードディスクドライブ)、SSD(ソリッドステートドライブ)、DRAM(Dynamic Random Access Memory)などのような記憶装置を備えて、修正後のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と関連付けて保存する。   The execution path information storage unit 106 includes a storage device such as a hard disk drive (HDD), a solid state drive (SSD), a dynamic random access memory (DRAM), and the like, and a plurality of test items for the corrected source code. The path through which the process passes when the test is executed is stored in association with the test item.

また、実行経路情報保存部106は、修正後のソースコードに対して、各テスト項目のテストを実行するテスト項目実行部を兼ねていてもよい。その場合、テスト項目実行部(テスト項目実行部105に相当する)は、各テスト項目のテストを実行しつつ、そのテスト項目の実行経路情報を、前記記憶装置に記録する。当該記憶装置は、外部のものを利用して良い。   Further, the execution path information storage unit 106 may also serve as a test item execution unit that executes a test of each test item for the corrected source code. In that case, the test item execution unit (corresponding to the test item execution unit 105) records the execution path information of the test item in the storage device while executing the test of each test item. An external device may be used as the storage device.

関係差分情報抽出部107は、実行経路情報保存部106が保存する各テスト項目の通過経路情報と、ソースコード比較部104が出力する差分情報とに基づいて、テストの結果、バグとなったテスト項目が通過した経路に存在する関係を有する差分情報を抽出して修正リビジョン抽出部108に出力する。尚、ここのテストの結果は、テスト項目実行部105から実行されたものである。   The relation difference information extraction unit 107 is a test that has become a bug as a result of the test based on the passage route information of each test item stored by the execution path information storage unit 106 and the difference information output by the source code comparison unit 104. Difference information having a relationship existing in the path through which the item has passed is extracted and output to the revision revision extracting unit 108. The test results here are those executed from the test item execution unit 105.

修正リビジョン抽出部108は、関係差分情報抽出部107が出力する関係の差分情報について、その差分が発生したリビジョン情報をバージョン管理部101に問合せて抽出して表示部109に出力する。   The revision revision extraction unit 108 inquires the version management unit 101 for the revision information in which the difference is generated, extracts the relation difference information output by the relation difference information extraction unit 107, and outputs it to the display unit 109.

表示部109は、表示装置であり、この場合は、ディスプレイーであり、関係差分情報抽出部107が出力する関係の差分情報と修正リビジョン抽出部108が出力するリビジョン情報を合わせて表示する。尚、この表示部は、外部の表示装置を利用しても良い。
<差分情報とリビジョン情報を抽出する動作の説明>
図2は、本発明の回帰テストにおける関係の差分情報とリビジョン情報を抽出する手順を示している。
The display unit 109 is a display device. In this case, the display unit 109 is a display, and displays the relationship difference information output from the relationship difference information extraction unit 107 and the revision information output from the modified revision extraction unit 108. The display unit may use an external display device.
<Description of operation for extracting difference information and revision information>
FIG. 2 shows a procedure for extracting relational difference information and revision information in the regression test of the present invention.

ユーザが回帰テストを指示すると、ソースコード比較部104は、バージョン管理部101より正常動作時ソースコード102とエラー発生時ソースコード103をそれぞれ取得し、両者を比較して、変更内容を特定する。   When the user instructs a regression test, the source code comparison unit 104 acquires the normal operation source code 102 and the error occurrence source code 103 from the version management unit 101, compares them, and specifies the change contents.

ここの変更内容は、開発者の名前、リビジョンやコミットメッセージの変更などのプログラムの機能が変わらないものや、プログラムの機能変更に伴いソースコードの軽微な変更などのものを含む。   Changes here include things such as the developer's name, revision and commit message changes that do not change the program's functions, and minor changes in the source code that accompany the program's function changes.

前記特定した変更内容から機能の変更に係るもののみ、例えば、クラス、メソッド名や関数などを抽出して差分情報として関係差分情報抽出部107に出力する(ステップS11)
また、テスト項目実行部105は、各テスト項目について実行経路を求め、実行経路情報保存部106に保存して関係差分情報抽出部107に出力する(ステップS12)。
次に、関係差分情報抽出部107は、ソースコード比較部104が出力する差分情報と実行経路情報保存部106が保存する実行経路情報とを照らし合わせ、バグとなったテスト項目が通過した経路に存在する関係の差分情報のみを抽出して修正リビジョン抽出部108に出力する(ステップS13)。
For example, a class, a method name, a function, and the like are extracted from the identified change contents, for example, and output to the related difference information extraction unit 107 as difference information (step S11).
In addition, the test item execution unit 105 obtains an execution path for each test item, stores it in the execution path information storage unit 106, and outputs it to the related difference information extraction unit 107 (step S12).
Next, the relationship difference information extraction unit 107 compares the difference information output by the source code comparison unit 104 with the execution path information stored by the execution path information storage unit 106, and determines the path through which the test item that caused the bug has passed. Only the difference information of the existing relationship is extracted and output to the revision revision extracting unit 108 (step S13).

そして、修正リビジョン抽出部108が、関係差分情報抽出部107が出力する関係の差分情報について、その差分が発生したリビジョンをバージョン管理部101に問合せて取得して表示部109に出力する(ステップS14)。   Then, the revision revision extracting unit 108 inquires the version management unit 101 about the revision information in which the difference is output, and obtains the revision, and outputs it to the display unit 109 (step S14). ).

最後に、表示部109は、関係差分情報抽出部107が抽出した関係の差分情報とその差分が発生したリビジョン情報とを合わせて表示し、ユーザに提示する(ステップS15)。
(第1の実施例)
以下、具体例を用いて本発明の実施形態の動作を説明する。
Finally, the display unit 109 displays the relationship difference information extracted by the relationship difference information extraction unit 107 and the revision information in which the difference has occurred, and presents it to the user (step S15).
(First embodiment)
Hereinafter, the operation of the embodiment of the present invention will be described using specific examples.

まず、図3は、修正前に記述のソースコードを示す。ソースコードの記述に、C言語などのプログラミング言語や、オブジェクト指向のプログラミング言語を用いることができる。ソースコードは、ソフトウェアプログラムのソースコードには限定されず、ハードウェア記述言語(HDL)などで記述されたハードウェアのソースコードであってもよい。また、修正前と修正後のソースコードの記述に用いられる言語は、共通の言語であってもよいし、別個の言語であってもよい。   First, FIG. 3 shows the source code described before correction. For the description of the source code, a programming language such as C language or an object-oriented programming language can be used. The source code is not limited to the source code of the software program, and may be a hardware source code described in a hardware description language (HDL) or the like. Further, the language used for the description of the source code before and after the correction may be a common language or a separate language.

この実施例の場合は、共通のJava(登録商標)言語を用いている。また、ソースコードはバージョン管理部で管理されているものとする。   In this embodiment, a common Java (registered trademark) language is used. The source code is assumed to be managed by the version management unit.

図3に示すように、登録者は、開発者Aであり、コミットメッセージは、“V1.0ソースコード登録”であり、ソースコードには、Main、SubA、SubBの3つのクラスが記述されており、登録されたリビジョンは1である。   As shown in FIG. 3, the registrant is developer A, the commit message is “V1.0 source code registration”, and the source code describes three classes, Main, SubA, and SubB. The registered revision is 1.

図4は、本実施例で回帰テストを実施する3つのテスト項目と想定される返り値(期待値)を示す。例えば、“テスト項目1”のテスト時は、Mainクラスのfuncメソッドを、引数=0で呼び出し、ソースコードに記述された処理を行う。   FIG. 4 shows three test items for which the regression test is performed in this embodiment and expected return values (expected values). For example, when testing “test item 1”, the func method of the Main class is called with an argument = 0, and the process described in the source code is performed.

また、“テスト項目2”のテスト時は、Mainクラスのfuncメソッドを、引数=1で呼び出し、ソースコードに記述された処理を行う。   When testing “test item 2”, the func method of the Main class is called with an argument = 1, and the process described in the source code is performed.

更に、“テスト項目3”のテスト時は、Mainクラスのfuncメソッドを、引数=−1で呼び出し、ソースコードに記述された処理を行う。   Further, when testing “test item 3”, the func method of the Main class is called with an argument = −1, and processing described in the source code is performed.

修正前のソースコードに対して、図4に示す3つのテスト項目のテストを行うと、全てのテスト項目が想定通りの結果を返す。   When the test of the three test items shown in FIG. 4 is performed on the source code before correction, all the test items return the expected results.

次に、図5と図6は、修正後に記述のソースコードを示す。図5には、登録者は、開発者Bであり、コミットメッセージは、“SubBのmメソッドの処理をユーティリティメソッドとして定義”であり、ソースコードには、Main、SubA、SubB、Utilの4つのクラスが記述されており、登録されたリビジョンは2である。   Next, FIG. 5 and FIG. 6 show the source code of the description after correction. In FIG. 5, the registrant is developer B, the commit message is “define SubB m method processing as a utility method”, and the source code includes Main, SubA, SubB, and Util. The class is described and the registered revision is 2.

図5に示すように“Main.func”メソッド、及び“SubA.m”メソッドが変更されておらず、“SubB.m”メソッドが変更され、新たにUtil.mメソッドを作成し、SubBのmメソッドの処理をユーティリティメソッドとして定義している。そして、SubBクラスからUtilクラスのメソッドを呼び出すよう変更されている。   As shown in FIG. 5, the “Main.func” method and the “SubA.m” method are not changed, the “SubB.m” method is changed, and a new Util. The m method is created, and the SubB m method processing is defined as a utility method. Then, the Util class method is called from the SubB class.

また、図6には、登録者は、開発者Cであり、コミットメッセージは、“SubAの処理をユーティリティメソッドを使用するよう修正”であり、ソースコードには、Main、SubA、SubB、Utilの4つのクラスが記述されており、登録されたリビジョンは3である。   In FIG. 6, the registrant is developer C, the commit message is “Modify SubA processing to use utility method”, and the source code includes Main, SubA, SubB, and Util. Four classes are described, and the registered revision is 3.

図6に示すように、“Main.func”メソッドが変更されておらず、“SubB.m”メソッドの変更に加えて、“SubA.m”メソッド“も変更され、新たにUtil.mメソッドを作成し、SubAのmメソッドの処理をユーティリティメソッドとして定義している。   As shown in FIG. 6, the “Main.func” method has not been changed, and in addition to the change of the “SubB.m” method, the “SubA.m” method has also been changed, and a new Util.m method has been changed. The process of the SubA m method is created as a utility method.

そして、ソースコードにはさらにSubAクラスからもUtilクラスのメソッドを呼び出すよう変更されている。   The source code is further changed to call the method of the Util class from the SubA class.

ユーザは、図6に示す修正後のソースコードに対して、プログラムの仕様が変更されていないことを確認するために、図4のテスト項目を利用して回帰テストを行う。   The user performs a regression test using the test items in FIG. 4 in order to confirm that the specification of the program has not been changed with respect to the modified source code shown in FIG.

この際、ソースコード比較部104は、図2のステップS11で、修正前のソースコード(図3に示すソースコード)と、修正後のソースコード(図6に示すソースコード)とを比較する。   At this time, the source code comparison unit 104 compares the source code before correction (source code shown in FIG. 3) with the source code after correction (source code shown in FIG. 6) in step S11 of FIG.

また、ソースコード比較部104は、ソースコードに記述されたテキストを比較することで、変更があった内容を特定する。   Further, the source code comparison unit 104 identifies the changed content by comparing texts described in the source code.

本実施形態では、前記特定した変更内容は、登録者、コミットメッセージ、リビジョン及び“SubA.mメソッド、SubB.mメソッドおよびUtil.m”を含む。   In the present embodiment, the specified change content includes a registrant, a commit message, a revision, and a “SubA.m method, SubB.m method, and Util.m”.

尚、プログラムの機能変更に係る変更内容は“SubA.mメソッド、SubB.mメソッドおよびUtil.m”であり、この変更情報を差分情報として抽出して関係差分情報抽出部107に出力する。   Note that the contents of the change related to the program function change are “SubA.m method, SubB.m method and Util.m”, and this change information is extracted as difference information and output to the related difference information extraction unit 107.

また、図2のステップS12で、テスト項目実行部105は、各テスト項目を実行し、各テスト項目で通過する経路を、テスト項目ごとに、実行経路情報保存部106に保存する。図7に示すように、3つのテスト項目が通過した経路を示している。   Further, in step S12 of FIG. 2, the test item execution unit 105 executes each test item, and stores the path passing through each test item in the execution path information storage unit 106 for each test item. As shown in FIG. 7, a path through which three test items have passed is shown.

例えば、テスト項目1は、Mainクラスのfuncメソッドが引数=0で呼び出されるので、3行目の条件式(a>0)が負になり、SubB.mメソッドが引数=0で呼び出される。SubB.mメソッドでは、更にUtil.mメソッドが呼び出されるため、実行経路情報はMain.func、SubB.m、Util.mとなり、その情報を実行経路情報保存部106に保存する。   For example, in test item 1, the func method of the Main class is called with an argument = 0, so the conditional expression (a> 0) on the third line becomes negative, and SubB. The m method is called with argument = 0. SubB. In the m method, Util. Since the m method is called, the execution path information is Main. func, SubB. m, Util. m, and the information is stored in the execution path information storage unit 106.

テスト項目2は、Mainクラスのfuncメソッドが引数=1で呼び出されるので、3行目の条件式(a=1)が正になり、SubA.mメソッドが引数=1で呼び出される。SubA.mメソッドでは、更にUtil.mメソッドが呼び出されるため、実行経路情報はMain.func、SubA.m、Util.mとなり、その情報を実行経路情報保存部106に保存する。   In test item 2, since the func method of the Main class is called with argument = 1, the conditional expression (a = 1) on the third line becomes positive, and SubA. The m method is called with argument = 1. SubA. In the m method, Util. Since the m method is called, the execution path information is Main. func, SubA. m, Util. m, and the information is stored in the execution path information storage unit 106.

テスト項目3は、Mainクラスのfuncメソッドが引数=−1で呼び出されるので、3行目の条件式(a=−1)が負になり、SubB.mメソッドが引数=−1で呼び出される。SubB.mメソッドでは、更にUtil.mメソッドが呼び出されるため、実行経路情報はMain.func、SubB.m、Util.mとなり、その情報を実行経路情報保存部106に保存する。   In test item 3, since the func method of the Main class is called with argument = -1, the conditional expression (a = -1) on the third line becomes negative, and SubB. The m method is called with argument = -1. SubB. In the m method, Util. Since the m method is called, the execution path information is Main. func, SubB. m, Util. m, and the information is stored in the execution path information storage unit 106.

すべてのテスト項目を実施した後、実行経路情報保存部106に保存される情報を図7に示す。本実施例では、実行経路情報として実行したメソッド名のみを保存しているが、より詳細に実行した行まで保存してもよい。   FIG. 7 shows information stored in the execution path information storage unit 106 after all the test items are executed. In this embodiment, only the method name executed as execution path information is saved, but more detailed lines may be saved.

テスト項目実行部105の実行手段として、例えばJavaでJUnitを用いたテストであれば、jcoverageのようなカバレッジツールを用いてカバレッジ情報を取得するといった手段が考えられる。   As an execution means of the test item execution unit 105, for example, in the case of a test using JUnit in Java, a means of acquiring coverage information using a coverage tool such as jcoverage can be considered.

また、他の手段として、エラー発生時ソースコードに対し、例えばメソッドの開始、終了時にデバッグ文を追加するといった処理を実施後にテストを実行し、そのデバッグ文から実行したメソッド情報を取得するといった手段も考えられる。テスト項目実行部105にどの手段を用いてもよい。   As another means, for example, a test is executed on the source code when an error occurs, for example, a debug statement is added at the start or end of a method, and a test is executed, and the executed method information is acquired from the debug statement. Is also possible. Any means may be used for the test item execution unit 105.

さらに、テスト項目実行部105は、図8に示すように、3つのテスト項目の内、バグとなったテスト項目3が通過した経路のみを実行経路情報保存部106に保存する。
関係差分情報抽出部107は、ステップS13で、実行経路情報保存部106に保存された実行経路情報(図7)を参照し、回帰テストでNG(エラー)となったテスト項目3の実行経路情報である“Main.func、SubB.m、Util.m”を実行経路情報保存部106から取得する。
Further, as shown in FIG. 8, the test item execution unit 105 stores, in the execution path information storage unit 106, only the path through which the test item 3 that has become a bug passes among the three test items.
In step S13, the relationship difference information extraction unit 107 refers to the execution path information (FIG. 7) stored in the execution path information storage unit 106, and executes the execution path information of the test item 3 that is NG (error) in the regression test. “Main.func, SubB.m, Util.m” is acquired from the execution path information storage unit 106.

また、関係差分情報抽出部107は、ソースコード比較部104から前記差分情報である“SubA.mメソッド、SubB.mメソッドおよびUtil.m”を受け取り、NGとなったテスト項目3の実行経路情報に存在する差分情報のみを抽出する。   Further, the relation difference information extraction unit 107 receives “SubA.m method, SubB.m method and Util.m” as the difference information from the source code comparison unit 104, and executes the execution path information of the test item 3 that has become NG. Only the difference information existing in is extracted.

図7を参照すると、テスト項目3で実行される経路は“Main.func”、“SubB.m”、“Util.m”メソッドである。   Referring to FIG. 7, the paths executed in the test item 3 are “Main.func”, “SubB.m”, and “Util.m” methods.

一方、図2のステップS11で、ソースコード比較部104から取得した前記差分情報は、“SubA.mメソッド、SubB.mメソッドおよびUtil.m”であるため、関係の差分情報が“SubB.m”及び“Util.m”メソッドの2つであることがわかる。   On the other hand, since the difference information acquired from the source code comparison unit 104 in step S11 of FIG. 2 is “SubA.m method, SubB.m method and Util.m”, the difference information of the relationship is “SubB.m”. "And" Util.m "methods.

そして、図2のステップS13で、関係差分情報抽出部107は、この関係の差分情報である“SubB.mメソッドおよびUtil.m”の2つを抽出する。   Then, in step S13 of FIG. 2, the relationship difference information extraction unit 107 extracts two of the relationship difference information, “SubB.m method and Util.m”.

修正リビジョン抽出部108は、ステップS14で、関係差分情報抽出部107により抽出されたSubB.mメソッドおよびUtil.mメソッドのそれぞれについて、修正されたリビジョンをバージョン管理部101に問い合わせる。   In step S14, the revision revision extracting unit 108 extracts the SubB. m method and Util. For each of the m methods, the version management unit 101 is inquired about a revised revision.

図5に示すように、SubB.mメソッドおよびUtil.mのどちらもリビジョン2で変更されているため、バージョン管理部101は、修正リビジョン抽出部108にそのリビジョン情報(この場合は、数字の2)を出力する。   As shown in FIG. m method and Util. Since both m have been changed in revision 2, the version management unit 101 outputs the revision information (in this case, the number 2) to the revised revision extraction unit 108.

表示部109は、ステップS15で、関係差分情報抽出部107で抽出された関係の差分情報(SubB.mメソッドおよびUtil.mメソッド)と修正リビジョン抽出部108で抽出された当該差分情報が発生したリビジョン情報(この場合は、数字の2)とを受け取り、修正後のソースコードの回帰テストでNGとなった原因の調査として、SubB.mメソッドおよびUtil.mメソッド、およびリビジョン2を確認すれば良い旨を表示する。   In step S15, the display unit 109 generates the relationship difference information (SubB.m method and Util.m method) extracted by the relationship difference information extraction unit 107 and the difference information extracted by the revision revision extraction unit 108. Revision information (in this case, the number 2) is received, and SubB. m method and Util. Display that m method and revision 2 should be confirmed.

表示部109では確認すべきクラスやメソッド名、および修正前のソースコードと修正後のソースコードの差分情報に、バグとなったテスト項目が通過した経路に存在する関係を有する差分情報と、その差分が発生したリビジョン情報を合わせて表示することとなっている。しかしながら、リビジョン情報はバージョン管理部への該当リビジョン情報へのリンクとしても良い。また、同一箇所への修正リビジョンが複数存在する場合、最新のリビジョン情報のみ表示しても全て表示してもどちらでも良い。それらは設定により切り替えられるものとする。
[第2の実施形態]
次に、本発明の第2の実施形態について図面を参照して詳細に説明する。なお、本実施形態の説明において、本発明の第2の実施形態に係るデバッグ支援システム800の入出力部、表示部及び送受信部の以外に、本発明の第1の実施形態に係るデバッグ支援システム100と同様なシステム構成や同様に動作するステップを有するため、それにおける詳細な説明を省略する。
In the display unit 109, the class and method name to be confirmed, and the difference information between the source code before the correction and the source code after the correction, the difference information having a relationship that exists in the path through which the test item having the bug passes, The revision information in which the difference has occurred is displayed together. However, the revision information may be a link to the revision information to the version management unit. When there are a plurality of revision revisions to the same location, either the latest revision information or all of the revision information may be displayed. They shall be switched by setting.
[Second Embodiment]
Next, a second embodiment of the present invention will be described in detail with reference to the drawings. In the description of the present embodiment, in addition to the input / output unit, the display unit, and the transmission / reception unit of the debug support system 800 according to the second embodiment of the present invention, the debug support system according to the first embodiment of the present invention. Since it has a system configuration similar to 100 and steps that operate in the same manner, detailed description thereof will be omitted.

即ち、本発明の第2の実施形態に係るデバッグ支援システム900の構成は、図9に示すように、デバッグ支援システム900は、キーボード902及びマウス903を有する入出力部901、ソースコード比較部904、テスト項目実行部905、関係差分情報抽出部906、修正リビジョン抽出部907、ディスプレイー909を有する表示部908及び送受信部910を備える。   That is, the configuration of the debug support system 900 according to the second embodiment of the present invention is as shown in FIG. 9. The debug support system 900 includes an input / output unit 901 having a keyboard 902 and a mouse 903, and a source code comparison unit 904. , A test item execution unit 905, a relationship difference information extraction unit 906, a modified revision extraction unit 907, a display unit 908 having a display 909, and a transmission / reception unit 910.

デバッグ支援システム900はネットワーク911を介して外部機器と接続している。   The debugging support system 900 is connected to an external device via a network 911.

前記入出力部901は、記憶装置912を備え、キーボード902とマウス903とが接続されて、キーボード902やマウス903から送られてくる信号を、バスを介して各部に転送する。   The input / output unit 901 includes a storage device 912. A keyboard 902 and a mouse 903 are connected to each other, and signals sent from the keyboard 902 and the mouse 903 are transferred to each unit via a bus.

ユーザが入出力部901を操作して、ネットワーク911を介して外部機器にアクセスし、例えば、CD−ROM等の外部記録媒体により入力されるまたはLANまたはインターネット等のネットワークを介して、ネットワークに通信可能に接続されたサーバ等からデバッグ作業に必要な各情報、例えば、正常動作時ソースコードと、エラー発生時ソースコードと、ソースコードの作成日時、変更日時、変更箇所点及びソースコード作成時、変更時の番号(リビジョン)などの履歴情報を、送受信部を介して前記記憶装置912に記憶する。   The user operates the input / output unit 901 to access an external device via the network 911 and, for example, is input via an external recording medium such as a CD-ROM or communicates with the network via a network such as a LAN or the Internet. Information necessary for debugging work from a server or the like that can be connected, for example, source code at normal operation, source code at the time of error occurrence, source code creation date / time, modification date / time, modification point and source code creation, History information such as the number (revision) at the time of change is stored in the storage device 912 via the transmission / reception unit.

ソースコード比較部904は、前記送受信部から取得した正常動作時ソースコードと、エラー発生時ソースコードとを比較し、変更があった内容を特定する。特定した変更内容から機能の変更に係る変更内容を抽出して差分情報として関係差分情報抽出部906に出力する。   The source code comparison unit 904 compares the normal operation source code acquired from the transmission / reception unit with the error source code, and identifies the changed content. The change content related to the function change is extracted from the specified change content, and is output to the related difference information extraction unit 906 as difference information.

テスト項目実行部905は、修正後のソースコードのテストを実行したときに、テスト対象の各テスト項目がどの経路を通過するかを示す経路情報を抽出して関係差分情報抽出部906に渡す。   When executing the test of the modified source code, the test item execution unit 905 extracts path information indicating which path each test item to be tested passes through and passes it to the relational difference information extraction unit 906.

関係差分情報抽出部906は、テスト項目実行部905から受け取った各テスト項目の通過経路情報と、ソースコード比較部904が出力する差分情報とに基づいて、バグとなったテスト項目が通過した経路に存在する関係の差分情報のみを抽出する。   The relationship difference information extraction unit 906 passes the path through which the test item that caused the bug has passed based on the passage route information of each test item received from the test item execution unit 905 and the difference information output by the source code comparison unit 904. Only the difference information of the relations existing in is extracted.

修正リビジョン抽出部907は、関係差分情報抽出部906が出力する関係の差分情報について、その差分が発生したリビジョン情報を前記記憶装置812に問合せて抽出する。   The revision revision extracting unit 907 inquires the storage device 812 and extracts the revision information in which the difference is generated, regarding the difference information of the relationship output by the relationship difference information extracting unit 906.

表示部908は、外部の表示装置、例えば、ディスプレイー909と接続しており、関係差分情報抽出部906が出力する関係の差分情報と修正リビジョン抽出部907が出力するリビジョン情報を合わせてディスプレイー909に表示する。   The display unit 908 is connected to an external display device, for example, a display 909. The display unit 908 combines the relationship difference information output from the relationship difference information extraction unit 906 and the revision information output from the revised revision extraction unit 907. 909 is displayed.

前記送信部910は、ユーザの指示があれば、前記表示部908に表示している関係の差分情報及びリビジョン情報を、ネットワーク911を介して外部機器に送信する。   If there is a user instruction, the transmission unit 910 transmits the relationship difference information and revision information displayed on the display unit 908 to an external device via the network 911.

これにより、本発明の第2の実施形態としてのデバッグ支援システムにおいて、バグとなったテスト項目が通過した経路に存在する関係の差分情報と当該差分情報が発生したリビジョン情報を合わせてユーザに提示することができ、または、ユーザの指示により、外部機器にそれらの情報を送信することが可能となる。   As a result, in the debug support system as the second embodiment of the present invention, the difference information of the relationship existing in the path through which the test item that caused the bug has passed and the revision information in which the difference information has occurred are presented to the user together It is possible to transmit the information to an external device according to a user instruction.

前述したように、本発明の第1及び第2の実施形態によれば、回帰テストにおいて、バグとなったテスト項目が通過した経路に存在する関係の差分情報と当該差分情報が発生したリビジョン情報を合わせてユーザに提示することが可能となるため、ソフトウェアのデバッグ作業を効率化することができる。   As described above, according to the first and second embodiments of the present invention, in the regression test, the difference information on the relationship existing in the path through which the test item that caused the bug has passed and the revision information in which the difference information has occurred. Therefore, it is possible to improve the efficiency of software debugging.

また、上述した本発明の各実施形態において、各フローチャートを参照して説明した処理機能は、コンピュータによって実現することができる。その場合、デバッグ支援システムが有すべき機能の処理内容を記述したプログラムが提供される。   In the above-described embodiments of the present invention, the processing functions described with reference to the flowcharts can be realized by a computer. In that case, a program describing the processing contents of the functions that the debug support system should have is provided.

図10は、本発明の第1の実施形態または第2の実施形態としてのデバッグ支援システムのハードウェア構成の一例を示すブロック図である。   FIG. 10 is a block diagram illustrating an example of a hardware configuration of the debugging support system according to the first embodiment or the second embodiment of the present invention.

図10に示すように、本発明の第1の実施形態または第2の実施形態としてのデバッグ支援システムの処理機能は、ROM1003(Read Only Memory)又は記憶装置(HDD)1004に記憶されたコンピュータ・プログラムをCPU1001(Central Processing Unit)がRAM1002(Random Access Memory)に読み込んで実行することにより、上記処理機能がコンピュータ上で実現される。   As shown in FIG. 10, the processing functions of the debugging support system according to the first embodiment or the second embodiment of the present invention are a computer program stored in a ROM 1003 (Read Only Memory) or a storage device (HDD) 1004. The CPU 1001 (Central Processing Unit) reads the program into the RAM 1002 (Random Access Memory) and executes the program, thereby realizing the processing functions on the computer.

なお、上記のデバッグ支援システムの内部構成は一例である。デバッグ支援システムは
、CPU1001のみを備え、外部に備えられた、記憶装置1004、外部機器接続インタフェース1005、及びネットワークインタフェース1006を用いて動作してもよい。
The internal configuration of the debugging support system is an example. The debugging support system may include only the CPU 1001 and operate using the storage device 1004, the external device connection interface 1005, and the network interface 1006 provided outside.

また、前記処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体には、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。   Further, the program describing the processing contents can be recorded on a computer-readable recording medium. Examples of the computer-readable recording medium include a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory.

磁気記録装置には、HDD、フレキシブルディスク(FD)、磁気テープ(MT)などがある。光ディスクには、DVD(Digital Versatile Disc)、DVD−RAM、CD−ROM(Compact Disc - Read Only Memory)、CD−R(Recordable)/RW(Rewritable)などがある。光磁気記録媒体には、MO(Magneto - Optical disk)などがある。   Examples of the magnetic recording device include an HDD, a flexible disk (FD), and a magnetic tape (MT). Optical discs include DVD (Digital Versatile Disc), DVD-RAM, CD-ROM (Compact Disc-Read Only Memory), CD-R (Recordable) / RW (Rewritable), and the like. Magneto-optical recording media include MO (Magneto-Optical disk).

上記プログラムを流通させる場合には、例えば、そのプログラムが記録されたDVD、
CD−ROMなどの可搬型記録媒体が販売される。また、プログラムをサーバコンピュー
タに格納しておき、ネットワークを通じて、サーバコンピュータから他のコンピュータに
そのプログラムを転送することもできる。
When distributing the above program, for example, a DVD on which the program is recorded,
Portable recording media such as CD-ROMs are sold. It is also possible to store the program in a server computer and transfer the program from the server computer to another computer via a network.

上記プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプロ
グラム若しくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納
する。
The computer that executes the program stores, for example, the program recorded on the portable recording medium or the program transferred from the server computer in its own storage device.

そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラム
に従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを
読み取り、そのプログラムに従った処理を実行することもできる。
Then, the computer reads the program from its own storage device and executes processing according to the program. The computer can also read the program directly from the portable recording medium and execute processing according to the program.

また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。   Further, each time the program is transferred from the server computer, the computer can sequentially execute processing according to the received program.

以上、本発明の実施の形態を説明したが、上記については単に本発明の原理を示すものである。本発明は上記に示して説明した構成および応用例に限定されるものではなく、さらに、多数の変形、変更が当業者にとって可能である。   Although the embodiment of the present invention has been described above, the above description merely shows the principle of the present invention. The present invention is not limited to the configurations and application examples shown and described above, and many variations and modifications can be made by those skilled in the art.

さらに、本発明に他の任意の構成物や工程が付加されてもよい。また、本発明は前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。   Furthermore, other arbitrary components and processes may be added to the present invention. Further, the present invention may be a combination of any two or more configurations (features) of the above-described embodiments.

本発明は、例えば、保守又は改善作業を含むソフトウェア開発全般に適用できる。   The present invention can be applied to software development in general including maintenance or improvement work, for example.

100 デバッグ支援システム
101 バージョン管理部
102 第1の記憶部
103 第2の記憶部
104 ソースコード比較部
105 テスト項目実行部
106 実行経路情報保存部
107 関係差分情報抽出部
108 修正リビジョン抽出部
109 表示部
900 デバッグ支援システム
901 入出力部
902 キーボード
903 マウス
904 ソースコード比較部
905 テスト項目実行部
906 関係差分情報抽出部
907 修正リビジョン抽出部
908 表示部
909 ディスプレイー
910 送受信部
911 ネットワーク
912 記憶装置
1001 CPU
1002 RAM
1003 ROM
1004 記憶装置
1005 外部機器接続インタフェース
1006 ネットワークインタフェース
DESCRIPTION OF SYMBOLS 100 Debug support system 101 Version management part 102 1st memory | storage part 103 2nd memory | storage part 104 Source code comparison part 105 Test item execution part 106 Execution path information storage part 107 Relational difference information extraction part 108 Correction revision extraction part 109 Display part 900 debug support system 901 input / output unit 902 keyboard 903 mouse 904 source code comparison unit 905 test item execution unit 906 relation difference information extraction unit 907 modified revision extraction unit 908 display unit 909 display unit 910 transmission / reception unit 911 network 912 storage device 1001 CPU
1002 RAM
1003 ROM
1004 Storage device 1005 External device connection interface 1006 Network interface

Claims (8)

第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとのソースコードの作成日時、変更日時、変更箇所及びソースコード作成時又は変更時のリビジョンなどの履歴情報の入出力を行うバージョン管理部と、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力するソースコード比較部と、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と関連付けて記録するテスト項目実行部と、
前記テスト項目実行部が記録する実行経路を保存する実行経路情報保存部と、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報に基づいてバグとなったテスト項目が通過した実行経路に存在する関係を有する差分情報を抽出する関係差分情報抽出部と、
前記抽出された関係を有する差分情報が発生したリビジョンを前記バージョン管理部から抽出する修正リビジョン抽出部とを備えることを特徴とするデバッグ支援システム。
Creation date / time, change date / time, change location and source of source code between the first source code and the second source code in which at least part of the source code included in the first source code is modified or changed A version management unit that inputs and outputs history information such as revisions at the time of code creation or modification;
A source code comparison unit that compares the first source code and the second source code output from the version management unit and outputs difference information;
A test item execution unit that records a path through which a process passes when a test of a plurality of test items is executed on the second source code in association with the test item;
An execution path information storage unit that stores an execution path recorded by the test item execution unit;
A relationship in which a test item that becomes a bug based on the difference information exists in an execution path that passes through the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit. A relational difference information extraction unit for extracting difference information having
A debugging support system comprising: a revision revision extracting unit that extracts a revision in which difference information having the extracted relationship has occurred from the version management unit.
前記バージョン管理部は、前記第1のソースコードを記憶する第1の記憶部と、前記2のソースコードを記憶する第2の記憶部とを有することを特徴とする請求項1に記載のデバッグ支援システム。   The debugging according to claim 1, wherein the version management unit includes a first storage unit that stores the first source code and a second storage unit that stores the second source code. Support system. 前記テスト項目実行部は、前記第2のソースコードに対して複数のテスト項目についてテストを実行した際に、エラーとなったテスト項目のみを抽出し、エラーとなったテスト項目に関する情報を限定することにより、当該テスト項目がどの経路を通過するかを示す経路情報を記録することを特徴とする請求項1又は請求項2に記載のデバッグ支援システム。   The test item execution unit extracts only test items in error when executing tests on a plurality of test items with respect to the second source code, and limits information on the test items in error. The debugging support system according to claim 1 or 2, wherein route information indicating which route the test item passes through is recorded. バージョン管理部から第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとを出力し、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力し、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と対応付けて記録し、
前記テスト項目実行部が記録する実行経路を保存し、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報からバグとなったテスト項目が通過した実行経路に存在する関係の差分情報のみを抽出し、
前記抽出された関係の差分情報が発生したリビジョンを前記バージョン管理部から抽出することを特徴とするデバッグ支援方法。
Outputting a first source code from the version management unit and a second source code in which at least a part of the source code included in the first source code is modified or changed;
Compare the first source code and the second source code output from the version management unit, output the difference information,
A path through which the process passes when a test of a plurality of test items is executed on the second source code is recorded in association with the test item;
Save the execution path recorded by the test item execution unit,
Referencing the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit, the difference in the relationship existing in the execution path through which the test item that caused the bug has passed from the difference information Extract only information,
A debugging support method, comprising: extracting a revision in which the extracted difference information of the relationship has occurred from the version management unit.
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に、エラーとなったテスト項目のみを抽出し、エラーとなったテスト項目に関する情報を限定することにより、当該テスト項目がどの経路を通過するかを示す経路情報を記録することを特徴とする請求項4に記載のデバッグ支援方法。   When the test of a plurality of test items is executed on the second source code, only the test items that are in error are extracted, and the information on the test items that are in error is limited, 5. The debugging support method according to claim 4, wherein route information indicating which route is passed is recorded. バージョン管理部から第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとを出力する処理と、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力する処理と、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と対応付けて記録する処理と、
前記テスト項目実行部が記録する実行経路を保存する処理と、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報からバグとなったテスト項目が通過した実行経路に存在する関係の差分情報のみを抽出する処理と、
前記抽出された関係の差分情報が発生したリビジョンを前記バージョン管理部から抽出する処理とをコンピュターに実行させることを特徴とするデバッグ支援プログラム。
A process of outputting the first source code from the version management unit and the second source code in which at least a part of the source code included in the first source code is modified or changed;
A process of comparing the first source code and the second source code output from the version management unit and outputting difference information;
A process of recording a path through which a process passes when a test of a plurality of test items is executed on the second source code in association with a test item;
Processing for storing an execution path recorded by the test item execution unit;
Referencing the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit, the difference in the relationship existing in the execution path through which the test item that caused the bug has passed from the difference information A process to extract only information,
A debugging support program for causing a computer to execute a process of extracting a revision in which the extracted difference information of the extracted relationship is generated from the version management unit.
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に、エラーとなったテスト項目のみを抽出し、エラーとなったテスト項目に関する情報を限定することにより、当該テスト項目がどの経路を通過するかを示す経路情報を記録する処理を行うことを特徴とする請求項6に記載のデバッグ支援プログラム。   When the test of a plurality of test items is executed on the second source code, only the test items that are in error are extracted, and the information on the test items that are in error is limited, The debugging support program according to claim 6, wherein a process of recording route information indicating which route is passed is performed. バージョン管理部から第1のソースコードと、前記第1のソースコードに含まれるソースコードの少なくとも一部に修正又は変更が加えられた第2のソースコードとを出力する処理と、
前記バージョン管理部から出力する前記第1のソースコード及び前記第2のソースコードとを比較し、差分情報を出力する処理と、
前記第2のソースコードに対して複数のテスト項目のテストを実行した際に処理が通過する経路を、テスト項目と対応付けて記録する処理と、
前記テスト項目実行部が記録する実行経路を保存する処理と、
前記実行経路情報保存部に保存する前記実行経路と前記ソースコード比較部が出力する前記差分情報とを参照し、前記差分情報からバグとなったテスト項目が通過した実行経路に存在する関係の差分情報のみを抽出する処理と、
前記抽出された関係の差分情報が発生したリビジョンを前記バージョン管理部から抽出する処理とをコンピュターに実行させるプログラムが記録された記録媒体。
A process of outputting the first source code from the version management unit and the second source code in which at least a part of the source code included in the first source code is modified or changed;
A process of comparing the first source code and the second source code output from the version management unit and outputting difference information;
A process of recording a path through which a process passes when a test of a plurality of test items is executed on the second source code in association with a test item;
Processing for storing an execution path recorded by the test item execution unit;
Referencing the execution path stored in the execution path information storage unit and the difference information output by the source code comparison unit, the difference in the relationship existing in the execution path through which the test item that caused the bug has passed from the difference information A process to extract only information,
A recording medium on which a program for causing a computer to execute a process of extracting the revision in which the extracted difference information of the extracted relationship is generated from the version management unit is recorded.
JP2013133856A 2013-06-26 2013-06-26 Debug support system, method, program, and recording medium Pending JP2015011372A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013133856A JP2015011372A (en) 2013-06-26 2013-06-26 Debug support system, method, program, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013133856A JP2015011372A (en) 2013-06-26 2013-06-26 Debug support system, method, program, and recording medium

Publications (1)

Publication Number Publication Date
JP2015011372A true JP2015011372A (en) 2015-01-19

Family

ID=52304516

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013133856A Pending JP2015011372A (en) 2013-06-26 2013-06-26 Debug support system, method, program, and recording medium

Country Status (1)

Country Link
JP (1) JP2015011372A (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765692A (en) * 2015-04-29 2015-07-08 北京嘀嘀无限科技发展有限公司 Method and equipment for automatically testing software
CN108536600A (en) * 2018-04-12 2018-09-14 平安普惠企业管理有限公司 Regression testing method, unit and computer readable storage medium
JP2019040280A (en) * 2017-08-23 2019-03-14 富士通株式会社 Output program, output method and information processing device
JP2019057118A (en) * 2017-09-21 2019-04-11 株式会社東芝 Debug support device and debug support program
US10613969B2 (en) 2018-05-17 2020-04-07 Red Hat Israel, Ltd. Code coverage module with testing function identifier
US11256602B2 (en) 2020-01-30 2022-02-22 Red Hat, Inc. Source code file retrieval
WO2022239549A1 (en) * 2021-05-14 2022-11-17 オムロン株式会社 Version management method, version management program, and version management system
WO2023199407A1 (en) * 2022-04-12 2023-10-19 日本電信電話株式会社 Maintenance work assistance device, maintenance work assistance method, and program

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104765692A (en) * 2015-04-29 2015-07-08 北京嘀嘀无限科技发展有限公司 Method and equipment for automatically testing software
JP2019040280A (en) * 2017-08-23 2019-03-14 富士通株式会社 Output program, output method and information processing device
JP2019057118A (en) * 2017-09-21 2019-04-11 株式会社東芝 Debug support device and debug support program
CN108536600A (en) * 2018-04-12 2018-09-14 平安普惠企业管理有限公司 Regression testing method, unit and computer readable storage medium
US10613969B2 (en) 2018-05-17 2020-04-07 Red Hat Israel, Ltd. Code coverage module with testing function identifier
US11256602B2 (en) 2020-01-30 2022-02-22 Red Hat, Inc. Source code file retrieval
WO2022239549A1 (en) * 2021-05-14 2022-11-17 オムロン株式会社 Version management method, version management program, and version management system
WO2023199407A1 (en) * 2022-04-12 2023-10-19 日本電信電話株式会社 Maintenance work assistance device, maintenance work assistance method, and program

Similar Documents

Publication Publication Date Title
US9753838B2 (en) System and method to classify automated code inspection services defect output for defect analysis
US10552301B2 (en) Completing functional testing
US10372594B2 (en) Method and device for retrieving test case based on code coverage
US9898387B2 (en) Development tools for logging and analyzing software bugs
JP2015011372A (en) Debug support system, method, program, and recording medium
US8954930B2 (en) System and method for reducing test effort by object risk analysis
US20060190770A1 (en) Forward projection of correlated software failure information
US8621441B2 (en) System and method for software immunization based on static and dynamic analysis
US8370816B2 (en) Device, method and computer program product for evaluating a debugger script
US20170192880A1 (en) Defect prediction
US8645761B2 (en) Precise fault localization
US20110307502A1 (en) Extensible event-driven log analysis framework
US10049031B2 (en) Correlation of violating change sets in regression testing of computer software
US8302087B2 (en) Quality assurance in software systems through autonomic reliability, availability and serviceability code generation
CN103186463B (en) Determine the method and system of the test specification of software
CN110990289B (en) Method and device for automatically submitting bug, electronic equipment and storage medium
US8762781B2 (en) Method and apparatus useful in manufacturing test case operations
US8359579B2 (en) Monitoring dynamic aspect oriented applications at execution time
CN110147313B (en) Log output method and device
JP2011145824A (en) Information processing apparatus, fault analysis method, and fault analysis program
CN115757099A (en) Automatic test method and device for platform firmware protection recovery function
US10467131B1 (en) Method and system for performance analysis by test automation frameworks
TW202311947A (en) Device and method for re-executing of test cases in software application
KR20190020363A (en) Method and apparatus for analyzing program by associating dynamic analysis with static analysis
US11392371B2 (en) Identification of a partial code to be refactored within a source code