JP6141563B2 - Software management apparatus and software management method - Google Patents
Software management apparatus and software management method Download PDFInfo
- Publication number
- JP6141563B2 JP6141563B2 JP2017508942A JP2017508942A JP6141563B2 JP 6141563 B2 JP6141563 B2 JP 6141563B2 JP 2017508942 A JP2017508942 A JP 2017508942A JP 2017508942 A JP2017508942 A JP 2017508942A JP 6141563 B2 JP6141563 B2 JP 6141563B2
- Authority
- JP
- Japan
- Prior art keywords
- revision
- developer
- source code
- execution result
- level
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Description
本発明は、ソフトウェア開発時におけるソフトウェアの管理を行うソフトウェア管理装置およびソフトウェア管理方法に関する。 The present invention relates to a software management apparatus and software management method for managing software during software development.
大規模なソフトウェア開発では、技術レベルが異なる複数の開発者によって1つのプログラムが開発されている。 In large-scale software development, one program is developed by a plurality of developers having different technical levels.
ソフトウェアの開発では、ソースコードを記述するコーディングの工程後に、ソースコードを実行可能なプログラムに変換するビルドの工程、ソースコードがコーディングルール等に反していないか等のチェックを行う静的解析の工程、およびプログラムが正しく動作するかチェックを行うテストの工程の各工程を行う。 In software development, after the coding process of describing the source code, a build process that converts the source code into an executable program, and a static analysis process that checks whether the source code violates coding rules, etc. , And a test process for checking whether the program operates correctly.
コーディング後の各工程でバグ(ソースコードの誤り等)が発見された場合は、バグの原因を特定してコーディングを再度行う必要があるが、特にビルドおよびテストで発見されるバグの原因の特定には多大な時間を要する。また、プログラムの編集では、ソースコードが新たに追加されたり、ソースコードの変更が行われたりするが、このときにもバグが生じることがある。従って、バグの原因を特定するために要する時間を短縮することは、ソフトウェア開発の工数を削減することにつながる。 If a bug (such as an error in the source code) is found in each process after coding, it is necessary to identify the cause of the bug and perform coding again. In particular, the cause of the bug found in build and test is identified. Takes a lot of time. In addition, when editing a program, a new source code is added or a source code is changed. However, a bug may occur at this time. Therefore, shortening the time required to identify the cause of the bug leads to a reduction in the number of steps for software development.
上記の問題の対策として、従来、1つのソースファイル内のソースコードの各行がどのリビジョンで改訂されたのかを確認することができるソースコードの改訂履歴を示すツールを、バグの原因の特定に役立てていた。また、ソフトウェアの開発者のレベルを評価する技術が開示されている(例えば、特許文献1,2参照)。
As a countermeasure to the above problem, a tool that shows the revision history of the source code that can confirm which revision of each line of the source code in one source file has been used to help identify the cause of the bug. It was. In addition, techniques for evaluating the level of software developers are disclosed (for example, see
ソースコードの改訂履歴に基づいてバグの原因を特定する方法を用いても、ソースコード量が多い大規模なソフトウェア開発においてはバグの原因を特定するためには時間がかかるという問題がある。 Even when a method for identifying the cause of a bug based on the revision history of the source code is used, it takes time to identify the cause of the bug in large-scale software development with a large amount of source code.
また、特許文献1,2の技術を用いれば、ソースファイルごとの信頼度を把握することができる。すなわち、開発者のレベルが低い場合は、ソースファイルの信頼度が低いと判断することができ、バグが生じると信頼度が低いソースファイルを優先してバグの原因を特定する作業を行うことができる。しかし、このような場合であっても、ソースコードの量が増えるとバグの原因を特定するために時間を要し、バグの原因を効率的に特定しているとはいえなかった。
Moreover, if the techniques of
本発明は、このような問題を解決するためになされたものであり、バグの原因を効率的に特定することが可能なソフトウェア管理装置およびソフトウェア管理方法を提供することを目的とする。 The present invention has been made to solve such a problem, and an object thereof is to provide a software management apparatus and a software management method capable of efficiently identifying the cause of a bug.
上記の課題を解決するために、本発明によるソフトウェア管理装置は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得するリビジョン情報取得部と、ソースコードの開発者のレベルを示す開発者レベルを管理し、リビジョン情報取得部で取得されたリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出する開発者レベル管理部と、リビジョン情報取得部で取得されたリビジョン情報と、開発者レベル管理部で抽出された開発者レベルとに基づいて、ソースコードの各行を開発者レベルに応じて区別して表示するように制御する制御部とを備える。 In order to solve the above-described problem, a software management apparatus according to the present invention includes a revision information acquisition unit that acquires revision information including revisions corresponding to each line of source code in a source file and a revision person who revised the source code. And a developer level management unit that manages the developer level indicating the developer level of the source code and extracts the developer level of the developer corresponding to the revision included in the revision information acquired by the revision information acquisition unit. Based on the revision information acquired by the revision information acquisition unit and the developer level extracted by the developer level management unit, control is performed so that each line of the source code is displayed separately according to the developer level. And a control unit.
また、本発明によるソフトウェア管理方法は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得し、ソースコードの開発者のレベルを示す開発者レベルを管理し、取得したリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出し、取得したリビジョン情報と、抽出された開発者レベルとに基づいて、ソースコードの各行を開発者レベルに応じて区別して表示するように制御する。 In addition, the software management method according to the present invention obtains revision information including revisions corresponding to each line of the source code in the source file and the revision person who revised the source code, and indicates the level of the developer of the source code. The developer level of the developer corresponding to the revision person included in the obtained revision information is extracted, and each line of source code is extracted based on the obtained revision information and the extracted developer level. Control the display to be distinguished according to the developer level.
本発明によると、ソフトウェア管理装置は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得するリビジョン情報取得部と、ソースコードの開発者のレベルを示す開発者レベルを管理し、リビジョン情報取得部で取得されたリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出する開発者レベル管理部と、リビジョン情報取得部で取得されたリビジョン情報と、開発者レベル管理部で抽出された開発者レベルとに基づいて、ソースコードの各行を改訂者の開発者レベルに応じて区別して表示するように制御する制御部とを備えるため、バグの原因を効率的に特定することが可能となる。 According to the present invention, the software management apparatus includes a revision information acquisition unit that acquires revision information including a revision corresponding to each line of the source code in the source file and a revision person who revised the source code, and a developer of the source code. The developer level management unit that manages the developer level indicating the level of the developer and extracts the developer level of the developer corresponding to the revision included in the revision information acquired by the revision information acquisition unit, and the revision information acquisition unit Based on the obtained revision information and the developer level extracted by the developer level management unit, a control unit that controls to display each line of the source code separately according to the developer level of the developer Therefore, it is possible to efficiently identify the cause of the bug.
また、ソフトウェア管理方法は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得し、ソースコードの開発者のレベルを示す開発者レベルを管理し、取得したリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出し、取得したリビジョン情報と、抽出された開発者レベルとに基づいて、ソースコードの各行を改訂者の開発者レベルに応じて区別して表示するように制御するため、バグの原因を効率的に特定することが可能となる。 In addition, the software management method obtains revision information including the revision corresponding to each line of the source code in the source file and the revision person who revised the source code, and sets the developer level indicating the level of the developer of the source code. The developer level of the developer corresponding to the revision person included in the obtained revision information is extracted, and each line of the source code is revised based on the obtained revision information and the extracted developer level. Since the display is controlled so as to be distinguished according to the developer level, the cause of the bug can be efficiently identified.
本発明の目的、特徴、態様、および利点は、以下の詳細な説明と添付図面とによって、より明白となる。 Objects, features, aspects, and advantages of the present invention will become more apparent from the following detailed description and the accompanying drawings.
本発明の実施の形態について、図面に基づいて以下に説明する。 Embodiments of the present invention will be described below with reference to the drawings.
<実施の形態1>
まず、本発明の実施の形態によるソフトウェア管理装置の構成について説明する。なお、本実施の形態においては、ソフトウェア管理装置単体で実現した場合について説明する。<
First, the configuration of the software management apparatus according to the embodiment of the present invention will be described. In the present embodiment, a case where the software management apparatus is realized alone will be described.
図1は、本発明の実施の形態1によるソフトウェア管理装置1の構成の一例を示すブロック図である。なお、図1では、ソフトウェア管理装置1を構成する必要最小限の構成要素を示している。
FIG. 1 is a block diagram showing an example of the configuration of the
図1に示すように、ソフトウェア管理装置1は、少なくともリビジョン情報取得部2と、開発者レベル管理部3と、制御部4とを備えている。
As shown in FIG. 1, the
リビジョン情報取得部2は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得する。
The revision
開発者レベル管理部3は、改訂者を含むソースコードの開発者のレベルを示す開発者レベルを管理し、リビジョン情報取得部2で取得されたリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出する。
The developer
制御部4は、リビジョン情報取得部2で取得されたリビジョン情報と、開発者レベル管理部3で抽出された開発者レベルとに基づいて、ソースコードの各行を開発者レベルに応じて区別して表示するように制御する。
Based on the revision information acquired by the revision
図2は、ソフトウェア管理装置1におけるソフトウェア機能に対応するハードウェア構成の一例を示す図である。
FIG. 2 is a diagram illustrating an example of a hardware configuration corresponding to a software function in the
リビジョン情報取得部2、開発者レベル管理部3、および制御部4は、例えば図2のプロセッサ5がメモリ6等に記憶されたプログラムを実行することにより、当該プロセッサ5の機能として実現される。ただし、これらは、例えば複数のプロセッサ5が連携して実現されてもよい。
The revision
次に、図1のリビジョン情報取得部2、開発者レベル管理部3、および制御部4を含むソフトウェア管理装置1の他の構成について説明する。
Next, another configuration of the
図3は、ソフトウェア管理装置7の構成の一例を示すブロック図である。
FIG. 3 is a block diagram illustrating an example of the configuration of the
図3に示すように、ソフトウェア管理装置7は、リビジョン情報取得部2と、開発者レベル管理部3と、制御部4とを備えている。また、リビジョン情報取得部2はリビジョン情報データベース8に接続され、開発者レベル管理部3は開発者レベルデータベース9に接続され、制御部4は表示装置10に接続されている。
As shown in FIG. 3, the
リビジョン情報データベース8は、例えば、ハードディスク(HDD:Hard Disk Drive)または半導体メモリなどの記憶装置から構成されており、バージョン管理ツール(本発明では、説明を分かりやすくするためリビジョン管理ツールと呼ぶこととする)によって管理されるリビジョン情報を格納している。図4は、リビジョン情報データベース8に格納されるリビジョン情報の一例を示す図である。図4に示すように、リビジョン情報は、ソースコード改訂情報とリビジョン対応情報とを含んでいる。
The
ソースコード改訂情報は、ソースコードと、当該ソースコードを改訂したリビジョン番号とをソースコードの行ごとに対応付けている。ソースコード改訂情報によって、ソースコードの各行がどのリビジョンで改訂されたのかを判別することができる。リビジョン対応情報は、リビジョン番号と、コミッター(改訂者)名およびコミット日時(日時情報)等を含むコミットに関する情報であるコミット情報とを対応付けている。リビジョン管理ツールは、コミッターによって改訂されるごとにリビジョン情報の修正等を行う。 In the source code revision information, the source code and the revision number of the revised source code are associated with each line of the source code. With the source code revision information, it is possible to determine at which revision each line of the source code has been revised. The revision correspondence information associates a revision number with commit information that is information related to a commit including a committer (revision person) name and commit date (date information). The revision management tool corrects revision information each time it is revised by the committer.
なお、本実施の形態1では、リビジョン番号は、改訂順に整数値が割り当てられているが、これに限るものではない。例えば、リビジョン番号は、改訂ごとにハッシュ値が割り当てられてもよい。また、リビジョン管理ツールは、ソフトウェア管理装置7の外部に設けられているものとする。
In the first embodiment, the revision number is assigned an integer value in the order of revision, but is not limited to this. For example, the revision number may be assigned a hash value for each revision. The revision management tool is assumed to be provided outside the
リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得する。ここで、対象ファイルとは、例えば、上述のソフトウェア開発における各工程でバグが生じた場合に当該バグの原因を特定する際に対象となるファイルのことをいい、または改訂者が既存のソースコードを改訂する際に対象となるファイルのことをいう。リビジョン情報取得部2は、取得したリビジョン情報を開発者レベル管理部3および制御部4の各々に出力する。
The revision
開発者レベルデータベース9は、例えば、ハードディスク(HDD:Hard Disk Drive)または半導体メモリなどの記憶装置から構成されており、ソフトウェアを開発する開発者のレベルである開発者レベルを格納している。図5は、開発者レベルデータベース9に格納される開発者レベルの一例を示す図である。図5に示すように、開発者レベルデータベース9では、開発者名と、当該開発者の開発者レベルとが対応付けて格納されている。開発者レベルは、種々の方法で設定される。例えば、開発者を適宜に評価して、人手によって(手動で)開発者レベルを設定する方法がある。また、例えば、開発者の勤務年数等に基づいて自動的に開発者レベルを設定する方法がある。
The
なお、開発者レベルデータベース9は、リビジョン情報データベース8に格納されているリビジョン情報に含まれるコミッターと同一である開発者の開発レベル、およびコミッター以外の開発者の開発者レベルを格納している。すなわち、開発者レベルデータベース9では、ソフトウェアの開発に関与し得る者を開発者とし、当該開発者の開発者レベルを格納している。
The
開発者レベル管理部3は、リビジョン情報取得部2から入力されたリビジョン情報に基づいて、開発者レベルデータベース9から開発者レベルを抽出する。開発者レベル管理部3は、抽出した開発者レベルを制御部4に出力する。
The developer
制御部4は、リビジョン情報取得部2から入力されたリビジョン情報と、開発者レベル管理部3から入力された開発者レベルとに基づいて、対象ファイルにおけるソースコードの各行を開発者レベルに応じて区別して表示するように制御する。表示装置10は、制御部4の制御に従って、開発者レベルに応じて区別されたソースコードを表示する。
Based on the revision information input from the revision
次に、本実施の形態1によるソフトウェア管理装置7の動作について説明する。なお、本文の例を用いた説明では、説明を分かりやすくするために1つのソースファイルに着目して動作を説明するが、本発明は複数のソースファイルに対しても適用可能である。
Next, the operation of the
図6は、ソフトウェア管理装置7の動作の一例を示すフローチャートである。なお、ステップS101の前において、リビジョン情報取得部2は、どのファイルを対象ファイルとしているのかを把握しているものとする。
FIG. 6 is a flowchart showing an example of the operation of the
ステップS101において、リビジョン情報取得部2は、リビジョン情報データベース8からリビジョン情報を取得する。具体的には、リビジョン情報取得部2は、例えば図4に示すようなソースコード改訂情報およびリビジョン対応情報を含むリビジョン情報をリビジョン情報データベース8から取得する。そして、リビジョン情報取得部2は、リビジョン対応情報を開発者レベル管理部3に出力し、ソースコード改訂情報およびリビジョン対応情報を制御部4に出力する。
In step S <b> 101, the revision
ステップS102において、開発者レベル管理部3は、リビジョン情報取得部2から入力されたリビジョン情報に含まれるリビジョン対応情報に基づいて、開発者レベルデータベース9から開発者レベルを取得する。
In step S102, the developer
ここで、ステップS102の詳細について、図7を用いて説明する。 Details of step S102 will be described with reference to FIG.
ステップS201において、開発者レベル管理部3には、リビジョン対応情報に含まれるコミッター名が入力される。
In step S201, the committer name included in the revision correspondence information is input to the developer
ステップS202において、開発者レベル管理部3は、リビジョン情報取得部2から入力されたコミッター名に対応する開発者名を開発者レベルデータベース9から検索し、コミッター名と開発者名とが一致した場合に当該開発者の開発者レベルを開発者レベルデータベース9から抽出する。そして、開発者レベル管理部3は、抽出した開発者レベルを制御部4に出力する。
In step S202, the developer
例えば、リビジョン情報取得部2から開発者レベル管理部3に図4に示すリビジョン対応情報が入力され、開発者レベルデータベース9には図5に示す開発者レベルが格納されているものとする。このような場合において、開発者レベル管理部3は、例えばリビジョン番号「5」のときのコミッター名「Tanaka」に対応する開発者名「Tanaka」を開発者レベルデータベース9から検索し、開発者名「Tanaka」の開発者レベル「35」を抽出する。
For example, the revision correspondence information shown in FIG. 4 is input from the revision
図6に戻り、ステップS103において、制御部4は、リビジョン情報取得部2から入力されたリビジョン情報と、開発者レベル管理部3から入力された開発者レベルとに基づいて、対象ファイルのソースコードの各行を開発者レベルに応じて区別して表示するように制御する。具体的には、制御部4は、例えば図8に示すように、ソースコードの各行を開発者のレベルに応じて色分けして表示するように制御する。表示装置10には、開発者レベルに応じて色分けされたソースコードの各行が表示される。
Returning to FIG. 6, in step S103, the
例えば、リビジョン情報取得部2から制御部4に図4に示すリビジョン情報が入力され、開発者レベル管理部3から制御部4に図5に示す管理者レベルが入力されたものとする。制御部4は、リビジョン番号が「1」のときのコミッターは「Sasaki」であるため、リビジョン番号「1」のソースコードの行を、「Sasaki」の開発者レベル「90」に対応する色で表示するように制御する。他も同様に、リビジョン番号「5」のソースコードの行を、「Tanaka」の開発者レベル「35」に対応する色で表示するように制御する。リビジョン番号「3」のソースコードの行を、「Suzuki」の開発者レベル「60」に対応する色で表示するように制御する。
For example, it is assumed that the revision information shown in FIG. 4 is input from the revision
なお、ソースコードの各行を色分けして表示する方法として、例えば開発者レベルが勤務年数に基づいている場合は、開発者の勤務年数が1年未満のときは赤色、開発者の勤務年数が1年〜10年未満のときは黄色、開発者の勤務年数が10年以上であるときは青色にして表示するようにしてもよい。 In addition, as a method of displaying each line of the source code by color, for example, when the developer level is based on the working years, red when the working years of the developer are less than one year, and the working years of the developer is 1 It may be displayed in yellow when the year is less than 10 years and in blue when the developer has been working for more than 10 years.
本文ではソースコードを編集する(コーディングする)開発者とコミッターとが同一であるとして説明しているが、ソースコードを編集する開発者とコミッターとが異なる場合もあり得る。このような場合は、ソースコードを編集した開発者の開発者レベルではなく、編集されたソースコードを受け取ってソースコードのリビジョンの改訂を行ったコミッターの開発者レベルをもとにソースコードの各行が色分け表示される。よって、ソースコードの各行の色分けに反映されるコミッターの開発者レベルは、単にソースコードを編集する(コーディングの)能力としてではなく、他の開発者が編集したソースコードをチェックする能力も含めて捉えることになる。 In the text, it is described that the developer who edits (codes) the source code is the same as the committer, but the developer who edits the source code may be different from the committer. In such a case, each line of source code is not based on the developer level of the developer who edited the source code, but on the developer level of the committer who received the edited source code and revised the source code revision. Are displayed in different colors. Therefore, the committer's developer level reflected in the color coding of each line of the source code includes not only the ability to edit (coding) the source code but also the ability to check the source code edited by other developers. To capture.
次に、本実施の形態1の他の例(変形例1,2)について説明する。
Next, other examples (
<変形例1>
一般的に、開発者の開発レベルは、開発者の勤務年数の経過、または開発者の能力の向上に従って経時的に上がる。開発者レベルの向上を反映させるべく、開発者レベルデータベース9に格納されている開発者レベルも定期的に更新される。しかし、例えば図8に示すような表示を行う場合において、過去の開発者レベルが低いときに改訂したソースコードの行に対して、開発者レベルが過去の開発者レベルよりも上がった現在の開発者レベルに応じて色分けされてしまう(すなわち、改訂時の開発者レベルに応じた色分けができない)という問題がある。本変形例1は、このような問題を解決するものである。<
In general, a developer's development level increases over time as the developer's working years progress or the developer's capabilities improve. In order to reflect the improvement of the developer level, the developer level stored in the
図9は、開発者レベルデータベース9に格納される開発者レベルの一例を示す図である。
FIG. 9 is a diagram showing an example of the developer level stored in the
図9に示すように、開発者レベルデータベース9では、更新ごとに開発者レベルの履歴を格納している。図9では、3回の更新(更新A,B,C)が行われたことを示している。また、各リビジョンとともに更新日時を示している。例えば、開発者「Tanaka」に注目すると、「Tanaka」の開発レベルは、更新Aのときは「35」、更新Bのときは「50」、更新Cのときは「80」であることが分かる。なお、開発者レベルの設定方法は、上述と同様である。
As shown in FIG. 9, the
図10は、図6のステップS102の詳細を示すフローチャートである。その他の動作は、図6と同様であるため、ここでは説明を省略する。 FIG. 10 is a flowchart showing details of step S102 in FIG. Since other operations are the same as those in FIG. 6, the description thereof is omitted here.
ステップS301において、開発者レベル管理部3には、リビジョン対応情報に含まれるコミッター名およびコミット日時が入力される。
In step S301, the committer name and the commit date / time included in the revision correspondence information are input to the developer
ステップS302において、開発者レベル管理部3は、リビジョン情報取得部2から入力されたコミッター名およびコミット日時に基づいて、開発者レベルを開発者レベルデータベースから抽出する。そして、開発者レベル管理部3は、抽出した開発者レベルを制御部4に出力する。
In step S302, the developer
例えば、リビジョン情報取得部2から開発者レベル管理部3に図4に示すリビジョン対応情報が入力され、開発者レベルデータベース9には図9に示す開発者レベルが格納されているものとする。このような場合において、開発者レベル管理部3は、例えばリビジョン番号「5」のときのコミッター名「Tanaka」に対応する開発者名「Tanaka」を開発者レベルデータベース9から検索する。そして、各更新A〜Cにおける開発者「Tanaka」のうち、コミット日時よりも過去であって最新の更新Bにおける開発者レベル「50」を抽出する。
For example, the revision correspondence information shown in FIG. 4 is input from the revision
上記より、ソースコードの各行を改訂時の開発レベルに応じて色分けして表示することができる。 From the above, each line of the source code can be displayed in different colors according to the development level at the time of revision.
<変形例2>
上述では、例えば図5に示すように、各開発者に対する開発者レベルの項目は1つである場合について説明したが、これに限るものではない。例えば、開発者の能力は、プログラミング言語の種別ごとに変わる場合がある。このような場合を想定して、開発者レベルを複数の項目にしてもよい。<
In the above description, for example, as illustrated in FIG. 5, a case has been described in which there is one developer level item for each developer, but this is not a limitation. For example, a developer's ability may change for each type of programming language. Assuming such a case, the developer level may be a plurality of items.
図11は、開発者レベルデータベース9に格納される開発者レベルの一例を示す図である。図11の例では、各開発者に対して、「C/C++開発レベル」、「Java(登録商標)開発レベル」、および「Cobol開発レベル」の3つの項目が設定されている。
FIG. 11 is a diagram showing an example of the developer level stored in the
上記より、開発者レベル管理部3は、例えば対象ファイルのソースコードのプログラミング言語がC/C++である場合は、「C/C++開発レベル」を開発者レベルとして抽出すればよい。すなわち、開発者レベル管理部3は、実状に合った開発者レベルを抽出することができる。
From the above, the developer
以上のことから、本実施の形態1によれば、ソースコードの各行を開発者レベルに応じて区別して表示しているため、バグが発見された場合に開発者レベルが低いソースコードを優先して調べることによって、バグの原因を効率的に特定することが可能となる。また、既存のソースコードを改訂する場合において、ソースコードの各行の開発レベルを把握することができる。 From the above, according to the first embodiment, each line of the source code is displayed separately according to the developer level. Therefore, when a bug is found, the source code with a low developer level is given priority. It is possible to efficiently identify the cause of a bug by examining the above. In addition, when the existing source code is revised, the development level of each line of the source code can be grasped.
なお、上記では、リビジョン管理ツールの管理によって、例えば図4に示すようなリビジョン情報がリビジョン情報データベース8に格納されている場合について説明した。しかし、ソースコードと当該ソースコードを改訂したリビジョン番号とをソースコードの行ごとに対応付けていないリビジョン情報を管理するリビジョン管理ツールがある。当該リビジョン管理ツールで管理されるリビジョン情報には、図4に示すようなソースコード改訂情報が含まれていない。このような場合において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を全て取得し、取得したリビジョン情報に基づいて図4に示すようなソースコード改訂情報を生成するようにしてもよい。
In the above description, the case where revision information as shown in FIG. 4 is stored in the
リビジョン情報データベース8において、同姓のコミッターが複数存在する場合は、各コミッターを区別して格納する。開発者レベルデータベース9に格納される開発者名についても同様である。この場合、区別したコミッターと開発者名とを対応させる必要がある。
In the
上記では、開発者レベルに応じてソースコードの各行を色分けして表示する場合について説明したが、これに限るものではない。開発者レベルが予め定められた閾値よりも低い場合は、対応するソースコードの行を太字等で強調したり、対応するソースコードの行が分かるような記号を付したりしてもよい。また、開発者レベルが予め定められた閾値よりも低いソースコードの行をリストアップしてもよい。 In the above description, the lines of the source code are displayed in different colors according to the developer level. However, the present invention is not limited to this. When the developer level is lower than a predetermined threshold, the corresponding source code line may be highlighted in bold or the like, or a symbol that identifies the corresponding source code line may be added. Further, a line of source code whose developer level is lower than a predetermined threshold value may be listed.
<実施の形態2>
まず、本発明の実施の形態2によるソフトウェア管理装置の構成について説明する。<
First, the configuration of the software management apparatus according to the second embodiment of the present invention will be described.
図12は、本実施の形態2によるソフトウェア管理装置11の構成の一例を示すブロック図である。
FIG. 12 is a block diagram showing an example of the configuration of the
図12に示すように、本実施の形態2によるソフトウェア管理装置11は、実行結果管理部12およびソースコード抽出部13を備えることを特徴としている。実行結果管理部12は、実行結果データベース14に接続されている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
As shown in FIG. 12, the
リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。ここで、本実施の形態2による対象ファイルの実行結果とは、ソフトウェア開発の各工程(例えば、ビルド工程、テスト工程)での実行の成否のことをいう。実行結果は、例えばビルド工程で用いられるビルドツール、またはテスト工程で用いられるテストツールからリビジョン情報取得部2に入力される。このとき、実行結果とリビジョン情報とは、プラグインで対応付けられてリビジョン情報取得部2に入力される。このように、リビジョン情報取得部2は、対象ファイルを実行した時に、その実行結果とリビジョン情報とを取得する。リビジョン情報取得部2は、取得したリビジョン情報を開発者レベル管理部3および制御部4に出力し、取得した実行結果とリビジョン情報とを実行結果管理部12に出力する。
The revision
実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。また、実行結果管理部12は、実行結果データベース14に格納しているリビジョン情報をソースコード抽出部13に出力する。
The execution
実行結果データベース14は、例えば、ハードディスク(HDD:Hard Disk Drive)または半導体メモリなどの記憶装置から構成されており、実行結果管理部12の管理によって実行結果とリビジョン情報とを対応付けて格納している。図13は、実行結果データベース14に格納される実行結果の一例を示す図である。図13に示すように、実行結果データベース14では、実行したリビジョン番号ごとに、実行結果とリビジョン情報とを対応付けて格納している。例えば、リビジョン番号「1」およびリビジョン番号「5」の実行結果は「×(失敗)」であることを示しており、リビジョン番号「3」の実行結果は「○(成功)」であることを示している。
The
ソースコード抽出部13は、実行結果管理部12から入力されたリビジョン情報に基づいて、ソースコードの行を抽出する。ソースコード抽出部13は、抽出したソースコードの行を開発者レベル管理部3に出力する。
The source
なお、実行結果管理部12およびソースコード抽出部13は、例えば図2のプロセッサ5がメモリ6等に記憶されたプログラムを実行することにより、当該プロセッサ5の機能として実現される。ただし、これらは、例えば複数のプロセッサ5が連携して実現されてもよい。
Note that the execution
次に、本実施の形態2によるソフトウェア管理装置11の動作について説明する。
Next, the operation of the
図14は、ソフトウェア管理装置11の動作の一例を示すフローチャートである。なお、図14のステップS406、ステップS408、およびステップS409は、図6のステップS102およびステップS103の各々に対応しているため、ここでは説明を省略する。
FIG. 14 is a flowchart illustrating an example of the operation of the
ステップS401において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。例えば、リビジョン情報取得部2は、実行結果と、図15に示すソースコード改訂情報を含むリビジョン情報とを取得する。なお、図15では、ソースコードの現リビジョンのリビジョン番号が「5」であり、それよりも過去に改訂されたリビジョンも含むリビジョン番号「2」、「3」、「4」、「5」のリビジョンの改訂内容の影響を受けていることを示している。すなわち、リビジョン情報取得部2は、図15に示すソースコード改訂情報を含む対象ファイルのリビジョン情報と、その実行結果を取得する。
In step S401, the revision
ステップS402において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。図13の例では、実行結果データベース14には、リビジョン情報取得部2が今回取得したリビジョン番号「5」におけるリビジョン情報と実行結果とが格納されている。
In step S <b> 402, the execution
ステップS403において、実行結果管理部12は、今回の対象ファイルの実行結果が失敗であるか否かの判断を行う。実行結果が失敗である場合は、ステップS404に移行する。一方、実行結果が失敗でない(すなわち、実行結果が成功である)場合は、処理を終了する。図13の例では、今回の対象ファイル(リビジョン番号「5」)の実行結果は「×(失敗)」となっている。
In step S403, the execution
ステップS404において、実行結果管理部12は、過去に実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されているか否かの判断を行う。実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されている場合は、ステップS405に移行する。一方、実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されていない場合は、ステップS408に移行して実施の形態1と同様の処理が行われる。ここで、親リビジョンとは、対象ファイルにおける過去のリビジョン(改訂)のことをいう。図13の例では、リビジョン番号「5」の親リビジョンはリビジョン番号「1」およびリビジョン番号「3」であり、リビジョン番号「3」のときの実行結果は「○(成功)」である。
In step S404, the execution
ステップS405において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去に成功した親リビジョンのうちの最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出してソースコード抽出部13に出力する。図13の例では、実行結果管理部12は、リビジョン番号「5」(今回のリビジョン)のリビジョン情報と、リビジョン番号「3」(過去に成功した最新の親リビジョン)のリビジョン情報とを実行結果データベース14から抽出してソースコード抽出部13に出力する。なお、図13に示すリビジョン番号「3」のリビジョン情報に含まれるソースコード改訂情報は、例えば図16に示すソースコード改訂情報である。
In step S405, the execution
ソースコード抽出部13は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去に成功した最新の親リビジョンのリビジョン情報との差分をとり、当該差分部分のソースコードの行を改訂したコミッターを特定する。例えば、リビジョン番号「5」(今回のリビジョン)のリビジョン情報と、リビジョン番号「3」(過去に成功した最新の親リビジョン)のリビジョン情報との差分をとると、当該差分部分はリビジョン番号「4」およびリビジョン番号「5」に対応するソースコードの行となる。そして、ビジョン番号「4」およびリビジョン番号「5」のときに改訂したコミッターを特定する。
The source
ステップS407において、制御部4は、リビジョン情報取得部2から入力されたリビジョン情報と、開発者レベル管理部3から入力された開発者レベルとに基づいて、対象ファイルのソースコードの各行をソースコード抽出部13で特定されたコミッターの開発者レベルに応じて区別して表示するように制御する。具体的には、制御部4は、例えば図17に示すように、リビジョン番号「4」およびリビジョン番号「5」に対応するソースコードの各行を開発者のレベルに応じて色分けして表示するように制御する。表示装置10には、開発者レベルに応じて色分けされたソースコードの各行が表示される。
In step S407, the
以上のことから、本実施の形態2によれば、今回失敗したリビジョン情報と、過去に成功した最新のリビジョン情報との差分部分のソースコードの行を色分けして表示しているため、ソースコードの全部の行を色分けして表示する実施の形態1よりも効率的にバグの原因を特定することができる。 From the above, according to the second embodiment, the source code lines of the difference portion between the revision information that has failed this time and the latest revision information that has succeeded in the past are displayed in different colors. The cause of the bug can be identified more efficiently than in the first embodiment in which all the lines are displayed in different colors.
<実施の形態3>
まず、本発明の実施の形態3によるソフトウェア管理装置の構成について説明する。<
First, the configuration of the software management apparatus according to the third embodiment of the present invention will be described.
図18は、本実施の形態3によるソフトウェア管理装置15の構成の一例を示すブロック図である。
FIG. 18 is a block diagram showing an example of the configuration of the
図18に示すように、本実施の形態3によるソフトウェア管理装置15は、実施の形態2によるソフトウェア管理装置11(図12参照)のソースコード抽出部13に代えて、開発者評価部16を備えることを特徴としている。その他の構成および動作は、実施の形態2と同様であるため、ここでは詳細な説明を省略する。
As shown in FIG. 18, the
開発者評価部16は、実行結果管理部12から入力されたリビジョン情報に基づいて、開発者の評価を行う。具体的には、開発者評価部16は、開発者レベルを下げる開発者(コミッター)を特定し、当該開発者の開発者レベルを下げると判断する。
The
なお、開発者評価部16は、例えば図2のプロセッサ5がメモリ6等に記憶されたプログラムを実行することにより、当該プロセッサ5の機能として実現される。ただし、これらは、例えば複数のプロセッサ5が連携して実現されてもよい。
Note that the
次に、本実施の形態3によるソフトウェア管理装置15の動作について説明する。
Next, the operation of the
図19は、ソフトウェア管理装置15の動作の一例を示すフローチャートである。
FIG. 19 is a flowchart illustrating an example of the operation of the
ステップS501において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。例えば、リビジョン情報取得部2は、実行結果と、図20に示すソースコード改訂情報を含むリビジョン情報とを取得する。なお、図20では、ソースコードの現リビジョンのリビジョン番号が「6」であり、それよりも過去に改訂されたリビジョンも含むリビジョン番号「2」、「3」、「4」、「6」のリビジョンの改訂内容の影響を受けていることを示している。すなわち、リビジョン情報取得部2は、図20に示すソースコードを有する対象ファイルのリビジョン情報と、その実行結果を取得する。
In step S501, the revision
ステップS502において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。例えば、図21に示すように、実行結果データベース14には、リビジョン情報取得部2が今回取得したリビジョン番号「6」におけるリビジョン情報と実行結果とが格納されている。
In step S502, the execution
ステップS503において、実行結果管理部12は、今回の対象ファイルの実行結果が成功であるか否かの判断を行う。実行結果が成功である場合は、ステップS504に移行する。一方、実行結果が成功でない(すなわち、実行結果が失敗である)場合は、処理を終了する。図21の例では、今回の対象ファイル(リビジョン番号「6」)の実行結果は「○(成功)」となっている。
In step S503, the execution
ステップS504において、実行結果管理部12は、実行結果データベース14に格納されている最新の親リビジョンの実行結果が失敗であるか否かの判断を行う。最新の親リビジョンの実行結果が失敗である場合は、ステップS505に移行する。一方、最新の親リビジョンの実行結果が失敗でない(最新の親リビジョンンの実行結果が成功である、または親リビジョンが実行結果データベース14に格納されていない)場合は、処理を終了する。図21の例では、リビジョン番号「6」の親リビジョンはリビジョン番号「1」、リビジョン番号「3」、およびリビジョン番号「5」であり、リビジョン番号「1」およびリビジョン番号「5」のときの実行結果は「×(失敗)」である。
In step S504, the execution
ステップS505において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去に失敗した親リビジョンのうちの最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。図21の例では、実行結果管理部12は、リビジョン番号「6」(今回のリビジョン)のリビジョン情報と、リビジョン番号「5」(過去に失敗した最新の親リビジョン)のリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。なお、図21に示すリビジョン番号「5」のリビジョン情報に含まれるソースコード改訂情報は、図22に示すソースコード改訂情報であるものとする。
In step S505, the execution
開発者評価部16は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去に失敗した最新の親リビジョンのリビジョン情報との差分をとり、過去に失敗した最新の親リビジョンにおける当該差分部分に対応するリビジョンのコミッターを特定し、特定したコミッターの開発者レベルを下げると判断する。例えば、今回のリビジョンであるリビジョン番号「6」のリビジョン情報と、過去に失敗した最新の親リビジョンであるリビジョン番号「5」のリビジョン情報との差分をとると、当該差分部分は今回のリビジョンにおいてはリビジョン番号「6」に対応するソースコードの行となる(例では、過去に失敗した最新の親リビジョンから今回のリビジョンの間に改訂されたリビジョンがリビジョン番号「6」のリビジョンだけであるのでリビジョン番号「6」だけが対象となるが、過去に失敗した最新の親リビジョンから改訂されたリビジョンが複数ある場合は各リビジョンに対応するソースコードの行を対象とする)。過去に失敗した最新の親リビジョンにおいて、この行はリビジョン番号「5」のリビジョンに対応する(例では、過去に失敗した最新の親リビジョンのリビジョン番号と差分部分に対応するリビジョンのリビジョン番号が同一であるが異なる場合もあり得る)。これにより、バグがリビジョン番号「5」のリビジョンにより埋め込まれていたと推定できるので、開発者評価部16は、リビジョン情報よりリビジョン番号「5」において改訂したコミッターを特定し、当該コミッターの開発者レベルを下げると判断する。
The
ステップS506において、開発者レベル管理部3は、開発者評価部16で特定されたコミッターに対応する開発者の開発者レベルを下げる。すなわち、開発者レベル管理部3は、開発者レベルデータベース9に格納されている開発者レベルの更新を行う。例えば、開発者レベルデータベース9に図5に示す開発者レベルが格納されている場合において、開発者レベル管理部3は、開発者評価部16で特定されたコミッター(ここでは「Tanaka」)の開発者レベルを「35」から「30」に下げる(図23参照)。なお、開発者レベルをどのように下げるのかについては、任意の方法で決定すればよい。
In step S <b> 506, the developer
以上のことから、本実施の形態3によれば、過去に改訂を失敗したコミッターを特定し、当該コミッターの開発者レベルを下げているため、より適切な開発者レベルの評価を行うことができる。また、このように更新された開発者レベルに応じてソースコードの各行を区別して表示することによって、バグの原因を効率的に特定することが可能となる。また、既存のソースコードを改訂する場合において、ソースコードの各行の開発レベルを把握することができる。 As described above, according to the third embodiment, since a committer that has failed to be revised in the past is identified and the developer level of the committer is lowered, a more appropriate developer level evaluation can be performed. . In addition, by distinguishing and displaying each line of the source code according to the updated developer level, it is possible to efficiently identify the cause of the bug. In addition, when the existing source code is revised, the development level of each line of the source code can be grasped.
なお、図19のステップS505とステップS506との間において、開発レベルを下げると判断されたコミッター名と、当該コミッターが改訂したソースコードとを表示し、コミッターの開発レベルを下げるか否かをユーザに確認するようにしてもよい。この場合、開発者の評価をより慎重に行うことができる。 It should be noted that between step S505 and step S506 in FIG. 19, the committer name determined to lower the development level and the source code revised by the committer are displayed, and the user determines whether to lower the committer development level. You may make it confirm. In this case, developers can be evaluated more carefully.
<実施の形態4>
実施の形態3では、失敗したリビジョンにおけるリビジョン情報と、その後に成功したリビジョンにおけるリビジョン情報との差分部分にバグの原因があるものとして、当該差分部分を失敗したときに改訂したコミッターの開発者レベルを下げる場合について説明した。しかし、上記の差分部分は、バグの原因以外の部分も含まれることがあり、開発者レベルが適切に評価されているとはいえなかった。本発明の実施の形態4では、このような問題を解決したものであり、以下に詳細を説明する。なお、本実施の形態4によるソフトウェア管理装置の構成は、実施の形態3によるソフトウェア管理装置15(図18参照)の構成と同様である。以下では、実施の形態4によるソフトウェア管理装置は、図18に示すソフトウェア管理装置15であるものとして説明する。<
In the third embodiment, it is assumed that there is a cause of a bug in the difference part between the revision information in the failed revision and the revision information in the succeeded revision, and the committer developer level revised when the difference part fails The case of lowering was explained. However, the above difference part may include a part other than the cause of the bug, and it cannot be said that the developer level is appropriately evaluated. The fourth embodiment of the present invention solves such a problem, and will be described in detail below. The configuration of the software management apparatus according to the fourth embodiment is the same as that of the software management apparatus 15 (see FIG. 18) according to the third embodiment. In the following description, it is assumed that the software management apparatus according to the fourth embodiment is the
図24は、本実施の形態4によるソフトウェア管理装置15の動作の一例を示すフローチャートである。
FIG. 24 is a flowchart showing an example of the operation of the
ステップS601において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。
In step S601, the revision
ステップS602において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。
In step S602, the execution
ステップS603において、実行結果管理部12は、今回(第2のタイミング)の対象ファイルの実行結果が失敗であるか否かの判断を行う。実行結果が失敗である場合は、ステップS604に移行する。一方、実行結果が失敗でない(すなわち、実行結果が成功である)場合は、ステップS606に移行する。
In step S603, the execution
ステップS604において、実行結果管理部12は、過去(第1のタイミング)に実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されているか否かの判断を行う。実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されている場合は、ステップS605に移行する。一方、実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されていない場合は、処理を終了する。
In step S604, the execution
ステップS605において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去に成功した親リビジョンのうちの最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。
In step S605, the execution
開発者評価部16は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去に失敗した最新の親リビジョンのリビジョン情報との差分をとり、当該差分部分に対応するリビジョンをバグ原因候補リビジョン(第1のリビジョン)として記憶する。なお、バグ原因候補リビジョンは、開発者評価部16に記憶してもよく、他の記憶部(図示せず)に記憶してもよい。
The
例えば、図25に示すソースコード改訂情報が今回(ここでは実行結果は失敗)のリビジョンのリビジョン情報に含まれており、図26に示すソースコード改訂情報が過去に成功した最新の親リビジョンのリビジョン情報に含まれている場合において、開発者評価部16は、各リビジョン情報の差分部分に対応するリビジョン番号「7」およびリビジョン番号「8」をバグ原因候補リビジョンとする。なお、図25はリビジョン番号「8」のときに実行されたソースコード改訂情報を示し、図26はリビジョン番号「6」のときに実行されたソースコード改訂情報を示している。
For example, the source code revision information shown in FIG. 25 is included in the revision information of the revision of this time (the execution result is failed in this case), and the source code revision information shown in FIG. 26 is the revision of the latest parent revision that has succeeded in the past. When included in the information, the
ステップS606において、開発者評価部16は、バグ原因候補リビジョンが記憶されているか否かの判断を行う。バグ原因候補リビジョンが記憶されている場合は、ステップS607に移行する。一方、バグ原因候補リビジョンが記憶されていない場合は、処理を終了する。
In step S606, the
ステップS607において、開発者評価部16は、過去に失敗した最新の親リビジョンのリビジョン情報と、今回(第3のタイミング)のリビジョン(第2のリビジョン)のリビジョン情報との差分をとり、当該差分部分にバグ原因候補リビジョンに対応するソースコードの行が含まれているか否かの判断を行う。バグ原因候補リビジョンに対応するソースコードの行が含まれている場合は、ステップS608に移行する。一方、バグ原因候補リビジョンに対応するソースコードの行が含まれていない場合は、処理を終了する。
In step S607, the
ステップS608において、開発者評価部16は、バグ原因候補リビジョンに記憶されているリビジョンの内、当該差分部分のソースコードに改訂を行ったリビジョンのコミッターの開発レベルを下げると判断し、バグ原因候補リビジョンに対応するソースコードの行を今回改訂したコミッターの開発者レベルを上げると判断する。
In step S608, the
例えば、図27に示すソースコード改訂情報が今回(ここでは、実行結果は成功)のリビジョンのリビジョン情報に含まれており、図25に示すソースコード改訂情報におけるリビジョン番号「7」およびリビジョン番号「8」がバグ原因候補リビジョンであるものとする。このような場合において、各リビジョン情報の差分部分におけるリビジョン番号「9」に対応するソースコードをリビジョン番号「7」のときに改訂したコミッターの開発レベルを下げると判断し、リビジョン番号「9」のときに改訂したコミッターの開発レベルを上げると判断する。なお、図27は、リビジョン番号「10」のときに実行されたソースコード改訂情報を示している。 For example, the source code revision information shown in FIG. 27 is included in the revision information of the current revision (here, the execution result is successful). The revision number “7” and the revision number “7” in the source code revision information shown in FIG. 8 ”is a bug cause candidate revision. In such a case, it is determined that the development level of the committer revised when the source code corresponding to the revision number “9” in the difference part of each revision information is the revision number “7” is lowered. It is determined that the development level of the revised committer is sometimes raised. FIG. 27 shows the source code revision information executed when the revision number is “10”.
ステップS609において、開発者レベル管理部3は、開発者評価部16で特定されたコミッターに対応する開発者の開発者レベルを変更する。具体的には、開発者レベル管理部3は、実行結果が失敗となった原因となるソースコードを改訂したコミッター(図25の例では、リビジョン番号「7」のときに改訂したコミッター)の開発者レベルを下げる。また、開発者レベル管理部3は、実行結果が成功となった(過去の失敗を解消した)原因となるソースコードを改訂したコミッター(図27の例では、リビジョン番号「9」のときに改訂したコミッター)の開発者レベルを上げる。
In step S609, the developer
ステップS610において、バグ原因候補リビジョンとして記憶していたすべてのリビジョンをバグ原因候補リビジョンから消去する。 In step S610, all revisions stored as bug cause candidate revisions are erased from the bug cause candidate revisions.
以上のことから、本実施の形態4によれば、実施の形態3よりも精度良く、過去に改訂を失敗したコミッターを特定することができる。また、過去の失敗を解消したコミッターの評価を上げているため、より適切な開発者の評価を行うことができる。 From the above, according to the fourth embodiment, it is possible to identify a committer that has failed to be revised in the past with higher accuracy than in the third embodiment. Moreover, since the evaluation of the committer which solved the past failure is raised, a more appropriate developer evaluation can be performed.
なお、図24のステップS608とステップS609との間において、開発レベルを変更する判断されたコミッター名と、当該コミッターが改訂したソースコードとを表示し、コミッターの開発レベルを変更するか否かをユーザに確認するようにしてもよい。この場合、開発者の評価をより慎重に行うことができる。 Note that, between step S608 and step S609 in FIG. 24, the committer name determined to change the development level and the source code revised by the committer are displayed, and whether or not to change the committer development level is determined. You may make it confirm with a user. In this case, developers can be evaluated more carefully.
<実施の形態5>
本発明の実施の形態5では、ソフトウェア開発における静的解析工程等の問題のある(バグの原因となる)ソースコードの行が特定できる場合においてエラーまたは警告が出たときに、当該エラーまたは警告を生じさせたコミッターの評価を下げることを特徴としている。以下では、静的解析工程に関してのみ記述するが、問題のあるソースコードの行が特定できるツールを用いる場合は静的解析工程に限らず本実施の形態の対象とすることが可能である。なお、本実施の形態5によるソフトウェア管理装置の構成は、実施の形態3によるソフトウェア管理装置15(図18参照)の構成と同様である。ただし、実行結果データベース14には必ずしも過去のリビジョンの実行結果を蓄積する必要はない。以下では、実施の形態5によるソフトウェア管理装置は、図18に示すソフトウェア管理装置15であるものとして説明する。<
In the fifth embodiment of the present invention, when an error or warning is issued when a problematic source code line (causing a bug) such as a static analysis process in software development can be identified, the error or warning is issued. It is characterized by lowering the evaluation of the committer that caused the. In the following description, only the static analysis process will be described. However, when a tool that can identify a problematic source code line is used, the present embodiment can be used as an object in addition to the static analysis process. The configuration of the software management apparatus according to the fifth embodiment is the same as that of the software management apparatus 15 (see FIG. 18) according to the third embodiment. However, it is not always necessary to store execution results of past revisions in the
図28は、本実施の形態5によるソフトウェア管理装置15の動作の一例を示すフローチャートである。
FIG. 28 is a flowchart showing an example of the operation of the
ステップS701において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。ここで、本実施の形態5における対象ファイルの実行結果とは、ソフトウェア開発における静的解析工程での実行結果のことであり、ソースコードのエラーまたは警告が生じている箇所(行)を指摘するものである。静的解析工程では、ソースコードがコーディングルール等に従っているか(コーディングルール等に反していないか)否かを判断しており、ソースコードがコーディングルール等に従っていない場合は、エラーまたは警告を示す実行結果がリビジョン情報取得部2に入力される。また、実行結果およびリビジョン情報は、プラグインで対応付けられてリビジョン情報取得部2に入力される。
In step S701, the revision
例えば、リビジョン情報取得部2は、実行結果と、図29に示すソースコード改訂情報を含むリビジョン情報とを取得する。なお、図29では、今回、リビジョン番号「6」のソースコードの行が改訂されたことを示している。すなわち、リビジョン情報取得部2は、図29に示すソースコード改訂情報を含む対象ファイルのリビジョン情報と、その実行結果を取得する。
For example, the revision
ステップS702において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。例えば、図30に示すように、実行結果データベース14には、リビジョン情報取得部2が今回取得したリビジョン番号「6」のリビジョン情報と実行結果(図30では図示せず)が格納されている。
In step S <b> 702, the execution
ステップS703において、実行結果管理部12は、今回の対象ファイルの実行結果においてエラーまたは警告が生じている箇所があるか否かの判断を行う。エラーまたは警告が生じている箇所がある場合は、ステップS704に移行する。一方、エラーまたは警告が生じている箇所がない場合は、処理を終了する。
In step S703, the execution
ステップS704において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去の最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。図30の例では、実行結果管理部12は、リビジョン番号「6」(今回のリビジョン)のリビジョン情報と、リビジョン番号「5」のリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。
In step S <b> 704, the execution
開発者評価部16は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去の最新の親リビジョンのリビジョン情報との差分をとり、当該差分部分が静的解析によるエラーまたは警告の該当箇所である場合は、当該差分部分の静的解析によるエラーまたは警告の該当箇所を改訂したコミッターの開発者レベルを下げると判断する。図29の例では、リビジョン番号「6」が今回のリビジョンのリビジョン情報と過去の最新の親リビジョンのリビジョン情報との差分部分に該当し、リビジョン番号「6」に対応するソースコードにおいて、「=」の前後にスペースを入れなければならないコーディングルールに従っておらず、静的解析の実行結果においてエラーまたは警告の該当箇所になっている。よって、リビジョン情報よりリビジョン番号「6」のリビジョンのコミッターを特定し、当該コミッターの開発者レベルを下げると判断する。
The
ステップS705において、開発者レベル管理部3は、開発者評価部16で特定されたコミッターに対応する開発者の開発者レベルを下げる。すなわち、開発者レベル管理部3は、開発者レベルデータベース9に格納されている開発者レベルの更新を行う。例えば、開発者レベルデータベース9に図5に示す開発者レベルが格納されている場合において、開発者レベル管理部3は、開発者評価部16で特定されたコミッター(ここでは「Sasaki」)の開発者レベルを「90」から「80」に下げる(図31参照)。
In step S705, the developer
以上のことから、本実施の形態5によれば、静的解析においてエラーまたは警告が出るソースコードを記述したコミッターの開発レベルを下げているため、より適切な開発者レベルの評価を行うことができる。 From the above, according to the fifth embodiment, since the development level of the committer describing the source code that generates an error or warning in the static analysis is lowered, a more appropriate developer level evaluation can be performed. it can.
なお、図28のステップS704とステップS705との間において、開発レベルを下げると判断されたコミッター名と、当該コミッターが改訂したソースコードとを表示し、コミッターの開発レベルを下げるか否かをユーザに確認するようにしてもよい。この場合、開発者の評価をより慎重に行うことができる。 In addition, between step S704 and step S705 in FIG. 28, the committer name determined to lower the development level and the source code revised by the committer are displayed, and the user determines whether to lower the committer development level. You may make it confirm. In this case, developers can be evaluated more carefully.
<実施の形態6>
まず、本実施の形態6によるソフトウェア管理装置の構成について説明する。<
First, the configuration of the software management apparatus according to the sixth embodiment will be described.
図32は、本実施の形態6によるソフトウェア管理装置17の構成の一例を示すブロック図である。
FIG. 32 is a block diagram showing an example of the configuration of the
図32に示すように、本実施の形態6によるソフトウェア管理装置17は、ファイルレベル評価部18を備えることを特徴としている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。
As shown in FIG. 32, the
ファイルレベル評価部18は、リビジョン情報取得部2から入力された対象ファイルのリビジョン情報と、開発者レベル管理部3から入力された対象ファイルに寄与する開発者レベルとに基づいて、ソースファイルおよびソフトウェアのうちの少なくとも1つのレベルを評価する。
Based on the revision information of the target file input from the revision
次に、本実施の形態6によるソフトウェア管理装置17の動作について説明する。
Next, the operation of the
図33は、ソフトウェア管理装置17の動作の一例を示すフローチャートである。なお、図33のステップS801およびステップS802は、図6のステップS101およびステップS102に対応しているため、ここでは説明を省略する。
FIG. 33 is a flowchart illustrating an example of the operation of the
ステップS803において、ファイルレベル評価部18は、対象ファイルのレベルを評価する。具体的には、ファイルレベル評価部18は、リビジョン情報取得部2から入力された対象ファイルのリビジョン情報と、開発者レベル管理部3から入力された対象ファイルに寄与する開発者レベルとに基づいて、例えば図34に示すような、開発者レベルごとにソースコードの行数を集計する。そして、ファイルレベル評価部18は、対象ファイルのソースコードの全ての行に対して、予め定められた開発者レベル以上のコミッターが改訂したソースコードの行数の割合を算出し、算出した割合をファイルのレベルとする。ここで、予め定められた開発者レベルとは、ユーザが任意に設定したものである。
In step S803, the file
ステップS804において、ファイルレベル評価部18は、対象ファイルを含む複数のファイルから一のソフトウェアが構成されているか否かの判断を行う。ソフトウェアが対象ファイルを含む複数のファイルから構成されている場合は、ステップS805に移行する。一方、ソフトウェアが対象ファイルを含む複数のファイルから構成されていない場合は、処理を終了する。
In step S804, the file
ステップS805において、ファイルレベル評価部18は、ソフトウェアを構成する複数のファイルのレベルに基づいて、当該ソフトウェアのレベルを算出する。ソフトウェアのレベルは、例えば、各ファイルのレベルの平均としてもよい。なお、ステップS805の処理を行う場合は、ステップS803においてソフトウェアを構成する各ファイルのレベルが算出されている必要がある。
In step S805, the file
以上のことから、本実施の形態6によれば、対象ファイルのレベル、または対象ファイルを含むソフトウェアのレベルを把握することができる。 From the above, according to the sixth embodiment, the level of the target file or the level of software including the target file can be grasped.
以上で説明したソフトウェア管理装置は、サーバ、および携帯通信端末(例えば、携帯電話、スマートフォン、およびタブレット端末など)を適宜に組み合わせてシステムとして構築されるソフトウェア管理装置にも適用することができる。この場合、ソフトウェア管理装置の各機能あるいは各構成要素は、上記システムを構築する各機能に分散して配置される。 The software management apparatus described above can also be applied to a software management apparatus constructed as a system by appropriately combining a server and a mobile communication terminal (for example, a mobile phone, a smartphone, and a tablet terminal). In this case, each function or each component of the software management apparatus is distributed and arranged in each function for constructing the system.
具体的には、一例としてソフトウェア管理装置の機能をサーバに配置することができる。例えば、図35に示すように、ユーザ側に図3に示す表示装置10と同様の機能を有する表示装置10を備え、サーバ19に図3に示すソフトウェア管理装置7と同様の機能を有する各構成要素を備えることによってソフトウェア管理システムを構築することができる。なお、サーバ19に備えられる各構成要素は、適宜にサーバ19および表示装置10に分散して配置するようにしてもよい。また、図12,18,32に示す各構成要素についても同様である。
Specifically, as an example, the function of the software management apparatus can be arranged in a server. For example, as shown in FIG. 35, each component having the
また、他の一例として、ソフトウェア管理装置の機能をサーバおよび携帯通信端末に配置することができる。例えば、図36に示すように、ユーザ側に図3に示す表示装置10と同様の機能を有する表示装置10を備え、サーバ20に図3に示すリビジョン情報取得部2および開発者レベル管理部3を備え、携帯通信端末21に図3に示す制御部4を備えることによってソフトウェア管理システムを構築することができる。なお、サーバ20および携帯通信端末21に備えられる各構成要素は、適宜に表示装置10、サーバ20、および携帯通信端末21に分散して配置するようにしてもよい。また、図12,18,32に示す各構成要素についても同様である。
As another example, the function of the software management apparatus can be arranged in a server and a mobile communication terminal. For example, as shown in FIG. 36, the user is provided with the
上記の構成とした場合であっても、上記の実施の形態と同様の効果が得られる。 Even if it is a case where it is said structure, the effect similar to said embodiment is acquired.
また、上記の実施の形態における動作を実行するソフトウェア(ソフトウェア管理方法)を、例えばサーバや携帯通信端末に組み込んでもよい。 In addition, software (software management method) that executes the operation in the above-described embodiment may be incorporated in a server or a mobile communication terminal, for example.
具体的には、一例として、上記のソフトウェア管理方法は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得し、改訂者を含むソースコードの開発者のレベルを示す開発者レベルを管理し、取得したリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出し、取得したリビジョン情報と、抽出された開発者レベルとに基づいて、ソースコードの各行を開発者レベルに応じて区別して表示するように制御する。 Specifically, as an example, the above software management method obtains revision information including the revision corresponding to each line of the source code in the source file and the revision person who revised the source code, and the source including the revision person. The developer level indicating the level of the developer of the code is managed, the developer level of the developer corresponding to the revision included in the acquired revision information is extracted, the acquired revision information, the extracted developer level, and Based on the above, each line of the source code is controlled to be displayed separately according to the developer level.
上記より、上記の実施の形態における動作を実行するソフトウェアをサーバや携帯通信端末に組み込んで動作させることによって、上記の実施の形態と同様の効果が得られる。 As described above, the same effects as those of the above-described embodiment can be obtained by operating the software that executes the operation of the above-described embodiment in a server or a mobile communication terminal.
なお、図1,3,12,18,32,35,36において、リビジョン情報取得部2、開発者レベル管理部3、制御部4、実行結果管理部12、ソースコード抽出部13、開発者評価部16、およびファイルレベル評価部18の各々は、図2のプロセッサ5がメモリ6等に記憶されたソフトウェアプログラムに従って動作することにより実現された。しかし、これに代えて、リビジョン情報取得部2、開発者レベル管理部3、制御部4、実行結果管理部12、ソースコード抽出部13、開発者評価部16、およびファイルレベル評価部18の各々は、ハードウェア(例えば、電気信号に対して特定の演算あるいは処理を行うように構成された演算/処理回路等)として構成するようにしてもよい。また、上記の両者を混在させてもよい。
1, 3, 12, 18, 32, 35, and 36, the revision
また、ソフトウェアのリビジョン情報取得部2、開発者レベル管理部3、制御部4、実行結果管理部12、ソースコード抽出部13、開発者評価部16、およびファイルレベル評価部18の各々と、ハードウェアのリビジョン情報取得部2、開発者レベル管理部3、制御部4、実行結果管理部12、ソースコード抽出部13、開発者評価部16、およびファイルレベル評価部18の各々とを組み合わせた概念として、「部」という語に代えて「処理回路」という語を用いることもできる。
Each of the software revision
なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。 It should be noted that the present invention can be freely combined with each other within the scope of the invention, and each embodiment can be appropriately modified or omitted.
本発明は詳細に説明されたが、上記した説明は、すべての態様において、例示であって、この発明がそれに限定されるものではない。例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。 Although the present invention has been described in detail, the above description is illustrative in all aspects, and the present invention is not limited thereto. It is understood that countless variations that are not illustrated can be envisaged without departing from the scope of the present invention.
1 ソフトウェア管理装置、2 リビジョン情報取得部、3 開発者レベル管理部、4 制御部、5 プロセッサ、6 メモリ、7 ソフトウェア管理装置、8 リビジョン情報データベース、9 開発者レベルデータベース、10 表示装置、11 ソフトウェア管理装置、12 実行結果管理部、13 ソースコード抽出部、14 実行結果データベース、15 ソフトウェア管理装置、16 開発者評価部、17 ソフトウェア管理装置、18 ファイルレベル評価部、19,20 サーバ、21 携帯通信端末。
DESCRIPTION OF
Claims (15)
前記ソースコードの開発者のレベルを示す開発者レベルを管理し、前記リビジョン情報取得部で取得された前記リビジョン情報に含まれる前記改訂者に対応する前記開発者の前記開発者レベルを抽出する開発者レベル管理部と、
前記リビジョン情報取得部で取得された前記リビジョン情報と、前記開発者レベル管理部で抽出された前記開発者レベルとに基づいて、前記ソースコードの各行を前記開発者レベルに応じて区別して表示するように制御する制御部と、
を備える、ソフトウェア管理装置。A revision information acquisition unit for acquiring revision information including a revision corresponding to each line of the source code in the source file and a revision person who revised the source code;
Development that manages the developer level indicating the level of the developer of the source code and extracts the developer level of the developer corresponding to the revision included in the revision information acquired by the revision information acquisition unit Person level management department,
Based on the revision information acquired by the revision information acquisition unit and the developer level extracted by the developer level management unit, each line of the source code is displayed separately according to the developer level. A control unit for controlling
A software management device.
前記制御部は、前記ソースコードの各行を、前記日時情報に示される前記日時よりも過去でありかつ最新の前記予め定められたタイミングで更新された前記開発者レベルに応じて区別して表示するように制御することを特徴とする、請求項2に記載のソフトウェア管理装置。The revision information includes date and time information indicating the date and time when the revision person revised the source code,
The control unit distinguishes and displays each line of the source code in accordance with the developer level updated at the predetermined timing that is older than the date and time indicated in the date and time information and is the latest. The software management apparatus according to claim 2, wherein the software management apparatus controls the software.
前記実行結果管理部で抽出された前記今回のリビジョン情報に含まれるソースコードと、前記最新のリビジョン情報に含まれるソースコードとの差分部分における前記ソースコードの行を抽出するソースコード抽出部と、
をさらに備え、
前記制御部は、前記ソースコード抽出部で抽出された前記ソースコードの行を区別して表示するように制御することを特徴とする、請求項1に記載のソフトウェア管理装置。When the execution result of the source code and the revision information acquired by the revision information acquisition unit are managed in association with each other and the execution result of this time is determined to be unsuccessful, An execution result management unit that extracts the corresponding revision information and the latest revision information of the past revision information determined that the execution result is successful;
A source code extraction unit that extracts a line of the source code in a difference portion between the source code included in the current revision information extracted by the execution result management unit and the source code included in the latest revision information;
Further comprising
The software management apparatus according to claim 1, wherein the control unit performs control to distinguish and display the source code lines extracted by the source code extraction unit.
前記実行結果管理部で抽出された前記今回の前記実行結果に対応する前記リビジョン情報と、前記最新の前記リビジョン情報との差分部分における前記ソースコードの行を前記過去に改訂した前記改訂者を特定し、特定した前記改訂者に対応する前記開発者の前記開発者レベルを下げる評価を行う開発者評価部と、
をさらに備えることを特徴とする、請求項1に記載のソフトウェア管理装置。When the execution result of the source code and the revision information acquired by the revision information acquisition unit are managed in association with each other and the execution result of this time is determined to be successful, An execution result management unit that extracts the corresponding revision information and the latest revision information of the past revision information determined that the execution result is unsuccessful;
The revision person who revised the line of the source code in the difference part between the revision information corresponding to the current execution result extracted by the execution result management unit and the latest revision information is identified. And a developer evaluation unit that performs an evaluation to lower the developer level of the developer corresponding to the identified reviser,
The software management apparatus according to claim 1, further comprising:
第1のタイミングで前記実行結果管理部が前記実行結果は成功であると判断した前記リビジョンと、前記第1のタイミング後の第2のタイミングで前記実行結果管理部が前記実行結果は失敗であると判断した前記リビジョンとの間において改訂された前記リビジョンである第1のリビジョンを特定し、前記第2のタイミング後の第3のタイミングで前記実行結果管理部が前記実行結果は成功であると判断した前記リビジョンである第2のリビジョンにおいて、前記第1のリビジョンで改訂された前記ソースコードの行をさらに改訂したか否かに基づいて前記開発者レベルの評価を行う開発者評価部と、
をさらに備えることを特徴とする、請求項1に記載のソフトウェア管理装置。An execution result management unit that manages the source code execution result and the revision information acquired by the revision information acquisition unit in association with each other;
The execution result management unit determines that the execution result is successful at a first timing, and the execution result management unit fails the execution result at a second timing after the first timing. The first revision, which is the revision revised with respect to the revision determined to be, is specified, and the execution result management unit determines that the execution result is successful at a third timing after the second timing. A developer evaluation unit that performs the developer-level evaluation based on whether the source code line revised in the first revision is further revised in the second revision that is the determined revision;
The software management apparatus according to claim 1, further comprising:
前記実行結果管理部が今回の前記実行結果は失敗であると判断した場合において、当該今回の前記実行結果に対応する前記リビジョン情報と、前記実行結果管理部が管理する過去の最新の前記リビジョン情報との差分部分における前記ソースコードが静的解析によるエラーまたは警告の該当箇所である場合は、前記静的解析によるエラーまたは警告の該当箇所である前記ソースコードの行を改訂した前記改訂者に対応する前記開発者の前記開発者レベルを下げる評価を行う開発者評価部をさらに備えることを特徴とする、請求項1に記載のソフトウェア管理装置。An execution result management unit that manages the source code execution result and the revision information acquired by the revision information acquisition unit in association with each other;
When the execution result management unit determines that the current execution result is failure, the revision information corresponding to the current execution result and the latest latest revision information managed by the execution result management unit If the source code in the difference part is a corresponding part of an error or warning by static analysis, it corresponds to the revision person who revised the line of the source code that is a corresponding part of error or warning by static analysis The software management apparatus according to claim 1, further comprising a developer evaluation unit that performs an evaluation for lowering the developer level of the developer.
前記ファイルレベル評価部は、各前記ソースファイルのレベルに基づいて、前記ソフトウェアのレベルを評価することを特徴とする、請求項10に記載のソフトウェア管理装置。In the case where one software is composed of a plurality of the source files,
11. The software management apparatus according to claim 10, wherein the file level evaluation unit evaluates the level of the software based on the level of each source file.
前記ソースコードの開発者のレベルを示す開発者レベルを管理し、前記取得した前記リビジョン情報に含まれる前記改訂者に対応する前記開発者の前記開発者レベルを抽出し、
前記取得した前記リビジョン情報と、前記抽出された前記開発者レベルとに基づいて、前記ソースコードの各行を前記開発者レベルに応じて区別して表示するように制御する、ソフトウェア管理方法。Obtain revision information including the revision corresponding to each line of the source code in the source file and the revision who revised the source code;
Managing a developer level indicating a level of a developer of the source code, and extracting the developer level of the developer corresponding to the revision included in the obtained revision information;
A software management method for controlling to display each line of the source code in accordance with the developer level based on the acquired revision information and the extracted developer level.
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/JP2015/060194 WO2016157433A1 (en) | 2015-03-31 | 2015-03-31 | Software management device and software management method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP6141563B2 true JP6141563B2 (en) | 2017-06-07 |
| JPWO2016157433A1 JPWO2016157433A1 (en) | 2017-06-08 |
Family
ID=57005451
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017508942A Expired - Fee Related JP6141563B2 (en) | 2015-03-31 | 2015-03-31 | Software management apparatus and software management method |
Country Status (2)
| Country | Link |
|---|---|
| JP (1) | JP6141563B2 (en) |
| WO (1) | WO2016157433A1 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP7116313B2 (en) * | 2018-11-28 | 2022-08-10 | 富士通株式会社 | Correction candidate identification program |
| CN114416167A (en) * | 2022-01-11 | 2022-04-29 | 中国工商银行股份有限公司 | Method and device for monitoring undelivered codes |
Family Cites Families (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0490031A (en) * | 1990-08-03 | 1992-03-24 | Fujitsu Ltd | Error detector |
| JP2003005962A (en) * | 2001-06-20 | 2003-01-10 | Canon Inc | Text change history display method |
| JP4883700B2 (en) * | 2007-03-15 | 2012-02-22 | 株式会社日立ソリューションズ | Repository server management system |
| JP2014241021A (en) * | 2013-06-11 | 2014-12-25 | 株式会社日立製作所 | Software evaluation device and method |
-
2015
- 2015-03-31 JP JP2017508942A patent/JP6141563B2/en not_active Expired - Fee Related
- 2015-03-31 WO PCT/JP2015/060194 patent/WO2016157433A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2016157433A1 (en) | 2016-10-06 |
| JPWO2016157433A1 (en) | 2017-06-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10102105B2 (en) | Determining code complexity scores | |
| US11038947B2 (en) | Automated constraint-based deployment of microservices to cloud-based server sets | |
| US20210247976A1 (en) | Tracking related changes with code annotations | |
| CA2956207C (en) | Program code comparison and reporting | |
| US9785421B1 (en) | External dependency attribution | |
| US20200334102A1 (en) | Systems And Methods For Preventing Client Application Crashes Due To Operating System Updates | |
| US11921496B2 (en) | Information processing apparatus, information processing method and computer readable medium | |
| WO2016188149A1 (en) | Code change amount calculation method and device thereof | |
| CN107562419B (en) | Software development support method and system | |
| CN111708557A (en) | Method, device and storage medium for updating configuration file | |
| EP4538939A1 (en) | Model management device, model management system, and model management method | |
| US9513873B2 (en) | Computer-assisted release planning | |
| JP6141563B2 (en) | Software management apparatus and software management method | |
| CN105190546A (en) | Cost computation device, cost computation method, and computer-readable recording medium | |
| US12259852B2 (en) | Managing file revisions from multiple reviewers | |
| CN108829391B (en) | Method and system for identifying control in Fragment | |
| US9396239B2 (en) | Compiling method, storage medium and compiling apparatus | |
| JP6451417B2 (en) | Debug support device, debug support system, debug support method, and debug support program | |
| CN111610999A (en) | Checking method, checking device, computer equipment and storage medium | |
| JP2016143134A (en) | Relevant information distribution method, relevant information distribution system and relevant information distribution program | |
| CN113703753A (en) | Method and device for product development and product development system | |
| US10872019B2 (en) | Load and save recovery partition using mobile device | |
| EP3346642A1 (en) | Method and device for managing network element model | |
| US20150082278A1 (en) | Clone detection method and clone function commonalizing method | |
| US20240160558A1 (en) | Automatic testing of interrelated components of a software application |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170302 |
|
| A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20170302 |
|
| A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20170314 |
|
| 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: 20170404 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170502 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6141563 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| LAPS | Cancellation because of no payment of annual fees |