JP4745728B2 - Debugging support program - Google Patents

Debugging support program Download PDF

Info

Publication number
JP4745728B2
JP4745728B2 JP2005180603A JP2005180603A JP4745728B2 JP 4745728 B2 JP4745728 B2 JP 4745728B2 JP 2005180603 A JP2005180603 A JP 2005180603A JP 2005180603 A JP2005180603 A JP 2005180603A JP 4745728 B2 JP4745728 B2 JP 4745728B2
Authority
JP
Japan
Prior art keywords
source code
test
procedure
information
time
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.)
Expired - Fee Related
Application number
JP2005180603A
Other languages
Japanese (ja)
Other versions
JP2007004255A (en
Inventor
丈治 加藤
徹 内山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2005180603A priority Critical patent/JP4745728B2/en
Publication of JP2007004255A publication Critical patent/JP2007004255A/en
Application granted granted Critical
Publication of JP4745728B2 publication Critical patent/JP4745728B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Description

本発明は、ソフトウェアのデバッグ支援のための技術に関する。   The present invention relates to a technique for supporting debugging of software.

各種ソフトウェア(ファームウェアを含む)の開発の効率化に関する技術として、開発工程のうち試験工程の効率化を目的とした、ソフトウェア試験の自動化システムについて開示されている(例えば、特許文献1)。特許文献1に記載の技術においては、ソフトウェア試験の自動化システムにより、単体試験における作業のうち、試験項目の抽出、試験手順書の作成、試験結果の判定等の処理が自動的に実行される。   As a technique for improving the efficiency of development of various software (including firmware), an automated system for software testing has been disclosed for the purpose of improving the efficiency of the testing process among the development processes (for example, Patent Document 1). In the technique described in Patent Document 1, processing such as extraction of test items, creation of a test procedure manual, determination of test results, and the like is automatically executed among tasks in a unit test by a software test automation system.

ところで、一般的なソフトウェアの開発においては、開発を複数の段階に分け、各段階で実現すべき機能が定められ、順次そのソフトウェアに追加されていく。各開発段階の試験において、追加された機能が正しく動作することが確認される。   By the way, in general software development, the development is divided into a plurality of stages, and the functions to be realized in each stage are determined and sequentially added to the software. In each development phase test, it is confirmed that the added functions work correctly.

段階的に機能を追加していくと、ある開発段階においてはしかるべき戻り値が試験結果として得られていたとしても、次の段階において新たな機能をソフトウェアに盛り込んで試験を行うと、先の試験とは異なる結果が返ってきてしまうことがある。以下の説明においては、このような現象をデグレード障害と呼ぶことにする。   If functions are added step by step, even if an appropriate return value is obtained as a test result at a certain development stage, the new function will be incorporated into the software at the next stage and tested. Results may differ from the test. In the following description, such a phenomenon is referred to as a degradation failure.

このデグレード障害の要因となっている箇所を突き止めるには、デグレード障害が検出された時点におけるソースコードと、障害が検出されるよりも前のバージョンのソースコードとを比較して、関連箇所を追跡していかなくてはならない。   To find the location that caused this degradation failure, compare the source code at the time when the degradation failure was detected with the version of the source code before the failure was detected, and track the relevant location. I have to do it.

デグレード障害追跡を含んだ、ソフトウェア試験のためのツールとして、各種システムやコマンドが使用されている。例えば、ソースコードの開発環境からソースを試験用マシンにダウンロードするためのコマンドである「wget」や分散型ソース管理システムである「cvs/bitkeeper/subversion」、試験の実行形式の構築のためのシステムである「ports/portage」や「Autobuild」、試験を自動的に実行するためのシステム「JUNIT/NUNIT/DejaGNU/Rational Manual Tester」、先のバージョンのソースコードとの差分をとるためのシステム「cxref/global」等が、開発におけるデバッグ支援ツールとして従来から用いられている。
特開平9−244921号公報(要約、図1、0013〜0015段落)
Various systems and commands are used as tools for software testing, including degraded troubleshooting. For example, “wget”, a command for downloading source to the test machine from the source code development environment, “cvs / bitkeeper / subversion”, a distributed source management system, and a system for building test execution formats "Ports / portage" and "Autobuild", the system "JUNIT / NUNIT / DejaGNU / Rational Manual Tester" for automatically executing tests, the system "cxref" for taking the difference from the source code of the previous version / global "has been used as a debugging support tool in development.
Japanese Patent Laid-Open No. 9-244921 (abstract, FIG. 1, paragraphs 0013 to 0015)

従来技術のデバッグ環境においては、ソースコードの改変についての管理と、その試験結果の管理とは別個になされており、関連付けられていない。このため、デグレード障害の追跡は上記の支援ツール等を用いて行うことができるとしても、実際に比較すべきソースコードがどれであるのか、また、ソースコードにおいてデグレードに関連する箇所がどこであるのかなどについてはシステム開発者が手動にて調べる必要があり、これらの作業に多くの時間を要していた。   In the debugging environment of the prior art, management of source code modification and management of test results are performed separately and are not associated with each other. For this reason, even if the degradation failure can be traced using the above-mentioned support tools, etc., what source code should be actually compared, and where is the location related to degradation in the source code? For example, the system developer had to investigate manually, and it took a lot of time for these operations.

本発明は、ソフトウェアのデバッグを効率化することのできる技術を提供することを目的とする。   An object of the present invention is to provide a technique capable of improving the efficiency of software debugging.

上記課題を解決するために、本発明によれば、ソフトウェアのデバッグ処理を支援するためのプログラムであって、ソースコード格納手段にソースコードを格納する第1の手順、前記ソースコード格納手段に先に格納されている第1のソースコードと前記第1の手順により新たに格納された第2のソースコードとを比較することにより比較結果情報を生成して格納する第2の手順、前記第2のソースコードを実行形式に変換して予め決められた試験を行う第3の手順、上記試験により得られる試験結果情報およびその試験を行った時刻を表す試験時刻情報を対応づけて格納する第4の手順、前記第1〜第4の手順を繰り返し実行する第5の手順、指定された試験結果情報に対応する比較結果情報を、前記試験時刻情報および各ソースコードの前記ソースコード格納手段への格納時刻を表す格納時刻情報を利用して取得して出力する第6の手順、をコンピュータに実行させるプログラムが提供される。   In order to solve the above-described problem, according to the present invention, there is provided a program for supporting a software debugging process, wherein a first procedure for storing source code in a source code storage means is performed prior to the source code storage means. A second procedure for generating and storing comparison result information by comparing the first source code stored in the first source code and the second source code newly stored by the first procedure; A third procedure for converting a source code of the above into an execution format and performing a predetermined test, a test result information obtained by the test, and a test time information indicating the time when the test was performed are stored in association with each other. The fifth procedure for repeatedly executing the first to fourth procedures, the comparison result information corresponding to the designated test result information, the test time information and each source code Program for executing a sixth step to output the acquired utilizing stored time information representing the storage time of the serial source code storing unit, to a computer is provided.

ソースコード(第2のソースコード)をソースコード格納手段に格納するとき、先に格納されているソースコード(第1のソースコード)との間の差分を、比較結果情報として生成して保有しておく。第1のソースコードについて行った試験の結果が正常であったにもかかわらず、第2のソースコードについて行った試験の結果が正常でなかった際には、予め作成して保有してある第1、第2のソースコードの差分を表す比較結果情報を出力する。ソースコード格納手段に格納された複数のバージョンのソースコードについて、各ソースコードについての試験結果と適切に対応付けて管理することができる。   When the source code (second source code) is stored in the source code storage means, a difference from the previously stored source code (first source code) is generated and held as comparison result information. Keep it. When the result of the test performed on the second source code is not normal despite the result of the test performed on the first source code being normal, 1 and 2 output comparison result information representing the difference between the second source codes. A plurality of versions of source code stored in the source code storage means can be managed in association with the test results for each source code appropriately.

前記比較結果情報は、前記ソースコード格納手段に前記第2のソースコードが格納されたことを契機として生成されることとしてもよい。新たなソースコードが格納されたことを比較結果情報の生成の契機とすることで、ソースコードのバージョンごとの比較が確実になされ得る。   The comparison result information may be generated when the second source code is stored in the source code storage unit. By using the new source code stored as a trigger for generating the comparison result information, it is possible to reliably compare the source code versions.

前記第6の手順は、第1の試験の結果が正常でありかつその第1の試験よりも後に実行された第2の試験の結果が非正常であったときに、前記第1の試験が実行された時刻の直前に前記ソースコード格納手段に格納されたソースコードと前記第2の試験が実行された時刻の直前に前記ソースコード格納手段に格納されたソースコードとの間の比較結果情報を出力することとしてもよい。第1のソースコードと第2のソースコードとの差分のうちデグレードの発生している箇所を特定する作業についての効率化が図れる。   The sixth procedure is such that when the result of the first test is normal and the result of the second test performed after the first test is abnormal, the first test is Comparison result information between the source code stored in the source code storage means immediately before the execution time and the source code stored in the source code storage means immediately before the time when the second test is executed May be output. It is possible to improve the efficiency of the work of identifying the portion where the degradation occurs in the difference between the first source code and the second source code.

また、前記第6の手順は、電子メールを用いてメール受信側に通知することにより出力することとしてもよいし、ウェブブラウザに表示させることにより出力することとしてもよい。   In addition, the sixth procedure may be output by notifying the mail receiving side using electronic mail, or may be output by displaying on a web browser.

本発明によれば、ソースコードとそのソースコードについての試験結果とが関連付けて管理されることにより、ソフトウェアのデバッグの効率化を図ることができる。   According to the present invention, the efficiency of software debugging can be improved by managing the source code and the test result of the source code in association with each other.

以下、本発明の好適な実施の形態について、図面を参照しながら詳細に説明する。
図1は、本実施形態に係るデバッグ支援装置1を含んだシステム構成図である。図1のシステム10は、例えば、デバッグ支援装置1、ソースリポジトリ2、社内リポジトリ3、ターゲット機4(4A、4B、4C)、テスト結果参照機5を含んで構成される。
DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments of the invention will be described in detail with reference to the drawings.
FIG. 1 is a system configuration diagram including a debugging support apparatus 1 according to the present embodiment. The system 10 of FIG. 1 includes, for example, a debug support apparatus 1, a source repository 2, an in-house repository 3, a target machine 4 (4A, 4B, 4C), and a test result reference machine 5.

デバッグ支援装置1は、テスト実施用のホストコンピュータ11、テスト用ソースコードリポジトリ12、デバッグ支援情報格納部13、テストスクリプト格納部14、ターゲット機用実行形式格納部15、テスト結果格納部16、テスト定期実行プログラム17およびクロスリファレンサ18を含む。   The debug support apparatus 1 includes a test execution host computer 11, a test source code repository 12, a debug support information storage unit 13, a test script storage unit 14, a target machine execution format storage unit 15, a test result storage unit 16, a test A periodic execution program 17 and a cross referencer 18 are included.

ソースリポジトリ2および社内リポジトリ3は、デバッグ支援装置1のホストコンピュータ11においてテストされるソースコードを格納している。例えば、ある企業でプログラムの開発が行われ、一部のソースコードについてはインターネット等を介して入手したソースコードを開発に用いる場合には、ソースリポジトリ2に格納されるソースコードは、一般に、あるいは特定のユーザに対して公開されたソースコードであり、社内リポジトリ3に格納されるのは、その企業内において開発されたソースコードである。ソースリポジトリ2はインターネット等のネットワークを介して、社内リポジトリ3はLAN等を介して、必要なソースコードを、本実施形態に係るデバッグ支援装置1に提供する。   The source repository 2 and the in-house repository 3 store source code to be tested in the host computer 11 of the debug support apparatus 1. For example, when a company develops a program and uses a part of the source code obtained through the Internet or the like for development, the source code stored in the source repository 2 is generally The source code released to a specific user and stored in the in-house repository 3 is source code developed in the company. The source repository 2 provides necessary source code to the debugging support apparatus 1 according to the present embodiment via a network such as the Internet, and the internal repository 3 via a LAN or the like.

ターゲット機4は、開発されたソースコードを実際に実行するための装置である。図1に示されるシステム構成の例においては、3台のターゲット機を備えた構成とされ、例えば、評価ボード4A、実機4B等がハブを介して本実施形態に係るデバッグ支援装置1に接続される。これらターゲット機4A、4B、4Cにおいてテストが実行され、そのテスト結果はハブを介してデバッグ支援装置1に転送される。   The target machine 4 is a device for actually executing the developed source code. In the example of the system configuration shown in FIG. 1, the configuration includes three target machines. For example, an evaluation board 4A, an actual machine 4B, and the like are connected to the debug support apparatus 1 according to the present embodiment via a hub. The Tests are executed in these target machines 4A, 4B, and 4C, and the test results are transferred to the debug support apparatus 1 via the hub.

テスト結果参照機5は、デバッグ支援装置1に転送されたターゲット機4におけるテスト結果や、デバッグ支援装置1におけるそのテスト結果についての分析結果を参照するための端末装置等で構成される。図1に示されるように、例えばプリンタやモニタ等に結果を出力する構成としてもよい。   The test result reference machine 5 includes a terminal device for referring to the test result in the target machine 4 transferred to the debug support apparatus 1 and the analysis result of the test result in the debug support apparatus 1. As shown in FIG. 1, for example, the result may be output to a printer, a monitor, or the like.

デバッグ支援装置1におけるホストコンピュータ11は、ソースリポジトリ2や社内リポジトリ3からダウンロードしたソースコードのバージョン、そのソースコードの作成日時、そのソースコードについてのテスト結果を関連付けて管理する。テスト用ソースコードリポジトリ12は、ダウンロードしたソースコードを格納するための2次記憶である。デバッグ支援情報格納部13は、ダウンロードしたソースコードについてのバージョン間の差分や、その各ソースコードをテスト用ソースコードリポジトリ12に格納した日時等の時刻情報を保有し、管理するための2次記憶である。テストスクリプト格納部14は、テスト用ソースコードリポジトリ12に格納されたソースコードについてのテストの手順を記述したスクリプトを格納するための2次記憶である。実行形式格納部15は、ターゲット機4においてテストを実行するために作成された実行形式を格納するための2次記憶である。テスト結果格納部16は、ターゲット機4から転送されたテスト結果を格納するための2次記憶である。テスト定期実行プログラム17は、テストを所定の時間間隔で実行し、その結果を得るためのプログラムである。クロスリファレンサ18は、ソースコードのバージョン間の差分を取るためのプログラムである。   The host computer 11 in the debug support apparatus 1 manages the version of the source code downloaded from the source repository 2 or the in-house repository 3, the source code creation date and time, and the test result for the source code in association with each other. The test source code repository 12 is a secondary storage for storing the downloaded source code. The debug support information storage unit 13 holds time information such as the difference between versions of the downloaded source code and the date and time when each source code is stored in the test source code repository 12, and is a secondary storage for management. It is. The test script storage unit 14 is a secondary storage for storing a script describing a test procedure for the source code stored in the test source code repository 12. The execution format storage unit 15 is secondary storage for storing an execution format created for executing a test in the target machine 4. The test result storage unit 16 is secondary storage for storing the test result transferred from the target machine 4. The test periodic execution program 17 is a program for executing a test at a predetermined time interval and obtaining the result. The cross referencer 18 is a program for taking a difference between versions of the source code.

なお、図1に示されるシステム構成によれば、開発されたソースコードはソースリポジトリ2や社内リポジトリ3に格納され、開発されたソースコードについてのテストはターゲット機4において実行されるが、これに限定されるものではない。例えば、開発されたソースコードを直接的にデバッグ支援装置1に格納するようなシステム構成や、テストをデバッグ支援装置1において実行するような構成であってもよい。   According to the system configuration shown in FIG. 1, the developed source code is stored in the source repository 2 or the internal repository 3, and the test for the developed source code is executed in the target machine 4. It is not limited. For example, a system configuration in which the developed source code is directly stored in the debug support apparatus 1 or a configuration in which a test is executed in the debug support apparatus 1 may be used.

また、図1の構成例では、ソースコードリポジトリ2や社内リポジトリ3からソースコードをダウンロードし、テスト用ソースコードリポジトリ12に登録された時刻情報を元に複数のバージョンのソースコードを管理することとしているが、これに限られない。例えば、ソースコードリポジトリ2、あるいは社内リポジトリ3にソースコードが格納された時刻を用いて管理することとしてもよい。以下の説明においては、簡単のため、図1の構成例にしたがってリポジトリとはテスト用ソースコードリポジトリ12としている。   Further, in the configuration example of FIG. 1, the source code is downloaded from the source code repository 2 or the internal repository 3, and a plurality of versions of the source code are managed based on the time information registered in the test source code repository 12. However, it is not limited to this. For example, it may be managed using the time when the source code is stored in the source code repository 2 or the internal repository 3. In the following description, for simplicity, the repository is a test source code repository 12 in accordance with the configuration example of FIG.

図2は、リポジトリに登録された、複数のバージョンのソースコードを管理するのに必要な情報の実施例である。例えば上記のテスト実施用ホストコンピュータ11や、テスト結果参照機5のモニタに、図2に示すような画面を表示することによって、ユーザに対して、リポジトリに登録されたソースコードのバージョンごとの情報が示される。   FIG. 2 shows an example of information necessary for managing a plurality of versions of source code registered in the repository. For example, by displaying a screen as shown in FIG. 2 on the test execution host computer 11 or the monitor of the test result reference machine 5, the information for each version of the source code registered in the repository is displayed to the user. Is shown.

図2の例においては、あるソフトウェアのバージョン「1.1.1.1」、「1.2」および「1.3」について、バージョンごとに必要な情報が示されている。例えば、バージョン情報21に対して、格納日時情報22、修正内容情報23、および差分元情報24が表示される。   In the example of FIG. 2, information necessary for each version is shown for certain software versions “1.1.1.1”, “1.2”, and “1.3”. For example, storage date / time information 22, correction content information 23, and difference source information 24 are displayed for version information 21.

図2に示される複数のバージョンのうち、バージョン「1.3」を例に挙げる。格納日時情報22は、バージョン「1.3」のソースコードを、テスト用ソースコードリポジトリ12に最初に格納した日時、すなわち、デバッグ支援装置1においてソフトウェアがアップデートした日時を表す。修正内容情報23は、先のバージョンのソフトウェアと比較した変更量が表示される。ここでは、バージョン「1.2」のソフトウェアと比較して、追加行が41行、削除行は0行である。差分元情報24は、先のバージョンのソースコードと比較した際に差分の存在する箇所を表示する。ここでは、バージョン「1.2」との間の差分を生成していることを表示している。   Of the plurality of versions shown in FIG. 2, version “1.3” is taken as an example. The storage date / time information 22 represents the date / time when the source code of the version “1.3” was first stored in the test source code repository 12, that is, the date / time when the software was updated in the debug support apparatus 1. The modification content information 23 displays the amount of change compared to the previous version of software. Here, compared with the software version “1.2”, there are 41 added lines and 0 deleted lines. The difference source information 24 displays a portion where a difference exists when compared with the source code of the previous version. Here, it is displayed that a difference from version “1.2” is generated.

これまで説明してきたように、デバッグ支援装置1は、リポジトリにバージョンごとにそのソースコードを格納して管理することができ、ソースコード間における差分をクロスリファレンス情報として保有する。クロスリファレンス情報の表示は、ユーザの指定に基づいて行われる。あるいは、あるテスト結果がターゲット機4からダウンロードされるごとに、あるいは、所定の期間ごと、例えば24時間ごとに実行されることとしてもよい。   As described so far, the debug support apparatus 1 can store and manage the source code for each version in the repository, and holds the difference between the source codes as cross reference information. The display of the cross-reference information is performed based on a user designation. Alternatively, it may be executed every time a test result is downloaded from the target machine 4 or every predetermined period, for example, every 24 hours.

図3は、本実施形態に係るデバッグ支援の処理についてのフローチャートである。図3に沿って、本実施形態に係るデバッグ支援装置1が実行する処理の概要を説明する。
まず、ステップS1で、ソースリポジトリ2等のテストに必要なソースコードを格納するリポジトリから、ソースコードをダウンロードする。次に、ステップS2で、クロスリファレンサ18を起動し、ダウンロードされたソースコードと既にテスト用ソースコードリポジトリ12に格納されているソースコードとの間で差分を取り、その差分をクロスリファレンス情報としてクロスリファレンス情報格納部13に格納する。このとき、クロスリファレンサ18は、新たに取得したソースコードと過去に取得した各ソースコードとの間のクロスリファレンス情報をそれぞれ生成するようにしてもよいし、あるいは、新たに取得したソースコードと前回取得したソースコードのみとの間のクロスリファレンス情報を生成するようにしてもよい。ステップS3で、ダウンロードしたソースコードから実行形式を構築し、ステップS4で、ターゲット機4におけるテストを実行させる。最後に、ステップS5で、ターゲット機4におけるテストの実行結果を、テスト結果格納部16に格納する。このとき、試験を実行した時刻(試験時刻情報)をその試験結果と対応づけて格納しておく。
FIG. 3 is a flowchart of debugging support processing according to the present embodiment. An outline of processing executed by the debug support apparatus 1 according to the present embodiment will be described with reference to FIG.
First, in step S1, source code is downloaded from a repository that stores source code necessary for testing, such as the source repository 2. Next, in step S2, the cross referencer 18 is activated, and a difference is taken between the downloaded source code and the source code already stored in the test source code repository 12, and the difference is used as cross reference information. It is stored in the cross reference information storage unit 13. At this time, the cross referencer 18 may generate cross reference information between the newly acquired source code and each previously acquired source code, or the newly acquired source code and You may make it produce | generate the cross reference information between only the source codes acquired previously. In step S3, an execution format is constructed from the downloaded source code, and in step S4, a test on the target machine 4 is executed. Finally, in step S5, the test execution result in the target machine 4 is stored in the test result storage unit 16. At this time, the test execution time (test time information) is stored in association with the test result.

図3に示される、ソースコードのダウンロードからテストの実行結果を2次記憶に格納するまでの一連の処理は、例えば所定の時間間隔で、定期的かつ自動的に実行される。あるいは、新たにソースコードがダウンロードされたことをデバッグ支援装置1において認識されたことを契機として実行されることとしてもよい。   A series of processing shown in FIG. 3 from downloading the source code to storing the test execution result in the secondary storage is periodically and automatically executed, for example, at predetermined time intervals. Alternatively, it may be executed when the debugging support apparatus 1 recognizes that a new source code has been downloaded.

図4は、ソースコードの取得日時情報を設定する処理のフローチャートである。図4を参照して、ソースコードをデバッグ支援装置1が取得した日時に関する情報(格納時刻情報)を設定する方法を説明する。   FIG. 4 is a flowchart of processing for setting source code acquisition date / time information. With reference to FIG. 4, a method for setting information (storage time information) related to the date and time when the debug support apparatus 1 acquires the source code will be described.

ステップS11で、ダウンロード先定義ファイルに記述されたダウンロード先のソースリポジトリ2(あるいは社内リポジトリ3)に対して、そのダウンロード先定義ファイルに記述された接続手順を用いて接続し、ステップS12で、ダウンロード先定義ファイルで指定されたファイルをホストコンピュータ11にダウンロードする。   In step S11, connection is made to the source repository 2 (or in-house repository 3) of the download destination described in the download destination definition file using the connection procedure described in the download destination definition file, and in step S12, the download is performed. The file specified in the destination definition file is downloaded to the host computer 11.

図5は、ダウンロード定義ファイルの例である。図中においては<5A>のコマンドによって、テストの対象となるプログラムのモジュール名<ma>、接続手順<ca>およびダウンロード先アドレス<da>が指定される。コマンド<5A>においては、モジュール「binutils」について、「cvs」を用いてコンピュータ「pserver」の「anoncvs@sources.abcdef.com:/cvs/src」で示されるアドレスからダウンロードするよう指定する。モジュール「gcc」について指定するコマンド<5B>についても、同様のフォーマットでモジュール名<mb>、接続手順<mc>およびダウンロード先アドレス<db>が指定される。   FIG. 5 is an example of a download definition file. In the figure, the module name <ma>, the connection procedure <ca>, and the download destination address <da> of the program to be tested are designated by the command <5A>. In the command <5A>, the module “binutils” is specified to be downloaded from the address indicated by “anoncvs@sources.abcdef.com: / cvs / src” of the computer “pserver” using “cvs”. For the command <5B> specified for the module “gcc”, the module name <mb>, the connection procedure <mc>, and the download destination address <db> are specified in the same format.

ステップS13においては、ダウンロードしたソースコードのファイルを、テスト用ソースコードリポジトリ12に格納する。ステップS14で、今回ダウンロードしたソースコードのファイルと、前回ダウンロードしたソースコードのファイルとの間で差分をとり、生成したクロスリファレンス情報をデバッグ支援情報格納部13に格納する。ステップS15で、クロスリファレンス情報を生成した日時を、生成時刻情報としてそのクロスリファレンス情報に対応させて設定し、処理を終了する。なお、図4に示される一連の処理は、図3中においてはステップS1およびステップS2の処理に対応する。   In step S13, the downloaded source code file is stored in the test source code repository 12. In step S14, a difference is taken between the source code file downloaded this time and the previously downloaded source code file, and the generated cross-reference information is stored in the debug support information storage unit 13. In step S15, the date and time when the cross-reference information is generated is set in correspondence with the cross-reference information as generation time information, and the process ends. Note that the series of processing shown in FIG. 4 corresponds to the processing of step S1 and step S2 in FIG.

図6は、生成されたクロスリファレンス情報の一例である。ステップS13でテスト用ソースリポジトリ12に格納されたソースコードと先に格納されているソースコードとを比較して、差分のある箇所をそれぞれ示している。図6の例のように、例えば、各差分箇所に更にリンクを張っておき、各リンク先にそれぞれ実際のソースコードを設定しておいて表示させることもできる。   FIG. 6 is an example of the generated cross reference information. In step S13, the source code stored in the test source repository 12 is compared with the source code stored in advance, and each portion having a difference is shown. As shown in the example of FIG. 6, for example, it is possible to further link each difference portion and set and display the actual source code for each link destination.

図6に示す例では、ボックスB1にキーワードとして「task_struct」が入力されている。そして、このボックスB1に入力されたキーワードを含むソースコードのうち、差分の検出された箇所を表示している。ただし、この形態以外にも、例えば、キーワードが入力されていない場合には、差分の抽出された箇所全てについて表示することとしてもよい。   In the example illustrated in FIG. 6, “task_struct” is input as a keyword in the box B1. And the location where the difference was detected is displayed among the source codes containing the keyword input into this box B1. However, in addition to this form, for example, when no keyword is input, it is possible to display all of the extracted portions.

図7は、シナリオテーブルの実施例である。シナリオテーブルは、実行すべきプログラムを格納したディレクトリ名または実行すべきプログラム名を列記したファイルである。そして、シナリオテーブル内に記述されているディレクトリが指定されると、そのディレクトリの配下のファイルが順番に実行される。図7に示す例では、ディレクトリ「/home/areas/scripts/FJe/ia32」に、テストを実行すべきファイルが格納されている。   FIG. 7 is an example of a scenario table. The scenario table is a file that lists the names of directories that store programs to be executed or the names of programs to be executed. When a directory described in the scenario table is designated, files under that directory are executed in order. In the example shown in FIG. 7, a file to be tested is stored in the directory “/ home / areas / scripts / FJe / ia32”.

図8は、シナリオテーブルに基づいてテストを実行する処理のフローチャートである。テスト実行処理においては、ステップS21で、実行形式およびテストスクリプトの一覧を、それぞれ実行形式格納部15、テストスクリプト格納部14から読み出す。ステップS22で、読み出したテストスクリプトの一覧に記述されているファイルについて、順にテストを実行する。ステップS23で、全てのファイルについてテストを実行したか否かを判定する。未完了の場合はステップS22に戻ってまだ実行されていないファイルについてテストを行い、全て完了している場合は処理を終了する。   FIG. 8 is a flowchart of processing for executing a test based on the scenario table. In the test execution process, a list of execution formats and test scripts is read from the execution format storage unit 15 and the test script storage unit 14, respectively, in step S21. In step S22, tests are sequentially executed on the files described in the read test script list. In step S23, it is determined whether or not the test has been executed for all files. If not completed, the process returns to step S22 to test a file that has not been executed. If all the files have been completed, the process ends.

図9は、テストスクリプト実行時の動作処理についてのフローチャートである。なお、図9に示される処理は、図3ではステップS4およびステップS5の処理に相当する。
まず、ステップS31で、テストを実行すべきターゲット機4にログインし、ステップS32で、そのターゲット機4において、テストプログラムを起動する。テストプログラムの実行結果は、本実施形態においては、例えばテキスト形式でターゲット機4に格納される。ステップS33で、テストプログラムの実行結果を、ターゲット機4から取得する。ステップS34で、取得したテスト結果を参照し、結果が正常動作時における出力であるか否かを判定する。正常動作が確認されれば(ステップS34:Yes)、ステップS35で、そのテストが成功したことをテスト結果に記録して処理を終了する。一方、正常動作が確認されなかったときは(ステップS34:No)、ステップS36で、そのテストが失敗したことをテスト結果に記録して処理を終了する。
FIG. 9 is a flowchart of the operation process when the test script is executed. The process shown in FIG. 9 corresponds to the process of steps S4 and S5 in FIG.
First, in step S31, the target machine 4 to be tested is logged in, and in step S32, a test program is started in the target machine 4. In the present embodiment, the execution result of the test program is stored in the target machine 4 in a text format, for example. In step S33, the execution result of the test program is acquired from the target machine 4. In step S34, the acquired test result is referred to, and it is determined whether or not the result is an output during normal operation. If normal operation is confirmed (step S34: Yes), it is recorded in the test result that the test is successful in step S35, and the process is terminated. On the other hand, when the normal operation is not confirmed (step S34: No), it is recorded in the test result that the test has failed in step S36, and the process is terminated.

図10は、テストスクリプトの例である。図10において、<10A>は、ターゲット機4にログインするためのコマンドで構成される。<10B>は、テストプログラムを起動するためのコマンドであり、<10C>は、出力結果からテスト結果を判定するためのコマンドである。<10D>は、テスト結果を出力表示するためのコマンドであり、これは、図1のテスト結果参照機5のモニタや接続されたプリンタ等に出力される。   FIG. 10 is an example of a test script. In FIG. 10, <10A> is a command for logging in to the target machine 4. <10B> is a command for starting the test program, and <10C> is a command for determining the test result from the output result. <10D> is a command for outputting and displaying the test result, which is output to the monitor of the test result reference machine 5 in FIG.

図11は、テスト結果参照機5のモニタにテスト結果を表示させた画面の例である。テスト結果としては、例えば、テストの名称51、テストの実行日52、テストの開始時刻53、テスト結果の一覧55を含んで表示される。図11の例においては、2005年4月18日の15時6分12秒に実行されたテスト「pq3−test」について、実行リスト50、およびテストの結果55が表示されている。   FIG. 11 is an example of a screen on which the test result is displayed on the monitor of the test result reference machine 5. The test results are displayed including, for example, a test name 51, a test execution date 52, a test start time 53, and a test result list 55. In the example of FIG. 11, the execution list 50 and the test result 55 are displayed for the test “pq3-test” executed at 15: 6: 12 on April 18, 2005.

なお、図11においては、1回分のテスト結果のみが表示されているが、リスト50には、過去のすべての試験に関する情報が登録される。この場合、リスト50に登録されている複数のテストの中から所望の1つを選択すると、モニタ上に対応するテスト結果55が表示される。   In FIG. 11, only one test result is displayed, but information related to all past tests is registered in the list 50. In this case, when a desired one is selected from a plurality of tests registered in the list 50, a corresponding test result 55 is displayed on the monitor.

テスト結果55には、テストされたプログラム名56と、各プログラムに対応する試験項目について、戻り値の正常、異常等に分けてその項目数とを含む。例えば、プログラム「tool sysvinit」のテスト結果として、テストが成功(PASS)した項目は4項目、失敗(FAIL)した項目は4項目であることが示される。   The test result 55 includes the name of the tested program 56 and the number of items of the test items corresponding to each program divided into normal and abnormal return values. For example, as a test result of the program “tool sysvinit”, it is indicated that there are 4 items for which the test has succeeded (PASS) and 4 items for which the test has failed (FAIL).

ユーザが図11に示される画面中の結果表示ボタン(「results」ボタン)54を押下すると、テスト結果55がテスト結果参照機5のモニタに表示される。図12は、テスト実行結果の例である。図12に示されるテスト結果のうち、1行目を例に挙げると、項目「MAKEDEV−>MAKEDEV」については、テストが失敗(FAIL)したことがわかる。   When the user presses the result display button (“results” button) 54 in the screen shown in FIG. 11, the test result 55 is displayed on the monitor of the test result reference machine 5. FIG. 12 is an example of a test execution result. In the test results shown in FIG. 12, taking the first line as an example, it can be seen that the item “MAKEDEV-> MAKEDEV” has failed (FAIL).

図13は、テストが失敗した項目について抽出した結果の例である。図11における「tool sysvinit」プログラムについて試験結果が失敗(FAIL)であった4項目について、リンク57をユーザがクリックすると図13が 表示される。   FIG. 13 is an example of a result extracted for an item for which the test has failed. FIG. 13 is displayed when the user clicks on the link 57 for the four items for which the test result for the “tool sysinit” program in FIG. 11 has failed (FAIL).

図14は、テスト結果間の差分の例である。本実施形態においては、「diff」コマンドを用いて、先にテストの結果、戻り値が全て正常(PASS)であった際のテスト結果ファイルとの間の差分を得る。差分は、例えば図14のように、テキスト形式で出力される。   FIG. 14 is an example of a difference between test results. In the present embodiment, the “diff” command is used to obtain the difference from the test result file when the return values are all normal (PASS) as a result of the test. The difference is output in a text format as shown in FIG. 14, for example.

図14中の7、8行目には、行数と差分抽出結果との間にそれぞれ「−」「+」の記号が出力されている。これは、7行目のテストをすでに通過したプログラムのテストでは成功(PASS)しているけれども、8行目のこれと比較されるプログラムのテストでは失敗(FAIL)していることを表している。すなわち、この項目に関してデグレードが発生していることがわかる。   In the seventh and eighth lines in FIG. 14, symbols “−” and “+” are output between the number of lines and the difference extraction result, respectively. This means that the test of the program that has already passed the test on the 7th line is successful (PASS), but the test of the program that is compared with this on the 8th line is failed (FAIL). . That is, it can be seen that degradation has occurred in this item.

本実施形態に係るデバッグ支援装置1は、あるソフトウェアの複数のバージョンについてテストを実行し、それぞれのテストを実行した日時、およびテストに使用された各ソースコードのバージョンすなわち各ソースコードを自装置のソースコードリポジトリ12に格納した日時と関連付けて管理する。これにより、図14に例示するような、あるソースコードについての試験結果と後のバージョンについての試験結果との間に差分が抽出されると、そのテスト実行日時およびソースコードの格納日時の情報を参照して、これらの情報に対応する上記のクロスリファレンス情報を出力することができる。   The debugging support apparatus 1 according to the present embodiment executes a test on a plurality of versions of a certain software, the date and time when each test was executed, and the version of each source code used for the test, that is, each source code, Management is performed in association with the date and time stored in the source code repository 12. As a result, when a difference is extracted between the test result for a certain source code and the test result for a later version, as illustrated in FIG. 14, information on the test execution date and time and the storage date and time of the source code is obtained. With reference to the above information, the cross-reference information corresponding to these pieces of information can be output.

図15は、本実施形態に係るデバッグ支援装置1がソースコード間の差分を出力する処理のフローチャートである。
ステップS41で、正常動作が得られた試験の実行日時のうち、最終実行日時を検索する。ここで検索されるテストの実行日時は、すでに説明した、図11のテストの実行日52およびテストの開始時刻53による。ステップS42で、ステップS41の検索により検出された最終実行日時以前にソースコードリポジトリ12に登録されたソースコード(ファイル)を検索する。このステップでは、テストにおいて全てのテスト項目が通っているソースコードが検索される。ステップS43では、ステップS41における最終実行日時以後にテストの実行されたソースコードを検索する。
FIG. 15 is a flowchart of processing in which the debug support apparatus 1 according to this embodiment outputs a difference between source codes.
In step S41, the last execution date / time is searched among the execution dates / times of the test in which the normal operation is obtained. The test execution date and time searched here is based on the test execution date 52 and the test start time 53 shown in FIG. In step S42, the source code (file) registered in the source code repository 12 before the last execution date and time detected by the search in step S41 is searched. In this step, the source code through which all test items pass in the test is searched. In step S43, a search is performed for source code that has been tested after the last execution date and time in step S41.

ステップS42の処理においては、リポジトリに登録された複数のソースコードのうち、最終的にテストが成功しているバージョンのソースコードが検索される。ステップS43の処理においては、複数のソースコードのうち、ステップS41で検索された最終実行日時以降で、かつ最後にリポジトリに登録された、テスト実行済みのソースコードが検索される。   In the process of step S42, the source code of the version that has finally been successfully tested is searched from among the plurality of source codes registered in the repository. In the process of step S43, the test-executed source code registered in the repository after the last execution date and time searched in step S41 is searched from among the plurality of source codes.

ステップS44で、ステップS43に対応するソースコードが検索結果として得られたか否かを判定する。そのようなソースコードが得られた場合は、ステップS45に進み、ステップS42およびステップS43の検索によって得られた2つのソースコードの差分をモニタ等に出力表示し、処理を終了する。なお、ステップS44でNoの場合、テスト用ソースコードリポジトリ12に格納されている最新のソースコードとステップS42で検出されたソースコードとの差分を出力し、処理を終了する。   In step S44, it is determined whether or not the source code corresponding to step S43 has been obtained as a search result. If such source code is obtained, the process proceeds to step S45, the difference between the two source codes obtained by the search in step S42 and step S43 is output and displayed on a monitor or the like, and the process ends. In the case of No in step S44, the difference between the latest source code stored in the test source code repository 12 and the source code detected in step S42 is output, and the process ends.

図16は、ステップS45(ステップS44の判定結果によってはステップS46)における差分の出力表示例である。例えば、図15のステップS42で検出されたソースコードを右側に、ステップS43で検出されたソースコードを左側に、といったように、画面を分割して2つのソースコードを同時に表示している。   FIG. 16 shows an output display example of the difference in step S45 (or step S46 depending on the determination result in step S44). For example, the source code detected in step S42 in FIG. 15 is on the right side, the source code detected in step S43 is on the left side, and the screen is divided to display two source codes simultaneously.

図中「※」印が付されているのは、左右に示された2つの異なるバージョンのソースコード間において差分が存在している箇所である。例えば、この差分のある箇所を色分けした表示、強調表示等により他の箇所と区別して表示するのが好ましい。ユーザのデバッグ処理の効率化の観点からは、図16のように、例えば差分箇所の前後のソースコードや、差分箇所の含まれる1つのファイル全体等、差分のない箇所を含んで表示させるのが好ましい。   In the figure, “*” marks are places where differences exist between two different versions of source code shown on the left and right. For example, it is preferable to display the difference portion with other portions by color-coded display, highlight display, or the like. From the viewpoint of improving the efficiency of the debugging process by the user, as shown in FIG. 16, for example, the source code before and after the difference part, the entire file including the difference part, and the like are displayed including the part having no difference. preferable.

なお、図15のフローチャートにおいては、ステップS45およびステップS46で、図16のような2つのソースコード間の差分を表示することとしているが、これに限られない。例えば、図6に示すような、クロスリファレンス情報を表示させることとしてもよい。   In the flowchart of FIG. 15, the difference between the two source codes as shown in FIG. 16 is displayed in step S45 and step S46, but the present invention is not limited to this. For example, cross reference information as shown in FIG. 6 may be displayed.

また、図15のフローチャートにおいては、最後に正常動作が確認されたソースコードと、ステップS43で検出されたソースコードまたは最新のソースコードとの間で差分をとっているが、これに限られない。例えば、図11のようなテスト結果表示画面において、テスト結果の一覧55に複数の結果を表示することとし、任意の2つのテスト結果を選択すると、上記のテスト実行日52および開始時刻53や、ソースコードの格納時刻情報に基づいて、それぞれ対応するソースコードを検出し、それらの差分を表示することとしてもよい。いずれのソースコード間における差分を表示させるかは、ユーザごとに設定可能とするのが好ましい。   Further, in the flowchart of FIG. 15, the difference is taken between the source code whose normal operation was finally confirmed and the source code detected in step S43 or the latest source code, but this is not restrictive. . For example, on the test result display screen as shown in FIG. 11, when a plurality of results are displayed in the test result list 55 and any two test results are selected, the test execution date 52 and the start time 53, Based on the storage time information of the source code, the corresponding source code may be detected and the difference between them may be displayed. It is preferable to be able to set for each user which source code the difference is displayed.

あるいは、第1の試験の結果が正常であり且つその第1の試験よりも後に実行された第2の試験の結果が非正常であったときに、第1の試験が実行された時刻の直前にリポジトリに格納されたソースコードと第2の試験が実行された時刻の直前にリポジトリに格納されたソースコードとの間の比較結果情報を出力するようにしてもよい。   Alternatively, immediately before the time when the first test is executed when the result of the first test is normal and the result of the second test executed after the first test is abnormal The comparison result information between the source code stored in the repository and the source code stored in the repository immediately before the time when the second test is executed may be output.

図17は、他の実施形態に係るデバッグ支援装置1を含んだシステム構成図である。デバッグ支援装置1を含むシステムにおいて、メールサーバ6を更に備えている点で図1の構成と異なっている。他の構成については図1と同様であるので同じ符号を付し、ここではその説明については割愛する。   FIG. 17 is a system configuration diagram including a debugging support apparatus 1 according to another embodiment. The system including the debugging support device 1 is different from the configuration of FIG. 1 in that a mail server 6 is further provided. The other configurations are the same as those in FIG. 1 and are therefore given the same reference numerals, and the description thereof is omitted here.

メールサーバ6は、テストの実行結果等を、例えばテスト結果参照機5を通して確認するときに、必要な情報を、レポートして所定のメールアドレスに対して送信するために設けられる。送信されるレポートには、例えば、ソースコードや複数のソースコード間において抽出された差分、テストの実行結果ファイル、テストの実行結果ファイル間における差分、あるいはデグレードの検出に関する情報等が含まれる。   The mail server 6 is provided for reporting necessary information and transmitting it to a predetermined mail address when the test execution result or the like is confirmed through the test result reference machine 5, for example. The transmitted report includes, for example, a source code or a difference extracted between a plurality of source codes, a test execution result file, a difference between test execution result files, or information on detection of a degradation.

図18は、デバッグ支援装置1において保有される、メールの配信先のアドレスの例である。メールの配信先は、例えばプログラムごと、あるいはそのバージョンごとに設定することもできる。   FIG. 18 is an example of a mail delivery destination address held in the debug support apparatus 1. The mail delivery destination can be set for each program or each version, for example.

あるいは、テストの実行結果等をWebブラウザ等に表示させることとしてもよい。この実施形態においては、上記のメールで配信されるレポートに含まれる情報と同様の情報、すなわち、ソースコード、ソースコード間において抽出された差分あるいはテストの実行結果ファイル等のデグレードの検出に関する情報が、HTML形式でデバッグ支援装置1に保存される。これらの情報は、ユーザの指定するタイミング等で、例えばテスト結果参照機5のモニタに表示される。Webブラウザに表示される情報の例としては、例えば、図16のような、ソースコード間の差分が挙げられる。   Alternatively, a test execution result or the like may be displayed on a Web browser or the like. In this embodiment, the same information as the information included in the report delivered by the above-mentioned mail, that is, the information related to the detection of the degradation such as the source code, the difference extracted between the source codes or the execution result file of the test And stored in the debug support apparatus 1 in the HTML format. These pieces of information are displayed on the monitor of the test result reference machine 5, for example, at a timing designated by the user. As an example of information displayed on the Web browser, for example, a difference between source codes as shown in FIG.

以上、本実施形態に係るデバッグ支援装置1によれば、ソースコードはバージョン管理されてリポジトリに登録される。ソースコードがリポジトリに登録されるときに、先に登録されているソースコードとの差分を表すクロスリファレンス情報が生成される。登録されたソースコードはテストされ、テスト結果がそのソースコードのバージョンと対応付けて管理される。このため、このテストによってデグレードが検出されると、そのバージョンのソースコードについて、先に登録されたソースコードとのクロスリファレンス情報が参照される。クロスリファレンス情報を参照することにより、デグレードが、どのソースコードの改変によるものであるかがより容易に把握される。結果として、ユーザは、デグレード障害を追跡する作業を効率化することができる。   As described above, according to the debug support apparatus 1 according to the present embodiment, the source code is version-managed and registered in the repository. When the source code is registered in the repository, cross reference information representing a difference from the previously registered source code is generated. The registered source code is tested, and the test result is managed in association with the version of the source code. For this reason, when a degradation is detected by this test, the cross-reference information with the source code registered previously is referred for the version of the source code. By referring to the cross-reference information, it is easier to grasp which source code is modified due to the modification. As a result, the user can streamline the task of tracking degradation failures.

(付記1)
ソフトウェアのデバッグ処理を支援するためのプログラムであって、
ソースコード格納手段にソースコードを格納する第1の手順、
前記ソースコード格納手段に先に格納されている第1のソースコードと前記第1の手順により新たに格納された第2のソースコードとを比較することにより比較結果情報を生成して格納する第2の手順、
前記第2のソースコードを実行形式に変換して予め決められた試験を行う第3の手順、
上記試験により得られる試験結果情報およびその試験を行った時刻を表す試験時刻情報を対応づけて格納する第4の手順、
前記第1〜第4の手順を繰り返し実行する第5の手順、
指定された試験結果情報に対応する比較結果情報を、前記試験時刻情報および各ソースコードの前記ソースコード格納手段への格納時刻を表す格納時刻情報を利用して取得して出力する第6の手順、
をコンピュータに実行させるプログラム。
(付記2)
前記比較結果情報は、前記ソースコード格納手段に前記第2のソースコードが格納されたことを契機として生成される
ことを特徴とする付記1に記載のプログラム。
(付記3)
前記第5の手順は、前記第1〜第4の手順を予め決められた所定の時間間隔ごとに繰り返し実行する、
ことを特徴とする付記1に記載のプログラム。
(付記4)
前記第6の手順は、
第1の試験の結果が正常でありかつその第1の試験よりも後に実行された第2の試験の結果が非正常であったときに、前記第1の試験が実行された時刻の直前に前記ソースコード格納手段に格納されたソースコードと前記第2の試験が実行された時刻の直前に前記ソースコード格納手段に格納されたソースコードとの間の比較結果情報を出力する
処理を含むことを特徴とする付記1に記載のプログラム。
(付記5)
前記第6の手順は、電子メールを用いてメール受信側に通知することにより出力する
ことを特徴とする付記4に記載のプログラム。
(付記6)
前記第6の手順は、ウェブブラウザに表示させることにより出力する
ことを特徴とする付記4に記載のプログラム。
(付記7)
前記試験は、試験を実行するためのターゲット機に前記実行形式に変換されたプログラムを転送して実行させ、
前記試験結果情報は、前記ターゲット機から得られる
ことを特徴とする付記4に記載のプログラム。
(付記8)
ソフトウェアのデバッグ処理を支援するためのデバッグ支援方法であって、
ソースコード格納手段にソースコードを格納する第1の手順、
前記ソースコード格納手段に先に格納されている第1のソースコードと前記第1の手順により新たに格納された第2のソースコードとを比較することにより比較結果情報を生成して格納する第2の手順、
前記第2のソースコードを実行形式に変換して予め決められた試験を行う第3の手順、
上記試験により得られる試験結果情報およびその試験を行った時刻を表す試験時刻情報を対応づけて格納する第4の手順、
前記第1〜第4の手順を繰り返し実行する第5の手順、
指定された試験結果情報に対応する比較結果情報を、前記試験時刻情報および各ソースコードの前記ソースコード格納手段への格納時刻を表す格納時刻情報を利用して取得して出力する第6の手順、
を含むことを特徴とするデバッグ支援方法。
(付記9)
ソフトウェアのデバッグ処理を支援するためのデバッグ支援装置であって、
ソースコード格納手段と、
前記ソースコード格納手段に先に格納されている第1のソースコードと該ソースコード格納手段に新たに格納された第2のソースコードとを比較することにより比較結果情報を生成して格納する比較手段と、
前記第2のソースコードを実行形式に変換して予め決められた試験を行う試験実行手段と、
上記試験により得られる試験結果情報およびその試験を行った時刻を表す試験時刻情報を対応づけて格納する試験結果管理手段と、
比較手段、試験実行手段および試験結果管理手段に上記処理を繰り返し実行させる制御手段と、
指定された試験結果情報に対応する比較結果情報を、前記試験時刻情報および各ソースコードの前記ソースコード格納手段への格納時刻を表す格納時刻情報を利用して取得して出力する出力手段と、
を備えたことを特徴とするデバッグ支援装置。
(Appendix 1)
A program for supporting software debugging processing,
A first procedure for storing source code in the source code storage means;
The comparison result information is generated and stored by comparing the first source code previously stored in the source code storage means and the second source code newly stored by the first procedure. 2 steps,
A third procedure for converting the second source code into an executable format and performing a predetermined test;
A fourth procedure for storing the test result information obtained by the test and the test time information indicating the time when the test was performed in association with each other;
A fifth procedure for repeatedly executing the first to fourth procedures;
Sixth procedure for obtaining and outputting comparison result information corresponding to designated test result information using the test time information and storage time information indicating the storage time of each source code in the source code storage means ,
A program that causes a computer to execute.
(Appendix 2)
The program according to claim 1, wherein the comparison result information is generated when the second source code is stored in the source code storage unit.
(Appendix 3)
The fifth procedure repeatedly executes the first to fourth procedures at predetermined time intervals.
The program according to appendix 1, characterized by:
(Appendix 4)
The sixth procedure includes:
When the result of the first test is normal and the result of the second test executed after the first test is abnormal, immediately before the time when the first test is executed Including a process of outputting comparison result information between the source code stored in the source code storage means and the source code stored in the source code storage means immediately before the time when the second test is executed. The program according to appendix 1, characterized by:
(Appendix 5)
The program according to appendix 4, wherein the sixth procedure is outputted by notifying a mail receiving side using an electronic mail.
(Appendix 6)
The program according to appendix 4, wherein the sixth procedure outputs the program by displaying it on a web browser.
(Appendix 7)
The test is executed by transferring the program converted into the execution format to a target machine for executing the test,
The program according to appendix 4, wherein the test result information is obtained from the target machine.
(Appendix 8)
A debugging support method for supporting software debugging processing,
A first procedure for storing source code in the source code storage means;
The comparison result information is generated and stored by comparing the first source code previously stored in the source code storage means and the second source code newly stored by the first procedure. 2 steps,
A third procedure for converting the second source code into an executable format and performing a predetermined test;
A fourth procedure for storing the test result information obtained by the test and the test time information indicating the time when the test was performed in association with each other;
A fifth procedure for repeatedly executing the first to fourth procedures;
Sixth procedure for obtaining and outputting comparison result information corresponding to designated test result information using the test time information and storage time information indicating the storage time of each source code in the source code storage means ,
A debugging support method comprising:
(Appendix 9)
A debugging support device for supporting software debugging processing,
Source code storage means;
Comparison in which comparison result information is generated and stored by comparing the first source code previously stored in the source code storage means and the second source code newly stored in the source code storage means Means,
Test execution means for converting the second source code into an execution format and performing a predetermined test;
Test result management means for storing test result information obtained by the above test and test time information indicating the time when the test was performed in association with each other;
Control means for causing the comparison means, the test execution means, and the test result management means to repeatedly execute the above-described processing;
Output means for obtaining and outputting comparison result information corresponding to the designated test result information, using the test time information and storage time information representing the storage time of each source code in the source code storage means;
A debugging support apparatus comprising:

本実施形態に係るデバッグ支援装置を含んだシステム構成図である。1 is a system configuration diagram including a debugging support apparatus according to the present embodiment. 複数のバージョンのソースコードを管理するのに必要な情報の出力例である。This is an output example of information necessary for managing multiple versions of source code. 本実施形態に係るデバッグ支援の処理についてのフローチャートである。It is a flowchart about the process of the debugging assistance which concerns on this embodiment. ソースコードの取得日時情報を設定する処理のフローチャートである。It is a flowchart of the process which sets the acquisition date information of a source code. ダウンロード定義ファイルの例である。It is an example of a download definition file. 生成されたクロスリファレンス情報の一例である。It is an example of the produced | generated cross reference information. シナリオテーブルの実施例である。It is an Example of a scenario table. テストを実行する処理のフローチャートである。It is a flowchart of the process which performs a test. テストスクリプト実行時の動作処理についてのフローチャートである。It is a flowchart about the operation processing at the time of test script execution. テストスクリプトの例である。It is an example of a test script. テスト結果を表示させた画面の例である。It is an example of the screen which displayed the test result. テスト実行結果の例である。It is an example of a test execution result. テストが失敗した項目について抽出した結果の例である。It is an example of the result extracted about the item in which the test failed. テスト結果間の差分の例である。It is an example of the difference between test results. ソースコード間の差分を出力する処理のフローチャートである。It is a flowchart of the process which outputs the difference between source codes. 差分の出力表示例である。It is an example of a difference output display. 他の実施形態に係るデバッグ支援装置を含んだシステム構成図である。It is a system block diagram containing the debug assistance apparatus which concerns on other embodiment. メールの配信先のアドレスの例である。It is an example of the address of the delivery destination of mail.

符号の説明Explanation of symbols

1 デバッグ支援装置
2 ソースリポジトリ
3 社内リポジトリ
4、4A、4B、4C ターゲット機
5 テスト結果参照機
11 テスト実施用ホストコンピュータ
12 テスト用ソースコードリポジトリ
13 デバッグ支援情報格納部
14 テストスクリプト格納部
15 ターゲット機用実行形式格納部
16 テスト結果格納部
17 定期実行プログラム
18 クロスリファレンサ
DESCRIPTION OF SYMBOLS 1 Debug support apparatus 2 Source repository 3 Internal repository 4, 4A, 4B, 4C Target machine 5 Test result reference machine 11 Test execution host computer 12 Test source code repository 13 Debug support information storage unit 14 Test script storage unit 15 Target machine Execution format storage unit 16 Test result storage unit 17 Periodic execution program 18 Cross referencer

Claims (4)

ソフトウェアのデバッグ処理を支援するためのプログラムであって、
ソースコード格納手段にソースコードを、格納時刻を表す格納時刻情報と対応付けて格納する第1の手順、
前記ソースコード格納手段に先に格納されている第1のソースコードと前記第1の手順により新たに格納された第2のソースコードとを比較することにより比較結果情報を生成して、前記第2のソースコードと対応させて格納する第2の手順、
前記第2のソースコードを実行形式に変換して予め決められた試験を行う第3の手順、
上記試験により得られる試験結果情報およびその試験を行った時刻を表す試験時刻情報、前記第2のソースコードを対応づけて格納する第4の手順、
前記第1〜第4の手順を繰り返し実行する第5の手順、
指定された試験結果情報に対応する比較結果情報として、前記試験時刻情報および前記格納時刻情報を利用して、試験が行なわれた前記第2のソースコードに対応付けられている前記比較結果情報を取得して出力する第6の手順をコンピュータに実行させ
前記第6の手順は、
第1の試験の結果が正常でありかつその第1の試験よりも後に実行された第2の試験の結果が非正常であったときに、前記第1の試験が実行された時刻の直前に 前記ソースコード格納手段に格納されたソースコードと前記第2の試験が実行された時刻の直前に前記ソースコード格納手段に格納されたソースコードとの間の 比較結果情報を出力する処理
含むプログラム。
A program for supporting software debugging processing,
A first procedure for storing the source code in the source code storage means in association with the storage time information indicating the storage time ;
And generates a comparison result information by comparing the second source code newly stored by the source code storing unit previously the first source code stored in the first procedure, the second A second procedure for storing in correspondence with the source code of 2;
A third procedure for converting the second source code into an executable format and performing a predetermined test;
Test result information obtained by the test and test time information indicating the time when the test was performed, a fourth procedure for storing the second source code in association with each other;
A fifth procedure for repeatedly executing the first to fourth procedures;
As comparison result information corresponding to the designated test result information, by using the test time information and the storage time information, the comparison result information testing is associated with the second source code made Causing the computer to execute a sixth procedure for obtaining and outputting;
The sixth procedure includes:
When the result of the first test is normal and the result of the second test executed after the first test is abnormal, immediately before the time when the first test is executed Processing for outputting comparison result information between the source code stored in the source code storage means and the source code stored in the source code storage means immediately before the time when the second test is executed <br / > A program that contains
前記比較結果情報は、前記ソースコード格納手段に前記第2のソースコードが格納されたことを契機として生成される
ことを特徴とする請求項1に記載のプログラム。
2. The program according to claim 1, wherein the comparison result information is generated when the second source code is stored in the source code storage unit.
前記第6の手順は、電子メールを用いてメール受信側に通知することにより出力する
ことを特徴とする請求項に記載のプログラム。
The program according to claim 1 , wherein the sixth procedure is outputted by notifying a mail receiving side using an electronic mail.
前記第6の手順は、ウェブブラウザに表示させることにより出力する
ことを特徴とする請求項に記載のプログラム。
The program according to claim 1 , wherein the sixth procedure is output by being displayed on a web browser.
JP2005180603A 2005-06-21 2005-06-21 Debugging support program Expired - Fee Related JP4745728B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005180603A JP4745728B2 (en) 2005-06-21 2005-06-21 Debugging support program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005180603A JP4745728B2 (en) 2005-06-21 2005-06-21 Debugging support program

Publications (2)

Publication Number Publication Date
JP2007004255A JP2007004255A (en) 2007-01-11
JP4745728B2 true JP4745728B2 (en) 2011-08-10

Family

ID=37689850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005180603A Expired - Fee Related JP4745728B2 (en) 2005-06-21 2005-06-21 Debugging support program

Country Status (1)

Country Link
JP (1) JP4745728B2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5181503B2 (en) * 2007-03-19 2013-04-10 富士通株式会社 Scenario creation program and scenario creation device
JP5208635B2 (en) * 2008-09-12 2013-06-12 インターナショナル・ビジネス・マシーンズ・コーポレーション Information processing apparatus, information processing system, programming support method and program for supporting programming
JP5281029B2 (en) * 2010-03-31 2013-09-04 ヤフー株式会社 Confirmation system and method
US20140317452A1 (en) * 2011-10-18 2014-10-23 Nec Corporation Error detecting apparatus, program and method
JPWO2013088461A1 (en) * 2011-12-12 2015-04-27 株式会社日立製作所 Software analysis program and software analysis system
JP2014126900A (en) * 2012-12-25 2014-07-07 Nec Corp Program analysis device, program analysis method, and program analysis program
JP5976209B2 (en) 2013-05-15 2016-08-23 三菱電機株式会社 Program analysis apparatus, program analysis method, and program analysis program
JP5989194B1 (en) * 2015-07-03 2016-09-07 株式会社大和総研 Test management system and program

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014846A (en) * 2000-06-28 2002-01-18 Ntt Comware Corp Job checking device and job checking method and recording medium with job checking program recorded
JP2005050184A (en) * 2003-07-30 2005-02-24 Hitachi Ltd Device and program for detecting code modification and equipment loan system using them

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0363837A (en) * 1989-08-02 1991-03-19 Nec Corp Software program inspection system
JPH09244921A (en) * 1996-03-08 1997-09-19 Fujitsu Ltd Automation system for software test
JPH10320234A (en) * 1997-05-21 1998-12-04 Hitachi Ltd Automatic test method for software

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002014846A (en) * 2000-06-28 2002-01-18 Ntt Comware Corp Job checking device and job checking method and recording medium with job checking program recorded
JP2005050184A (en) * 2003-07-30 2005-02-24 Hitachi Ltd Device and program for detecting code modification and equipment loan system using them

Also Published As

Publication number Publication date
JP2007004255A (en) 2007-01-11

Similar Documents

Publication Publication Date Title
JP4745728B2 (en) Debugging support program
CN109474488B (en) Interface testing method and device and computer equipment
JP3946057B2 (en) Consistency inspection support method and consistency inspection support system
CN109902016B (en) Web test method and test platform
US9495280B2 (en) Operation verifying apparatus, operation verifying method and operation verifying system
US8301720B1 (en) Method and system to collect and communicate problem context in XML-based distributed applications
JP5208635B2 (en) Information processing apparatus, information processing system, programming support method and program for supporting programming
US20100058313A1 (en) Updating a computer system
US20090132858A1 (en) Analyzer, analyzing system, and computer program product
US20060080638A1 (en) Automated multi-platform build and test environment for software application development
US20130191814A1 (en) Test scenario generation method, test scenario generation system, and test scenario generation program
CN108920359B (en) Application program testing method and device, storage medium and electronic device
CN111290951B (en) Test method, terminal, server, system and storage medium
CN112540924A (en) Interface automation test method, device, equipment and storage medium
CN103649924A (en) Embedded apparatus, program generation apparatus, and program
JP4795404B2 (en) Operation verification apparatus and operation verification program
CN116016270A (en) Switch test management method and device, electronic equipment and storage medium
CN115904952A (en) Test environment automatic configuration method, device, equipment and storage medium
CN113050926B (en) Method, device and equipment for confirming code synchronization change
CN115344490A (en) Method and device for testing software product, storage medium and electronic equipment
CN106909500B (en) Method and system for detecting errors introduced in airborne software development process
US20160275002A1 (en) Image capture in application lifecycle management for documentation and support
CN104199774B (en) Program security testing method and device
CN112631931A (en) Version testing method and device, storage medium and electronic equipment
CN112269594A (en) Project code quality evaluation method, device, equipment and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080317

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100402

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110201

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110401

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110512

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140520

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees