Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6141563B2 - Software management apparatus and software management method - Google Patents
[go: Go Back, main page]

JP6141563B2 - Software management apparatus and software management method - Google Patents

Software management apparatus and software management method Download PDF

Info

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
Application number
JP2017508942A
Other languages
Japanese (ja)
Other versions
JPWO2016157433A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP6141563B2 publication Critical patent/JP6141563B2/en
Publication of JPWO2016157433A1 publication Critical patent/JPWO2016157433A1/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements 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 Patent Documents 1 and 2).

特開2006−59276号公報JP 2006-59276 A 特開2010−186394号公報JP 2010-186394 A

ソースコードの改訂履歴に基づいてバグの原因を特定する方法を用いても、ソースコード量が多い大規模なソフトウェア開発においてはバグの原因を特定するためには時間がかかるという問題がある。   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 Patent Documents 1 and 2 are used, the reliability for each source file can be grasped. In other words, if the developer level is low, it can be determined that the reliability of the source file is low, and if a bug occurs, the source file with low reliability may be given priority to identify the cause of the bug. it can. However, even in such a case, as the amount of source code increases, it takes time to identify the cause of the bug, and it cannot be said that the cause of the bug is efficiently identified.

本発明は、このような問題を解決するためになされたものであり、バグの原因を効率的に特定することが可能なソフトウェア管理装置およびソフトウェア管理方法を提供することを目的とする。   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.

本発明の実施の形態1によるソフトウェア管理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the software management apparatus by Embodiment 1 of this invention. 本発明の実施の形態1によるソフトウェア管理装置におけるソフトウェア機能に対応するハードウェア構成の一例を示す図である。It is a figure which shows an example of the hardware constitutions corresponding to the software function in the software management apparatus by Embodiment 1 of this invention. 本発明の実施の形態1によるソフトウェア管理装置の構成の他の一例を示すブロック図である。It is a block diagram which shows another example of a structure of the software management apparatus by Embodiment 1 of this invention. 本発明の実施の形態1によるリビジョン情報データベースに格納されるリビジョン情報の一例を示す図である。It is a figure which shows an example of the revision information stored in the revision information database by Embodiment 1 of this invention. 本発明の実施の形態1による開発者レベルデータベースに格納される開発者レベルの一例を示す図である。It is a figure which shows an example of the developer level stored in the developer level database by Embodiment 1 of this invention. 本発明の実施の形態1によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 1 of this invention. 本発明の実施の形態1によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 1 of this invention. 本発明の実施の形態1による表示の一例を示す図である。It is a figure which shows an example of the display by Embodiment 1 of this invention. 本発明の実施の形態1による開発者レベルデータベースに格納される開発者レベルの一例を示す図である。It is a figure which shows an example of the developer level stored in the developer level database by Embodiment 1 of this invention. 本発明の実施の形態1によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 1 of this invention. 本発明の実施の形態1による開発者レベルデータベースに格納される開発者レベルの一例を示す図である。It is a figure which shows an example of the developer level stored in the developer level database by Embodiment 1 of this invention. 本発明の実施の形態2によるソフトウェア管理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the software management apparatus by Embodiment 2 of this invention. 本発明の実施の形態2による実行結果データベースに格納される実行結果の一例を示す図である。It is a figure which shows an example of the execution result stored in the execution result database by Embodiment 2 of this invention. 本発明の実施の形態2によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 2 of this invention. 本発明の実施の形態2によるリビジョン情報取得部が取得するリビジョン情報の一例を示す図である。It is a figure which shows an example of the revision information which the revision information acquisition part by Embodiment 2 of this invention acquires. 本発明の実施の形態2による実行結果データベースに格納されるリビジョン情報の一例を示す図である。It is a figure which shows an example of the revision information stored in the execution result database by Embodiment 2 of this invention. 本発明の実施の形態2による表示の一例を示す図である。It is a figure which shows an example of the display by Embodiment 2 of this invention. 本発明の実施の形態3によるソフトウェア管理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the software management apparatus by Embodiment 3 of this invention. 本発明の実施の形態3によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 3 of this invention. 本発明の実施の形態3によるリビジョン情報取得部が取得するリビジョン情報の一例を示す図である。It is a figure which shows an example of the revision information which the revision information acquisition part by Embodiment 3 of this invention acquires. 本発明の実施の形態3による実行結果データベースに格納される実行結果の一例を示す図である。It is a figure which shows an example of the execution result stored in the execution result database by Embodiment 3 of this invention. 本発明の実施の形態3による実行結果データベースに格納されるリビジョン情報の一例を示す図である。It is a figure which shows an example of the revision information stored in the execution result database by Embodiment 3 of this invention. 本発明の実施の形態3による評価後の開発者レベルの一例を示す図である。It is a figure which shows an example of the developer level after evaluation by Embodiment 3 of this invention. 本発明の実施の形態4によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 4 of this invention. 本発明の実施の形態4によるソフトウェア管理装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of the software management apparatus by Embodiment 4 of this invention. 本発明の実施の形態4によるソフトウェア管理装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of the software management apparatus by Embodiment 4 of this invention. 本発明の実施の形態4によるソフトウェア管理装置の動作を説明するための図である。It is a figure for demonstrating operation | movement of the software management apparatus by Embodiment 4 of this invention. 本発明の実施の形態5によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 5 of this invention. 本発明の実施の形態5によるリビジョン情報取得部が取得するリビジョン情報の一例を示す図である。It is a figure which shows an example of the revision information which the revision information acquisition part by Embodiment 5 of this invention acquires. 本発明の実施の形態5による実行結果データベースに格納される実行結果の一例を示す図である。It is a figure which shows an example of the execution result stored in the execution result database by Embodiment 5 of this invention. 本発明の実施の形態5による評価後の開発者レベルの一例を示す図である。It is a figure which shows an example of the developer level after evaluation by Embodiment 5 of this invention. 本発明の実施の形態6によるソフトウェア管理装置の構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the software management apparatus by Embodiment 6 of this invention. 本発明の実施の形態6によるソフトウェア管理装置の動作の一例を示すフローチャートである。It is a flowchart which shows an example of operation | movement of the software management apparatus by Embodiment 6 of this invention. 本発明の実施の形態6によるファイルの信頼度を説明するための図である。It is a figure for demonstrating the reliability of the file by Embodiment 6 of this invention. 本発明の実施の形態によるソフトウェア管理システムの構成の一例を示すブロック図である。It is a block diagram which shows an example of a structure of the software management system by embodiment of this invention. 本発明の実施の形態によるソフトウェア管理システムの構成の他の一例を示すブロック図である。It is a block diagram which shows another example of a structure of the software management system by embodiment of this invention.

本発明の実施の形態について、図面に基づいて以下に説明する。   Embodiments of the present invention will be described below with reference to the drawings.

<実施の形態1>
まず、本発明の実施の形態によるソフトウェア管理装置の構成について説明する。なお、本実施の形態においては、ソフトウェア管理装置単体で実現した場合について説明する。
<Embodiment 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 software management apparatus 1 according to the first embodiment of the present invention. FIG. 1 shows the minimum necessary components constituting the software management apparatus 1.

図1に示すように、ソフトウェア管理装置1は、少なくともリビジョン情報取得部2と、開発者レベル管理部3と、制御部4とを備えている。   As shown in FIG. 1, the software management apparatus 1 includes at least a revision information acquisition unit 2, a developer level management unit 3, and a control unit 4.

リビジョン情報取得部2は、ソースファイル内のソースコードの各行に対応するリビジョンと、ソースコードを改訂した改訂者とを含むリビジョン情報を取得する。   The revision information acquisition unit 2 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.

開発者レベル管理部3は、改訂者を含むソースコードの開発者のレベルを示す開発者レベルを管理し、リビジョン情報取得部2で取得されたリビジョン情報に含まれる改訂者に対応する開発者の開発者レベルを抽出する。   The developer level management unit 3 manages the developer level indicating the level of the developer of the source code including the revision, and the developer corresponding to the revision included in the revision information acquired by the revision information acquisition unit 2. Extract developer level.

制御部4は、リビジョン情報取得部2で取得されたリビジョン情報と、開発者レベル管理部3で抽出された開発者レベルとに基づいて、ソースコードの各行を開発者レベルに応じて区別して表示するように制御する。   Based on the revision information acquired by the revision information acquisition unit 2 and the developer level extracted by the developer level management unit 3, the control unit 4 distinguishes and displays each line of the source code according to the developer level. Control to do.

図2は、ソフトウェア管理装置1におけるソフトウェア機能に対応するハードウェア構成の一例を示す図である。   FIG. 2 is a diagram illustrating an example of a hardware configuration corresponding to a software function in the software management apparatus 1.

リビジョン情報取得部2、開発者レベル管理部3、および制御部4は、例えば図2のプロセッサ5がメモリ6等に記憶されたプログラムを実行することにより、当該プロセッサ5の機能として実現される。ただし、これらは、例えば複数のプロセッサ5が連携して実現されてもよい。   The revision information acquisition unit 2, developer level management unit 3, and control unit 4 are realized as functions of the processor 5 when the processor 5 of FIG. 2 executes a program stored in the memory 6 or the like, for example. However, these may be realized in cooperation with a plurality of processors 5, for example.

次に、図1のリビジョン情報取得部2、開発者レベル管理部3、および制御部4を含むソフトウェア管理装置1の他の構成について説明する。   Next, another configuration of the software management apparatus 1 including the revision information acquisition unit 2, the developer level management unit 3, and the control unit 4 in FIG. 1 will be described.

図3は、ソフトウェア管理装置7の構成の一例を示すブロック図である。   FIG. 3 is a block diagram illustrating an example of the configuration of the software management apparatus 7.

図3に示すように、ソフトウェア管理装置7は、リビジョン情報取得部2と、開発者レベル管理部3と、制御部4とを備えている。また、リビジョン情報取得部2はリビジョン情報データベース8に接続され、開発者レベル管理部3は開発者レベルデータベース9に接続され、制御部4は表示装置10に接続されている。   As shown in FIG. 3, the software management apparatus 7 includes a revision information acquisition unit 2, a developer level management unit 3, and a control unit 4. The revision information acquisition unit 2 is connected to the revision information database 8, the developer level management unit 3 is connected to the developer level database 9, and the control unit 4 is connected to the display device 10.

リビジョン情報データベース8は、例えば、ハードディスク(HDD:Hard Disk Drive)または半導体メモリなどの記憶装置から構成されており、バージョン管理ツール(本発明では、説明を分かりやすくするためリビジョン管理ツールと呼ぶこととする)によって管理されるリビジョン情報を格納している。図4は、リビジョン情報データベース8に格納されるリビジョン情報の一例を示す図である。図4に示すように、リビジョン情報は、ソースコード改訂情報とリビジョン対応情報とを含んでいる。   The revision information database 8 is composed of, for example, a storage device such as a hard disk (HDD) or a semiconductor memory, and is referred to as a version management tool (in the present invention, referred to as a revision management tool for easy understanding). Stores revision information managed by FIG. 4 is a diagram showing an example of revision information stored in the revision information database 8. As shown in FIG. 4, the revision information includes source code revision information and revision correspondence information.

ソースコード改訂情報は、ソースコードと、当該ソースコードを改訂したリビジョン番号とをソースコードの行ごとに対応付けている。ソースコード改訂情報によって、ソースコードの各行がどのリビジョンで改訂されたのかを判別することができる。リビジョン対応情報は、リビジョン番号と、コミッター(改訂者)名およびコミット日時(日時情報)等を含むコミットに関する情報であるコミット情報とを対応付けている。リビジョン管理ツールは、コミッターによって改訂されるごとにリビジョン情報の修正等を行う。   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 software management apparatus 7.

リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得する。ここで、対象ファイルとは、例えば、上述のソフトウェア開発における各工程でバグが生じた場合に当該バグの原因を特定する際に対象となるファイルのことをいい、または改訂者が既存のソースコードを改訂する際に対象となるファイルのことをいう。リビジョン情報取得部2は、取得したリビジョン情報を開発者レベル管理部3および制御部4の各々に出力する。   The revision information acquisition unit 2 acquires the revision information of the target file from the revision information database 8. Here, the target file means, for example, a file that becomes a target when the cause of the bug is identified when a bug occurs in each process in the above-mentioned software development, or the revision source has existing source code. Refers to the file that is subject to revision. The revision information acquisition unit 2 outputs the acquired revision information to each of the developer level management unit 3 and the control unit 4.

開発者レベルデータベース9は、例えば、ハードディスク(HDD:Hard Disk Drive)または半導体メモリなどの記憶装置から構成されており、ソフトウェアを開発する開発者のレベルである開発者レベルを格納している。図5は、開発者レベルデータベース9に格納される開発者レベルの一例を示す図である。図5に示すように、開発者レベルデータベース9では、開発者名と、当該開発者の開発者レベルとが対応付けて格納されている。開発者レベルは、種々の方法で設定される。例えば、開発者を適宜に評価して、人手によって(手動で)開発者レベルを設定する方法がある。また、例えば、開発者の勤務年数等に基づいて自動的に開発者レベルを設定する方法がある。   The developer level database 9 is composed of, for example, a storage device such as a hard disk drive (HDD) or a semiconductor memory, and stores a developer level which is a level of a developer who develops software. FIG. 5 is a diagram showing an example of the developer level stored in the developer level database 9. As shown in FIG. 5, in the developer level database 9, the developer name and the developer level of the developer are stored in association with each other. The developer level is set in various ways. For example, there is a method in which a developer is appropriately evaluated and the developer level is manually set (manually). Also, for example, there is a method of automatically setting the developer level based on the working years of the developer.

なお、開発者レベルデータベース9は、リビジョン情報データベース8に格納されているリビジョン情報に含まれるコミッターと同一である開発者の開発レベル、およびコミッター以外の開発者の開発者レベルを格納している。すなわち、開発者レベルデータベース9では、ソフトウェアの開発に関与し得る者を開発者とし、当該開発者の開発者レベルを格納している。   The developer level database 9 stores the development level of the developer that is the same as the committer included in the revision information stored in the revision information database 8 and the developer level of a developer other than the committer. That is, in the developer level database 9, a person who can be involved in software development is defined as a developer, and the developer level of the developer is stored.

開発者レベル管理部3は、リビジョン情報取得部2から入力されたリビジョン情報に基づいて、開発者レベルデータベース9から開発者レベルを抽出する。開発者レベル管理部3は、抽出した開発者レベルを制御部4に出力する。   The developer level management unit 3 extracts the developer level from the developer level database 9 based on the revision information input from the revision information acquisition unit 2. The developer level management unit 3 outputs the extracted developer level to the control unit 4.

制御部4は、リビジョン情報取得部2から入力されたリビジョン情報と、開発者レベル管理部3から入力された開発者レベルとに基づいて、対象ファイルにおけるソースコードの各行を開発者レベルに応じて区別して表示するように制御する。表示装置10は、制御部4の制御に従って、開発者レベルに応じて区別されたソースコードを表示する。   Based on the revision information input from the revision information acquisition unit 2 and the developer level input from the developer level management unit 3, the control unit 4 sets each line of the source code in the target file according to the developer level. Control the display so that it is distinguished. The display device 10 displays the source code distinguished according to the developer level according to the control of the control unit 4.

次に、本実施の形態1によるソフトウェア管理装置7の動作について説明する。なお、本文の例を用いた説明では、説明を分かりやすくするために1つのソースファイルに着目して動作を説明するが、本発明は複数のソースファイルに対しても適用可能である。   Next, the operation of the software management apparatus 7 according to the first embodiment will be described. In the description using the example in the text, the operation will be described by focusing on one source file for easy understanding of the description, but the present invention can also be applied to a plurality of source files.

図6は、ソフトウェア管理装置7の動作の一例を示すフローチャートである。なお、ステップS101の前において、リビジョン情報取得部2は、どのファイルを対象ファイルとしているのかを把握しているものとする。   FIG. 6 is a flowchart showing an example of the operation of the software management apparatus 7. Note that, prior to step S101, the revision information acquisition unit 2 knows which file is the target file.

ステップS101において、リビジョン情報取得部2は、リビジョン情報データベース8からリビジョン情報を取得する。具体的には、リビジョン情報取得部2は、例えば図4に示すようなソースコード改訂情報およびリビジョン対応情報を含むリビジョン情報をリビジョン情報データベース8から取得する。そして、リビジョン情報取得部2は、リビジョン対応情報を開発者レベル管理部3に出力し、ソースコード改訂情報およびリビジョン対応情報を制御部4に出力する。   In step S <b> 101, the revision information acquisition unit 2 acquires revision information from the revision information database 8. Specifically, the revision information acquisition unit 2 acquires, for example, revision information including source code revision information and revision correspondence information as shown in FIG. Then, the revision information acquisition unit 2 outputs the revision correspondence information to the developer level management unit 3 and outputs the source code revision information and the revision correspondence information to the control unit 4.

ステップS102において、開発者レベル管理部3は、リビジョン情報取得部2から入力されたリビジョン情報に含まれるリビジョン対応情報に基づいて、開発者レベルデータベース9から開発者レベルを取得する。   In step S102, the developer level management unit 3 acquires the developer level from the developer level database 9 based on the revision correspondence information included in the revision information input from the revision information acquisition unit 2.

ここで、ステップ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 level management unit 3.

ステップS202において、開発者レベル管理部3は、リビジョン情報取得部2から入力されたコミッター名に対応する開発者名を開発者レベルデータベース9から検索し、コミッター名と開発者名とが一致した場合に当該開発者の開発者レベルを開発者レベルデータベース9から抽出する。そして、開発者レベル管理部3は、抽出した開発者レベルを制御部4に出力する。   In step S202, the developer level management unit 3 searches the developer level database 9 for a developer name corresponding to the committer name input from the revision information acquisition unit 2, and the committer name matches the developer name. The developer level of the developer is extracted from the developer level database 9. Then, the developer level management unit 3 outputs the extracted developer level to the control unit 4.

例えば、リビジョン情報取得部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 information acquisition unit 2 to the developer level management unit 3, and the developer level shown in FIG. 5 is stored in the developer level database 9. In such a case, the developer level management unit 3 searches the developer level database 9 for the developer name “Tanaka” corresponding to the committer name “Tanaka” when the revision number is “5”, for example. The developer level “35” of “Tanaka” is extracted.

図6に戻り、ステップS103において、制御部4は、リビジョン情報取得部2から入力されたリビジョン情報と、開発者レベル管理部3から入力された開発者レベルとに基づいて、対象ファイルのソースコードの各行を開発者レベルに応じて区別して表示するように制御する。具体的には、制御部4は、例えば図8に示すように、ソースコードの各行を開発者のレベルに応じて色分けして表示するように制御する。表示装置10には、開発者レベルに応じて色分けされたソースコードの各行が表示される。   Returning to FIG. 6, in step S103, the control unit 4 determines the source code of the target file based on the revision information input from the revision information acquisition unit 2 and the developer level input from the developer level management unit 3. Control each line of to be displayed separately according to the developer level. Specifically, for example, as shown in FIG. 8, the control unit 4 performs control so that each line of the source code is displayed in different colors according to the level of the developer. The display device 10 displays each line of source code that is color-coded according to the developer level.

例えば、リビジョン情報取得部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 information acquisition unit 2 to the control unit 4, and the administrator level shown in FIG. 5 is input from the developer level management unit 3 to the control unit 4. Since the committer is “Sasaki” when the revision number is “1”, the control unit 4 sets the source code line of the revision number “1” in a color corresponding to the developer level “90” of “Sasaki”. Control to display. Similarly, the line of the source code with the revision number “5” is controlled to be displayed in a color corresponding to the developer level “35” of “Tanaka”. Control is performed so that the line of the source code of the revision number “3” is displayed in a color corresponding to the developer level “60” of “Suzuki”.

なお、ソースコードの各行を色分けして表示する方法として、例えば開発者レベルが勤務年数に基づいている場合は、開発者の勤務年数が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 (Modifications 1 and 2) of the first embodiment will be described.

<変形例1>
一般的に、開発者の開発レベルは、開発者の勤務年数の経過、または開発者の能力の向上に従って経時的に上がる。開発者レベルの向上を反映させるべく、開発者レベルデータベース9に格納されている開発者レベルも定期的に更新される。しかし、例えば図8に示すような表示を行う場合において、過去の開発者レベルが低いときに改訂したソースコードの行に対して、開発者レベルが過去の開発者レベルよりも上がった現在の開発者レベルに応じて色分けされてしまう(すなわち、改訂時の開発者レベルに応じた色分けができない)という問題がある。本変形例1は、このような問題を解決するものである。
<Modification 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 developer level database 9 is also periodically updated. However, for example, when the display as shown in FIG. 8 is performed, the current development in which the developer level is higher than the past developer level with respect to the revised source code line when the past developer level is low. There is a problem that the colors are classified according to the developer level (that is, the colors cannot be classified according to the developer level at the time of revision). The first modification solves such a problem.

図9は、開発者レベルデータベース9に格納される開発者レベルの一例を示す図である。   FIG. 9 is a diagram showing an example of the developer level stored in the developer level database 9.

図9に示すように、開発者レベルデータベース9では、更新ごとに開発者レベルの履歴を格納している。図9では、3回の更新(更新A,B,C)が行われたことを示している。また、各リビジョンとともに更新日時を示している。例えば、開発者「Tanaka」に注目すると、「Tanaka」の開発レベルは、更新Aのときは「35」、更新Bのときは「50」、更新Cのときは「80」であることが分かる。なお、開発者レベルの設定方法は、上述と同様である。   As shown in FIG. 9, the developer level database 9 stores a developer level history for each update. FIG. 9 shows that three updates (updates A, B, and C) have been performed. The update date and time are shown together with each revision. For example, paying attention to the developer “Tanaka”, it can be seen that the development level of “Tanaka” is “35” for update A, “50” for update B, and “80” for update C. . The developer level setting method is the same as described above.

図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 level management unit 3.

ステップS302において、開発者レベル管理部3は、リビジョン情報取得部2から入力されたコミッター名およびコミット日時に基づいて、開発者レベルを開発者レベルデータベースから抽出する。そして、開発者レベル管理部3は、抽出した開発者レベルを制御部4に出力する。   In step S302, the developer level management unit 3 extracts the developer level from the developer level database based on the committer name and the commit date and time input from the revision information acquisition unit 2. Then, the developer level management unit 3 outputs the extracted developer level to the control unit 4.

例えば、リビジョン情報取得部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 information acquisition unit 2 to the developer level management unit 3, and the developer level shown in FIG. 9 is stored in the developer level database 9. In such a case, the developer level management unit 3 searches the developer level database 9 for the developer name “Tanaka” corresponding to the committer name “Tanaka” at the revision number “5”, for example. Then, among the developers “Tanaka” in the respective updates A to C, the developer level “50” in the latest update B that is earlier than the commit date is extracted.

上記より、ソースコードの各行を改訂時の開発レベルに応じて色分けして表示することができる。   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つである場合について説明したが、これに限るものではない。例えば、開発者の能力は、プログラミング言語の種別ごとに変わる場合がある。このような場合を想定して、開発者レベルを複数の項目にしてもよい。
<Modification 2>
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 developer level database 9. In the example of FIG. 11, three items of “C / C ++ development level”, “Java (registered trademark) development level”, and “Cobol development level” are set for each developer.

上記より、開発者レベル管理部3は、例えば対象ファイルのソースコードのプログラミング言語がC/C++である場合は、「C/C++開発レベル」を開発者レベルとして抽出すればよい。すなわち、開発者レベル管理部3は、実状に合った開発者レベルを抽出することができる。   From the above, the developer level management unit 3 may extract “C / C ++ development level” as the developer level when the programming language of the source code of the target file is C / C ++, for example. That is, the developer level management unit 3 can extract a developer level that matches the actual situation.

以上のことから、本実施の形態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 revision information database 8 by the management of the revision management tool has been described. However, there is a revision management tool that manages revision information in which a source code and a revised revision number of the source code are not associated with each line of the source code. The revision information managed by the revision management tool does not include source code revision information as shown in FIG. In such a case, the revision information acquisition unit 2 acquires all the revision information of the target file from the revision information database 8, and generates source code revision information as shown in FIG. 4 based on the acquired revision information. May be.

リビジョン情報データベース8において、同姓のコミッターが複数存在する場合は、各コミッターを区別して格納する。開発者レベルデータベース9に格納される開発者名についても同様である。この場合、区別したコミッターと開発者名とを対応させる必要がある。   In the revision information database 8, when there are a plurality of committers having the same surname, the committers are stored separately. The same applies to the developer name stored in the developer level database 9. In this case, it is necessary to associate the committed committer with the developer name.

上記では、開発者レベルに応じてソースコードの各行を色分けして表示する場合について説明したが、これに限るものではない。開発者レベルが予め定められた閾値よりも低い場合は、対応するソースコードの行を太字等で強調したり、対応するソースコードの行が分かるような記号を付したりしてもよい。また、開発者レベルが予め定められた閾値よりも低いソースコードの行をリストアップしてもよい。   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によるソフトウェア管理装置の構成について説明する。
<Embodiment 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 software management apparatus 11 according to the second embodiment.

図12に示すように、本実施の形態2によるソフトウェア管理装置11は、実行結果管理部12およびソースコード抽出部13を備えることを特徴としている。実行結果管理部12は、実行結果データベース14に接続されている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。   As shown in FIG. 12, the software management apparatus 11 according to the second embodiment is characterized by including an execution result management unit 12 and a source code extraction unit 13. The execution result management unit 12 is connected to the execution result database 14. Since other configurations and operations are the same as those in the first embodiment, detailed description thereof is omitted here.

リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。ここで、本実施の形態2による対象ファイルの実行結果とは、ソフトウェア開発の各工程(例えば、ビルド工程、テスト工程)での実行の成否のことをいう。実行結果は、例えばビルド工程で用いられるビルドツール、またはテスト工程で用いられるテストツールからリビジョン情報取得部2に入力される。このとき、実行結果とリビジョン情報とは、プラグインで対応付けられてリビジョン情報取得部2に入力される。このように、リビジョン情報取得部2は、対象ファイルを実行した時に、その実行結果とリビジョン情報とを取得する。リビジョン情報取得部2は、取得したリビジョン情報を開発者レベル管理部3および制御部4に出力し、取得した実行結果とリビジョン情報とを実行結果管理部12に出力する。   The revision information acquisition unit 2 acquires the revision information of the target file from the revision information database 8 and acquires the execution result of the target file. Here, the execution result of the target file according to the second embodiment means success or failure of execution in each step of software development (for example, a build step and a test step). The execution result is input to the revision information acquisition unit 2 from, for example, a build tool used in the build process or a test tool used in the test process. At this time, the execution result and the revision information are input to the revision information acquisition unit 2 in association with each other by a plug-in. In this way, the revision information acquisition unit 2 acquires the execution result and revision information when the target file is executed. The revision information acquisition unit 2 outputs the acquired revision information to the developer level management unit 3 and the control unit 4, and outputs the acquired execution result and revision information to the execution result management unit 12.

実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。また、実行結果管理部12は、実行結果データベース14に格納しているリビジョン情報をソースコード抽出部13に出力する。   The execution result management unit 12 manages the execution result input from the revision information acquisition unit 2 and the revision information so as to be associated with each other and stored in the execution result database 14. Further, the execution result management unit 12 outputs the revision information stored in the execution result database 14 to the source code extraction unit 13.

実行結果データベース14は、例えば、ハードディスク(HDD:Hard Disk Drive)または半導体メモリなどの記憶装置から構成されており、実行結果管理部12の管理によって実行結果とリビジョン情報とを対応付けて格納している。図13は、実行結果データベース14に格納される実行結果の一例を示す図である。図13に示すように、実行結果データベース14では、実行したリビジョン番号ごとに、実行結果とリビジョン情報とを対応付けて格納している。例えば、リビジョン番号「1」およびリビジョン番号「5」の実行結果は「×(失敗)」であることを示しており、リビジョン番号「3」の実行結果は「○(成功)」であることを示している。   The execution result database 14 is composed of a storage device such as a hard disk drive (HDD) or a semiconductor memory, for example, and stores execution results and revision information in association with each other by management of the execution result management unit 12. Yes. FIG. 13 is a diagram illustrating an example of execution results stored in the execution result database 14. As shown in FIG. 13, the execution result database 14 stores an execution result and revision information in association with each executed revision number. For example, the execution result of the revision number “1” and the revision number “5” indicates “× (failure)”, and the execution result of the revision number “3” indicates “◯ (success)”. Show.

ソースコード抽出部13は、実行結果管理部12から入力されたリビジョン情報に基づいて、ソースコードの行を抽出する。ソースコード抽出部13は、抽出したソースコードの行を開発者レベル管理部3に出力する。   The source code extraction unit 13 extracts a line of source code based on the revision information input from the execution result management unit 12. The source code extraction unit 13 outputs the extracted source code line to the developer level management unit 3.

なお、実行結果管理部12およびソースコード抽出部13は、例えば図2のプロセッサ5がメモリ6等に記憶されたプログラムを実行することにより、当該プロセッサ5の機能として実現される。ただし、これらは、例えば複数のプロセッサ5が連携して実現されてもよい。   Note that the execution result management unit 12 and the source code extraction unit 13 are realized as functions of the processor 5 when the processor 5 of FIG. 2 executes a program stored in the memory 6 or the like, for example. However, these may be realized in cooperation with a plurality of processors 5, for example.

次に、本実施の形態2によるソフトウェア管理装置11の動作について説明する。   Next, the operation of the software management apparatus 11 according to the second embodiment will be described.

図14は、ソフトウェア管理装置11の動作の一例を示すフローチャートである。なお、図14のステップS406、ステップS408、およびステップS409は、図6のステップS102およびステップS103の各々に対応しているため、ここでは説明を省略する。   FIG. 14 is a flowchart illustrating an example of the operation of the software management apparatus 11. Note that step S406, step S408, and step S409 in FIG. 14 correspond to each of step S102 and step S103 in FIG.

ステップS401において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。例えば、リビジョン情報取得部2は、実行結果と、図15に示すソースコード改訂情報を含むリビジョン情報とを取得する。なお、図15では、ソースコードの現リビジョンのリビジョン番号が「5」であり、それよりも過去に改訂されたリビジョンも含むリビジョン番号「2」、「3」、「4」、「5」のリビジョンの改訂内容の影響を受けていることを示している。すなわち、リビジョン情報取得部2は、図15に示すソースコード改訂情報を含む対象ファイルのリビジョン情報と、その実行結果を取得する。   In step S401, the revision information acquisition unit 2 acquires the revision information of the target file from the revision information database 8, and acquires the execution result of the target file. For example, the revision information acquisition unit 2 acquires the execution result and revision information including the source code revision information shown in FIG. In FIG. 15, the revision number of the current revision of the source code is “5”, and revision numbers “2”, “3”, “4”, and “5” including revisions revised in the past are also included. Indicates that the revision is affected by the revision. That is, the revision information acquisition unit 2 acquires the revision information of the target file including the source code revision information shown in FIG. 15 and the execution result thereof.

ステップS402において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。図13の例では、実行結果データベース14には、リビジョン情報取得部2が今回取得したリビジョン番号「5」におけるリビジョン情報と実行結果とが格納されている。   In step S <b> 402, the execution result management unit 12 manages the execution result and the revision information input from the revision information acquisition unit 2 so as to be associated with each other and stored in the execution result database 14. In the example of FIG. 13, the execution result database 14 stores revision information and execution results for the revision number “5” acquired by the revision information acquisition unit 2 this time.

ステップS403において、実行結果管理部12は、今回の対象ファイルの実行結果が失敗であるか否かの判断を行う。実行結果が失敗である場合は、ステップS404に移行する。一方、実行結果が失敗でない(すなわち、実行結果が成功である)場合は、処理を終了する。図13の例では、今回の対象ファイル(リビジョン番号「5」)の実行結果は「×(失敗)」となっている。   In step S403, the execution result management unit 12 determines whether or not the execution result of the current target file is a failure. If the execution result is failure, the process proceeds to step S404. On the other hand, if the execution result is not a failure (that is, the execution result is a success), the process is terminated. In the example of FIG. 13, the execution result of the current target file (revision number “5”) is “× (failure)”.

ステップS404において、実行結果管理部12は、過去に実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されているか否かの判断を行う。実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されている場合は、ステップS405に移行する。一方、実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されていない場合は、ステップS408に移行して実施の形態1と同様の処理が行われる。ここで、親リビジョンとは、対象ファイルにおける過去のリビジョン(改訂)のことをいう。図13の例では、リビジョン番号「5」の親リビジョンはリビジョン番号「1」およびリビジョン番号「3」であり、リビジョン番号「3」のときの実行結果は「○(成功)」である。   In step S404, the execution result management unit 12 determines whether revision information of a parent revision whose execution result has been successful in the past has been stored in the execution result database 14. If the revision information of the parent revision whose execution result is successful is stored in the execution result database 14, the process proceeds to step S405. On the other hand, if the revision information of the parent revision whose execution result is successful is not stored in the execution result database 14, the process proceeds to step S408 and the same processing as in the first embodiment is performed. Here, the parent revision means a past revision (revision) in the target file. In the example of FIG. 13, the parent revision of the revision number “5” is the revision number “1” and the revision number “3”, and the execution result when the revision number is “3” is “◯ (success)”.

ステップS405において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去に成功した親リビジョンのうちの最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出してソースコード抽出部13に出力する。図13の例では、実行結果管理部12は、リビジョン番号「5」(今回のリビジョン)のリビジョン情報と、リビジョン番号「3」(過去に成功した最新の親リビジョン)のリビジョン情報とを実行結果データベース14から抽出してソースコード抽出部13に出力する。なお、図13に示すリビジョン番号「3」のリビジョン情報に含まれるソースコード改訂情報は、例えば図16に示すソースコード改訂情報である。   In step S405, the execution result management unit 12 extracts the revision information of the current revision and the revision information of the latest parent revision of the parent revisions that have been successful in the past from the execution result database 14, and the source code extraction unit 13 Output to. In the example of FIG. 13, the execution result management unit 12 executes the revision information of revision number “5” (current revision) and the revision information of revision number “3” (latest parent revision that was successful in the past). Extract from the database 14 and output to the source code extraction unit 13. Note that the source code revision information included in the revision information with the revision number “3” shown in FIG. 13 is the source code revision information shown in FIG. 16, for example.

ソースコード抽出部13は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去に成功した最新の親リビジョンのリビジョン情報との差分をとり、当該差分部分のソースコードの行を改訂したコミッターを特定する。例えば、リビジョン番号「5」(今回のリビジョン)のリビジョン情報と、リビジョン番号「3」(過去に成功した最新の親リビジョン)のリビジョン情報との差分をとると、当該差分部分はリビジョン番号「4」およびリビジョン番号「5」に対応するソースコードの行となる。そして、ビジョン番号「4」およびリビジョン番号「5」のときに改訂したコミッターを特定する。   The source code extraction unit 13 takes the difference between the revision information of the current revision input from the execution result management unit 12 and the revision information of the latest parent revision that has succeeded in the past, and obtains the source code line of the difference part. Identify the revised committer. For example, if the difference between the revision information of the revision number “5” (current revision) and the revision information of the revision number “3” (the latest parent revision that has succeeded in the past) is taken, the difference part is the revision number “4”. ”And the source code corresponding to the revision number“ 5 ”. Then, the revised committer is specified when the vision number is “4” and the revision number is “5”.

ステップS407において、制御部4は、リビジョン情報取得部2から入力されたリビジョン情報と、開発者レベル管理部3から入力された開発者レベルとに基づいて、対象ファイルのソースコードの各行をソースコード抽出部13で特定されたコミッターの開発者レベルに応じて区別して表示するように制御する。具体的には、制御部4は、例えば図17に示すように、リビジョン番号「4」およびリビジョン番号「5」に対応するソースコードの各行を開発者のレベルに応じて色分けして表示するように制御する。表示装置10には、開発者レベルに応じて色分けされたソースコードの各行が表示される。   In step S407, the control unit 4 converts each line of the source code of the target file into the source code based on the revision information input from the revision information acquisition unit 2 and the developer level input from the developer level management unit 3. Control is performed so as to distinguish and display according to the developer level of the committer specified by the extraction unit 13. Specifically, for example, as shown in FIG. 17, the control unit 4 displays each line of the source code corresponding to the revision number “4” and the revision number “5” in different colors according to the level of the developer. To control. The display device 10 displays each line of source code that is color-coded according to the developer level.

以上のことから、本実施の形態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によるソフトウェア管理装置の構成について説明する。
<Embodiment 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 software management apparatus 15 according to the third embodiment.

図18に示すように、本実施の形態3によるソフトウェア管理装置15は、実施の形態2によるソフトウェア管理装置11(図12参照)のソースコード抽出部13に代えて、開発者評価部16を備えることを特徴としている。その他の構成および動作は、実施の形態2と同様であるため、ここでは詳細な説明を省略する。   As shown in FIG. 18, the software management apparatus 15 according to the third embodiment includes a developer evaluation unit 16 instead of the source code extraction unit 13 of the software management apparatus 11 (see FIG. 12) according to the second embodiment. It is characterized by that. Since other configurations and operations are the same as those in the second embodiment, detailed description thereof is omitted here.

開発者評価部16は、実行結果管理部12から入力されたリビジョン情報に基づいて、開発者の評価を行う。具体的には、開発者評価部16は、開発者レベルを下げる開発者(コミッター)を特定し、当該開発者の開発者レベルを下げると判断する。   The developer evaluation unit 16 evaluates the developer based on the revision information input from the execution result management unit 12. Specifically, the developer evaluation unit 16 identifies a developer (commiter) that lowers the developer level, and determines to lower the developer level of the developer.

なお、開発者評価部16は、例えば図2のプロセッサ5がメモリ6等に記憶されたプログラムを実行することにより、当該プロセッサ5の機能として実現される。ただし、これらは、例えば複数のプロセッサ5が連携して実現されてもよい。   Note that the developer evaluation unit 16 is realized as a function of the processor 5 when the processor 5 of FIG. 2 executes a program stored in the memory 6 or the like, for example. However, these may be realized in cooperation with a plurality of processors 5, for example.

次に、本実施の形態3によるソフトウェア管理装置15の動作について説明する。   Next, the operation of the software management apparatus 15 according to the third embodiment will be described.

図19は、ソフトウェア管理装置15の動作の一例を示すフローチャートである。   FIG. 19 is a flowchart illustrating an example of the operation of the software management apparatus 15.

ステップS501において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。例えば、リビジョン情報取得部2は、実行結果と、図20に示すソースコード改訂情報を含むリビジョン情報とを取得する。なお、図20では、ソースコードの現リビジョンのリビジョン番号が「6」であり、それよりも過去に改訂されたリビジョンも含むリビジョン番号「2」、「3」、「4」、「6」のリビジョンの改訂内容の影響を受けていることを示している。すなわち、リビジョン情報取得部2は、図20に示すソースコードを有する対象ファイルのリビジョン情報と、その実行結果を取得する。   In step S501, the revision information acquisition unit 2 acquires the revision information of the target file from the revision information database 8, and acquires the execution result of the target file. For example, the revision information acquisition unit 2 acquires the execution result and revision information including the source code revision information shown in FIG. In FIG. 20, the revision number of the current revision of the source code is “6”, and revision numbers “2”, “3”, “4”, “6” including revisions revised in the past are also included. Indicates that the revision is affected by the revision. That is, the revision information acquisition unit 2 acquires the revision information of the target file having the source code shown in FIG. 20 and the execution result thereof.

ステップS502において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。例えば、図21に示すように、実行結果データベース14には、リビジョン情報取得部2が今回取得したリビジョン番号「6」におけるリビジョン情報と実行結果とが格納されている。   In step S502, the execution result management unit 12 manages the execution result input from the revision information acquisition unit 2 and the revision information so as to be associated with each other and stored in the execution result database 14. For example, as shown in FIG. 21, the execution result database 14 stores the revision information and the execution result for the revision number “6” acquired by the revision information acquisition unit 2 this time.

ステップS503において、実行結果管理部12は、今回の対象ファイルの実行結果が成功であるか否かの判断を行う。実行結果が成功である場合は、ステップS504に移行する。一方、実行結果が成功でない(すなわち、実行結果が失敗である)場合は、処理を終了する。図21の例では、今回の対象ファイル(リビジョン番号「6」)の実行結果は「○(成功)」となっている。   In step S503, the execution result management unit 12 determines whether or not the execution result of the current target file is successful. If the execution result is successful, the process proceeds to step S504. On the other hand, if the execution result is not successful (that is, the execution result is failure), the process is terminated. In the example of FIG. 21, the execution result of the current target file (revision number “6”) is “◯ (success)”.

ステップS504において、実行結果管理部12は、実行結果データベース14に格納されている最新の親リビジョンの実行結果が失敗であるか否かの判断を行う。最新の親リビジョンの実行結果が失敗である場合は、ステップS505に移行する。一方、最新の親リビジョンの実行結果が失敗でない(最新の親リビジョンンの実行結果が成功である、または親リビジョンが実行結果データベース14に格納されていない)場合は、処理を終了する。図21の例では、リビジョン番号「6」の親リビジョンはリビジョン番号「1」、リビジョン番号「3」、およびリビジョン番号「5」であり、リビジョン番号「1」およびリビジョン番号「5」のときの実行結果は「×(失敗)」である。   In step S504, the execution result management unit 12 determines whether or not the execution result of the latest parent revision stored in the execution result database 14 is a failure. When the execution result of the latest parent revision is unsuccessful, the process proceeds to step S505. On the other hand, if the execution result of the latest parent revision is not a failure (the execution result of the latest parent revision is successful, or the parent revision is not stored in the execution result database 14), the process ends. In the example of FIG. 21, the parent revision of the revision number “6” is the revision number “1”, the revision number “3”, and the revision number “5”, and the revision number “1” and the revision number “5”. The execution result is “× (failure)”.

ステップS505において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去に失敗した親リビジョンのうちの最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。図21の例では、実行結果管理部12は、リビジョン番号「6」(今回のリビジョン)のリビジョン情報と、リビジョン番号「5」(過去に失敗した最新の親リビジョン)のリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。なお、図21に示すリビジョン番号「5」のリビジョン情報に含まれるソースコード改訂情報は、図22に示すソースコード改訂情報であるものとする。   In step S505, the execution result management unit 12 extracts the revision information of the current revision and the revision information of the latest parent revision of the parent revisions that have failed in the past from the execution result database 14, and the developer evaluation unit 16 Output to. In the example of FIG. 21, the execution result management unit 12 executes the revision information of revision number “6” (current revision) and the revision information of revision number “5” (latest parent revision that failed in the past). Extracted from the database 14 and output to the developer evaluation unit 16. It is assumed that the source code revision information included in the revision information with the revision number “5” shown in FIG. 21 is the source code revision information shown in FIG.

開発者評価部16は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去に失敗した最新の親リビジョンのリビジョン情報との差分をとり、過去に失敗した最新の親リビジョンにおける当該差分部分に対応するリビジョンのコミッターを特定し、特定したコミッターの開発者レベルを下げると判断する。例えば、今回のリビジョンであるリビジョン番号「6」のリビジョン情報と、過去に失敗した最新の親リビジョンであるリビジョン番号「5」のリビジョン情報との差分をとると、当該差分部分は今回のリビジョンにおいてはリビジョン番号「6」に対応するソースコードの行となる(例では、過去に失敗した最新の親リビジョンから今回のリビジョンの間に改訂されたリビジョンがリビジョン番号「6」のリビジョンだけであるのでリビジョン番号「6」だけが対象となるが、過去に失敗した最新の親リビジョンから改訂されたリビジョンが複数ある場合は各リビジョンに対応するソースコードの行を対象とする)。過去に失敗した最新の親リビジョンにおいて、この行はリビジョン番号「5」のリビジョンに対応する(例では、過去に失敗した最新の親リビジョンのリビジョン番号と差分部分に対応するリビジョンのリビジョン番号が同一であるが異なる場合もあり得る)。これにより、バグがリビジョン番号「5」のリビジョンにより埋め込まれていたと推定できるので、開発者評価部16は、リビジョン情報よりリビジョン番号「5」において改訂したコミッターを特定し、当該コミッターの開発者レベルを下げると判断する。   The developer evaluation unit 16 takes the difference between the revision information of the current revision input from the execution result management unit 12 and the revision information of the latest parent revision that failed in the past, and in the latest parent revision that failed in the past The committer of the revision corresponding to the difference part is specified, and it is determined that the developer level of the specified committer is lowered. For example, if the difference between the revision information of revision number “6” that is the current revision and the revision information of revision number “5” that is the latest parent revision that failed in the past is taken, Is the line of the source code corresponding to the revision number “6” (in the example, the revision revised from the latest parent revision that failed in the past to the current revision is the revision with the revision number “6”). Only the revision number “6” is targeted, but when there are a plurality of revisions revised from the latest parent revision that failed in the past, the source code line corresponding to each revision is targeted). In the latest parent revision that failed in the past, this line corresponds to the revision with revision number “5” (in the example, the revision number of the latest parent revision that failed in the past is the same as the revision number corresponding to the difference part). But may be different). As a result, it can be estimated that the bug was embedded by the revision with the revision number “5”, so the developer evaluation unit 16 identifies the committer revised at the revision number “5” from the revision information, and the developer level of the committer Is determined to lower.

ステップS506において、開発者レベル管理部3は、開発者評価部16で特定されたコミッターに対応する開発者の開発者レベルを下げる。すなわち、開発者レベル管理部3は、開発者レベルデータベース9に格納されている開発者レベルの更新を行う。例えば、開発者レベルデータベース9に図5に示す開発者レベルが格納されている場合において、開発者レベル管理部3は、開発者評価部16で特定されたコミッター(ここでは「Tanaka」)の開発者レベルを「35」から「30」に下げる(図23参照)。なお、開発者レベルをどのように下げるのかについては、任意の方法で決定すればよい。   In step S <b> 506, the developer level management unit 3 lowers the developer level of the developer corresponding to the committer specified by the developer evaluation unit 16. That is, the developer level management unit 3 updates the developer level stored in the developer level database 9. For example, when the developer level shown in FIG. 5 is stored in the developer level database 9, the developer level management unit 3 develops the committer (here “Tanaka”) specified by the developer evaluation unit 16. The person level is lowered from “35” to “30” (see FIG. 23). How to lower the developer level may be determined by an arbitrary method.

以上のことから、本実施の形態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であるものとして説明する。
<Embodiment 4>
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 software management apparatus 15 shown in FIG.

図24は、本実施の形態4によるソフトウェア管理装置15の動作の一例を示すフローチャートである。   FIG. 24 is a flowchart showing an example of the operation of the software management apparatus 15 according to the fourth embodiment.

ステップS601において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。   In step S601, the revision information acquisition unit 2 acquires the revision information of the target file from the revision information database 8, and acquires the execution result of the target file.

ステップS602において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。   In step S602, the execution result management unit 12 manages the execution result input from the revision information acquisition unit 2 and the revision information so as to be associated with each other and stored in the execution result database 14.

ステップS603において、実行結果管理部12は、今回(第2のタイミング)の対象ファイルの実行結果が失敗であるか否かの判断を行う。実行結果が失敗である場合は、ステップS604に移行する。一方、実行結果が失敗でない(すなわち、実行結果が成功である)場合は、ステップS606に移行する。   In step S603, the execution result management unit 12 determines whether or not the execution result of the current file (second timing) is a failure. If the execution result is unsuccessful, the process proceeds to step S604. On the other hand, if the execution result is not a failure (that is, the execution result is a success), the process proceeds to step S606.

ステップS604において、実行結果管理部12は、過去(第1のタイミング)に実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されているか否かの判断を行う。実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されている場合は、ステップS605に移行する。一方、実行結果が成功である親リビジョンのリビジョン情報が実行結果データベース14に格納されていない場合は、処理を終了する。   In step S604, the execution result management unit 12 determines whether revision information of a parent revision whose execution result has been successful in the past (first timing) has been stored in the execution result database 14. When the revision information of the parent revision whose execution result is successful is stored in the execution result database 14, the process proceeds to step S605. On the other hand, if the revision information of the parent revision whose execution result is successful is not stored in the execution result database 14, the process ends.

ステップS605において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去に成功した親リビジョンのうちの最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。   In step S605, the execution result management unit 12 extracts the revision information of the current revision and the revision information of the latest parent revision among the parent revisions that have been successful in the past from the execution result database 14, and the developer evaluation unit 16 Output to.

開発者評価部16は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去に失敗した最新の親リビジョンのリビジョン情報との差分をとり、当該差分部分に対応するリビジョンをバグ原因候補リビジョン(第1のリビジョン)として記憶する。なお、バグ原因候補リビジョンは、開発者評価部16に記憶してもよく、他の記憶部(図示せず)に記憶してもよい。   The developer evaluation unit 16 takes the difference between the revision information of the current revision input from the execution result management unit 12 and the revision information of the latest parent revision that has failed in the past, and bugs the revision corresponding to the difference part. Stored as a cause candidate revision (first revision). The bug cause candidate revision may be stored in the developer evaluation unit 16 or may be stored in another storage unit (not shown).

例えば、図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 developer evaluation unit 16 sets the revision number “7” and the revision number “8” corresponding to the difference portion of each revision information as bug cause candidate revisions. FIG. 25 shows source code revision information executed when the revision number is “8”, and FIG. 26 shows source code revision information executed when the revision number is “6”.

ステップS606において、開発者評価部16は、バグ原因候補リビジョンが記憶されているか否かの判断を行う。バグ原因候補リビジョンが記憶されている場合は、ステップS607に移行する。一方、バグ原因候補リビジョンが記憶されていない場合は、処理を終了する。   In step S606, the developer evaluation unit 16 determines whether a bug cause candidate revision is stored. If the bug cause candidate revision is stored, the process proceeds to step S607. On the other hand, if no bug cause candidate revision is stored, the process is terminated.

ステップS607において、開発者評価部16は、過去に失敗した最新の親リビジョンのリビジョン情報と、今回(第3のタイミング)のリビジョン(第2のリビジョン)のリビジョン情報との差分をとり、当該差分部分にバグ原因候補リビジョンに対応するソースコードの行が含まれているか否かの判断を行う。バグ原因候補リビジョンに対応するソースコードの行が含まれている場合は、ステップS608に移行する。一方、バグ原因候補リビジョンに対応するソースコードの行が含まれていない場合は、処理を終了する。   In step S607, the developer evaluation unit 16 takes the difference between the revision information of the latest parent revision that has failed in the past and the revision information (second revision) of the current (third timing) and calculates the difference. It is determined whether the portion includes a line of source code corresponding to the bug cause candidate revision. If the source code line corresponding to the bug cause candidate revision is included, the process proceeds to step S608. On the other hand, if the source code line corresponding to the bug cause candidate revision is not included, the process ends.

ステップS608において、開発者評価部16は、バグ原因候補リビジョンに記憶されているリビジョンの内、当該差分部分のソースコードに改訂を行ったリビジョンのコミッターの開発レベルを下げると判断し、バグ原因候補リビジョンに対応するソースコードの行を今回改訂したコミッターの開発者レベルを上げると判断する。   In step S608, the developer evaluation unit 16 determines that the revision level of the committer of the revision in which the source code of the difference portion has been revised among the revisions stored in the bug cause candidate revision will be lowered, and the bug cause candidate. The source code line corresponding to the revision is decided to raise the developer level of the committer who revised this time.

例えば、図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 level management unit 3 changes the developer level of the developer corresponding to the committer specified by the developer evaluation unit 16. Specifically, the developer level management unit 3 develops a committer that revised the source code that caused the execution result to fail (the committer that was revised when the revision number was “7” in the example of FIG. 25). Lower the level Further, the developer level management unit 3 revises the committer that revised the source code that caused the execution result to be successful (resolved the past failure) (in the example of FIG. 27, the revision number is 9). Raise the developer level.

ステップ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であるものとして説明する。
<Embodiment 5>
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 execution result database 14. In the following description, it is assumed that the software management apparatus according to the fifth embodiment is the software management apparatus 15 shown in FIG.

図28は、本実施の形態5によるソフトウェア管理装置15の動作の一例を示すフローチャートである。   FIG. 28 is a flowchart showing an example of the operation of the software management apparatus 15 according to the fifth embodiment.

ステップS701において、リビジョン情報取得部2は、リビジョン情報データベース8から対象ファイルのリビジョン情報を取得するとともに、対象ファイルの実行結果を取得する。ここで、本実施の形態5における対象ファイルの実行結果とは、ソフトウェア開発における静的解析工程での実行結果のことであり、ソースコードのエラーまたは警告が生じている箇所(行)を指摘するものである。静的解析工程では、ソースコードがコーディングルール等に従っているか(コーディングルール等に反していないか)否かを判断しており、ソースコードがコーディングルール等に従っていない場合は、エラーまたは警告を示す実行結果がリビジョン情報取得部2に入力される。また、実行結果およびリビジョン情報は、プラグインで対応付けられてリビジョン情報取得部2に入力される。   In step S701, the revision information acquisition unit 2 acquires the revision information of the target file from the revision information database 8, and acquires the execution result of the target file. Here, the execution result of the target file in the fifth embodiment is an execution result in a static analysis process in software development, and points out a portion (line) where an error or warning of the source code occurs. Is. In the static analysis process, it is determined whether or not the source code conforms to the coding rule or the like (does not violate the coding rule or the like). If the source code does not conform to the coding rule or the like, the execution result indicating an error or warning Is input to the revision information acquisition unit 2. Further, the execution result and the revision information are input to the revision information acquisition unit 2 in association with the plug-in.

例えば、リビジョン情報取得部2は、実行結果と、図29に示すソースコード改訂情報を含むリビジョン情報とを取得する。なお、図29では、今回、リビジョン番号「6」のソースコードの行が改訂されたことを示している。すなわち、リビジョン情報取得部2は、図29に示すソースコード改訂情報を含む対象ファイルのリビジョン情報と、その実行結果を取得する。   For example, the revision information acquisition unit 2 acquires the execution result and revision information including the source code revision information shown in FIG. FIG. 29 shows that the line of the source code with the revision number “6” has been revised this time. That is, the revision information acquisition unit 2 acquires the revision information of the target file including the source code revision information shown in FIG. 29 and the execution result thereof.

ステップS702において、実行結果管理部12は、リビジョン情報取得部2から入力された実行結果とリビジョン情報とを対応付けて実行結果データベース14に格納するように管理する。例えば、図30に示すように、実行結果データベース14には、リビジョン情報取得部2が今回取得したリビジョン番号「6」のリビジョン情報と実行結果(図30では図示せず)が格納されている。   In step S <b> 702, the execution result management unit 12 manages the execution result input from the revision information acquisition unit 2 and the revision information so as to be associated with each other and stored in the execution result database 14. For example, as shown in FIG. 30, the execution result database 14 stores the revision information of the revision number “6” acquired by the revision information acquisition unit 2 this time and the execution result (not shown in FIG. 30).

ステップS703において、実行結果管理部12は、今回の対象ファイルの実行結果においてエラーまたは警告が生じている箇所があるか否かの判断を行う。エラーまたは警告が生じている箇所がある場合は、ステップS704に移行する。一方、エラーまたは警告が生じている箇所がない場合は、処理を終了する。   In step S703, the execution result management unit 12 determines whether or not there is a location where an error or warning has occurred in the execution result of the current target file. If there is a location where an error or warning has occurred, the process proceeds to step S704. On the other hand, if there is no error or warning, the process is terminated.

ステップS704において、実行結果管理部12は、今回のリビジョンのリビジョン情報と、過去の最新の親リビジョンのリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。図30の例では、実行結果管理部12は、リビジョン番号「6」(今回のリビジョン)のリビジョン情報と、リビジョン番号「5」のリビジョン情報とを実行結果データベース14から抽出して開発者評価部16に出力する。   In step S <b> 704, the execution result management unit 12 extracts the revision information of the current revision and the revision information of the latest parent revision in the past from the execution result database 14 and outputs them to the developer evaluation unit 16. In the example of FIG. 30, the execution result management unit 12 extracts revision information of revision number “6” (current revision) and revision information of revision number “5” from the execution result database 14, and developer evaluation unit 16 is output.

開発者評価部16は、実行結果管理部12から入力された今回のリビジョンのリビジョン情報と、過去の最新の親リビジョンのリビジョン情報との差分をとり、当該差分部分が静的解析によるエラーまたは警告の該当箇所である場合は、当該差分部分の静的解析によるエラーまたは警告の該当箇所を改訂したコミッターの開発者レベルを下げると判断する。図29の例では、リビジョン番号「6」が今回のリビジョンのリビジョン情報と過去の最新の親リビジョンのリビジョン情報との差分部分に該当し、リビジョン番号「6」に対応するソースコードにおいて、「=」の前後にスペースを入れなければならないコーディングルールに従っておらず、静的解析の実行結果においてエラーまたは警告の該当箇所になっている。よって、リビジョン情報よりリビジョン番号「6」のリビジョンのコミッターを特定し、当該コミッターの開発者レベルを下げると判断する。   The developer evaluation unit 16 takes the difference between the revision information of the current revision input from the execution result management unit 12 and the revision information of the latest parent revision in the past, and the difference part is an error or warning due to static analysis. If it is a corresponding part of the above, it is determined that the developer level of the committer that revised the relevant part of the error or warning due to the static analysis of the difference part will be lowered. In the example of FIG. 29, the revision number “6” corresponds to the difference between the revision information of the current revision and the revision information of the latest parent revision in the past, and in the source code corresponding to the revision number “6”, “= Does not follow the coding rules that must include a space before and after, and is an appropriate error or warning in the results of static analysis. Therefore, the revision committer with the revision number “6” is identified from the revision information, and it is determined that the developer level of the committer is to be lowered.

ステップS705において、開発者レベル管理部3は、開発者評価部16で特定されたコミッターに対応する開発者の開発者レベルを下げる。すなわち、開発者レベル管理部3は、開発者レベルデータベース9に格納されている開発者レベルの更新を行う。例えば、開発者レベルデータベース9に図5に示す開発者レベルが格納されている場合において、開発者レベル管理部3は、開発者評価部16で特定されたコミッター(ここでは「Sasaki」)の開発者レベルを「90」から「80」に下げる(図31参照)。   In step S705, the developer level management unit 3 lowers the developer level of the developer corresponding to the committer specified by the developer evaluation unit 16. That is, the developer level management unit 3 updates the developer level stored in the developer level database 9. For example, when the developer level shown in FIG. 5 is stored in the developer level database 9, the developer level management unit 3 develops the committer (here “Sasaki”) specified by the developer evaluation unit 16. The person level is lowered from “90” to “80” (see FIG. 31).

以上のことから、本実施の形態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によるソフトウェア管理装置の構成について説明する。
<Embodiment 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 software management apparatus 17 according to the sixth embodiment.

図32に示すように、本実施の形態6によるソフトウェア管理装置17は、ファイルレベル評価部18を備えることを特徴としている。その他の構成および動作は、実施の形態1と同様であるため、ここでは詳細な説明を省略する。   As shown in FIG. 32, the software management apparatus 17 according to the sixth embodiment is characterized by including a file level evaluation unit 18. Since other configurations and operations are the same as those in the first embodiment, detailed description thereof is omitted here.

ファイルレベル評価部18は、リビジョン情報取得部2から入力された対象ファイルのリビジョン情報と、開発者レベル管理部3から入力された対象ファイルに寄与する開発者レベルとに基づいて、ソースファイルおよびソフトウェアのうちの少なくとも1つのレベルを評価する。   Based on the revision information of the target file input from the revision information acquisition unit 2 and the developer level contributing to the target file input from the developer level management unit 3, the file level evaluation unit 18 Assess at least one of the levels.

次に、本実施の形態6によるソフトウェア管理装置17の動作について説明する。   Next, the operation of the software management apparatus 17 according to the sixth embodiment will be described.

図33は、ソフトウェア管理装置17の動作の一例を示すフローチャートである。なお、図33のステップS801およびステップS802は、図6のステップS101およびステップS102に対応しているため、ここでは説明を省略する。   FIG. 33 is a flowchart illustrating an example of the operation of the software management apparatus 17. Note that step S801 and step S802 in FIG. 33 correspond to step S101 and step S102 in FIG.

ステップS803において、ファイルレベル評価部18は、対象ファイルのレベルを評価する。具体的には、ファイルレベル評価部18は、リビジョン情報取得部2から入力された対象ファイルのリビジョン情報と、開発者レベル管理部3から入力された対象ファイルに寄与する開発者レベルとに基づいて、例えば図34に示すような、開発者レベルごとにソースコードの行数を集計する。そして、ファイルレベル評価部18は、対象ファイルのソースコードの全ての行に対して、予め定められた開発者レベル以上のコミッターが改訂したソースコードの行数の割合を算出し、算出した割合をファイルのレベルとする。ここで、予め定められた開発者レベルとは、ユーザが任意に設定したものである。   In step S803, the file level evaluation unit 18 evaluates the level of the target file. Specifically, the file level evaluation unit 18 is based on the revision information of the target file input from the revision information acquisition unit 2 and the developer level contributing to the target file input from the developer level management unit 3. For example, as shown in FIG. 34, the number of lines of the source code is totaled for each developer level. Then, the file level evaluation unit 18 calculates the ratio of the number of lines of the source code revised by the committer of the developer level or higher determined in advance for all lines of the source code of the target file, and calculates the calculated ratio. At the file level. Here, the predetermined developer level is arbitrarily set by the user.

ステップS804において、ファイルレベル評価部18は、対象ファイルを含む複数のファイルから一のソフトウェアが構成されているか否かの判断を行う。ソフトウェアが対象ファイルを含む複数のファイルから構成されている場合は、ステップS805に移行する。一方、ソフトウェアが対象ファイルを含む複数のファイルから構成されていない場合は、処理を終了する。   In step S804, the file level evaluation unit 18 determines whether one piece of software is configured from a plurality of files including the target file. If the software is composed of a plurality of files including the target file, the process proceeds to step S805. On the other hand, if the software is not composed of a plurality of files including the target file, the process is terminated.

ステップS805において、ファイルレベル評価部18は、ソフトウェアを構成する複数のファイルのレベルに基づいて、当該ソフトウェアのレベルを算出する。ソフトウェアのレベルは、例えば、各ファイルのレベルの平均としてもよい。なお、ステップS805の処理を行う場合は、ステップS803においてソフトウェアを構成する各ファイルのレベルが算出されている必要がある。   In step S805, the file level evaluation unit 18 calculates the level of the software based on the levels of a plurality of files constituting the software. The software level may be an average of the levels of each file, for example. Note that when performing the process of step S805, the level of each file constituting the software needs to be calculated in step S803.

以上のことから、本実施の形態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 display device 10 having the same function as the display device 10 shown in FIG. 3 on the user side and having the same function as the software management device 7 shown in FIG. A software management system can be constructed by providing elements. In addition, you may make it each component with which the server 19 is provided disperse | distributing to the server 19 and the display apparatus 10 suitably. The same applies to each component shown in FIGS.

また、他の一例として、ソフトウェア管理装置の機能をサーバおよび携帯通信端末に配置することができる。例えば、図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 display device 10 having the same function as the display device 10 shown in FIG. 3, and the server 20 has the revision information acquisition unit 2 and developer level management unit 3 shown in FIG. And a software management system can be constructed by providing the mobile communication terminal 21 with the control unit 4 shown in FIG. In addition, you may make it each component with which the server 20 and the portable communication terminal 21 are provided disperse | distributing to the display apparatus 10, the server 20, and the portable communication terminal 21 suitably. The same applies to each component shown in FIGS.

上記の構成とした場合であっても、上記の実施の形態と同様の効果が得られる。   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 information acquisition unit 2, developer level management unit 3, control unit 4, execution result management unit 12, source code extraction unit 13, developer evaluation Each of the unit 16 and the file level evaluation unit 18 is realized by the processor 5 of FIG. 2 operating according to a software program stored in the memory 6 or the like. However, instead of this, each of the revision information acquisition unit 2, the developer level management unit 3, the control unit 4, the execution result management unit 12, the source code extraction unit 13, the developer evaluation unit 16, and the file level evaluation unit 18 is provided. May be configured as hardware (for example, an arithmetic / processing circuit configured to perform a specific calculation or process on an electric signal). Further, both of the above may be mixed.

また、ソフトウェアのリビジョン情報取得部2、開発者レベル管理部3、制御部4、実行結果管理部12、ソースコード抽出部13、開発者評価部16、およびファイルレベル評価部18の各々と、ハードウェアのリビジョン情報取得部2、開発者レベル管理部3、制御部4、実行結果管理部12、ソースコード抽出部13、開発者評価部16、およびファイルレベル評価部18の各々とを組み合わせた概念として、「部」という語に代えて「処理回路」という語を用いることもできる。   Each of the software revision information acquisition unit 2, the developer level management unit 3, the control unit 4, the execution result management unit 12, the source code extraction unit 13, the developer evaluation unit 16, and the file level evaluation unit 18, A concept that combines the hardware revision information acquisition unit 2, the developer level management unit 3, the control unit 4, the execution result management unit 12, the source code extraction unit 13, the developer evaluation unit 16, and the file level evaluation unit 18. As an alternative, the word “processing circuit” can be used instead of the word “part”.

なお、本発明は、その発明の範囲内において、各実施の形態を自由に組み合わせたり、各実施の形態を適宜、変形、省略することが可能である。   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 SYMBOLS 1 Software management apparatus, 2 Revision information acquisition part, 3 Developer level management part, 4 Control part, 5 Processor, 6 Memory, 7 Software management apparatus, 8 Revision information database, 9 Developer level database, 10 Display apparatus, 11 Software Management device, 12 execution result management unit, 13 source code extraction unit, 14 execution result database, 15 software management device, 16 developer evaluation unit, 17 software management device, 18 file level evaluation unit, 19, 20 server, 21 mobile communication Terminal.

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.
前記開発者レベルは、予め定められたタイミングで更新されることを特徴とする、請求項1に記載のソフトウェア管理装置。   The software management apparatus according to claim 1, wherein the developer level is updated at a predetermined timing. 前記リビジョン情報は、前記改訂者が前記ソースコードを改訂した日時を示す日時情報を含み、
前記制御部は、前記ソースコードの各行を、前記日時情報に示される前記日時よりも過去でありかつ最新の前記予め定められたタイミングで更新された前記開発者レベルに応じて区別して表示するように制御することを特徴とする、請求項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:
前記開発者評価部は、前記第2のリビジョンにおいて前記第1のリビジョンで改訂された前記ソースコードの行をさらに改訂したと判断した場合は、前記第1のリビジョンで前記ソースコードの行を改訂した前記改訂者に対応する前記開発者の前記開発者レベルを下げる評価を行うことを特徴とする、請求項6に記載のソフトウェア管理装置。   If the developer evaluation unit determines that the source code line revised in the first revision has been revised in the second revision, the developer evaluation part revised the source code line in the first revision. The software management apparatus according to claim 6, wherein an evaluation for lowering the developer level of the developer corresponding to the revised person is performed. 前記開発者評価部は、前記第2のリビジョンにおいて前記第1のリビジョンで改訂した前記ソースコードの行をさらに改訂したと判断した場合は、前記第2のリビジョンで前記ソースコードの行を改訂した前記改訂者に対応する前記開発者の前記開発者レベルを上げる評価を行うことを特徴とする、請求項6に記載のソフトウェア管理装置。   If the developer evaluation unit determines that the source code line revised in the first revision is further revised in the second revision, the developer evaluation part revised the source code line in the second revision. The software management apparatus according to claim 6, wherein an evaluation for raising the developer level of the developer corresponding to the revision person is performed. 前記ソースコードの実行結果と、前記リビジョン情報取得部で取得された前記リビジョン情報とを対応付けて管理する実行結果管理部と、
前記実行結果管理部が今回の前記実行結果は失敗であると判断した場合において、当該今回の前記実行結果に対応する前記リビジョン情報と、前記実行結果管理部が管理する過去の最新の前記リビジョン情報との差分部分における前記ソースコードが静的解析によるエラーまたは警告の該当箇所である場合は、前記静的解析によるエラーまたは警告の該当箇所である前記ソースコードの行を改訂した前記改訂者に対応する前記開発者の前記開発者レベルを下げる評価を行う開発者評価部をさらに備えることを特徴とする、請求項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.
前記ソースコード全体に対する、予め定められた前記開発者レベル以上の前記改訂者が改訂した前記ソースコードの行数の割合に基づいて、前記ソースファイルのレベルを評価するファイルレベル評価部をさらに備えることを特徴とする、請求項1に記載のソフトウェア管理装置。   A file level evaluation unit that evaluates the level of the source file based on a ratio of the number of lines of the source code revised by the revamper of the developer level that is predetermined or higher with respect to the entire source code; The software management apparatus according to claim 1, wherein: 複数の前記ソースファイルから一のソフトウェアが構成される場合において、
前記ファイルレベル評価部は、各前記ソースファイルのレベルに基づいて、前記ソフトウェアのレベルを評価することを特徴とする、請求項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.
前記開発者レベル管理部は、プログラミング言語の種別ごとに前記開発者レベルを管理することを特徴とする、請求項1に記載のソフトウェア管理装置。   The software management apparatus according to claim 1, wherein the developer level management unit manages the developer level for each type of programming language. 前記開発者レベルは、手動で設定されることを特徴とする、請求項1に記載のソフトウェア管理装置。   The software management apparatus according to claim 1, wherein the developer level is manually set. 前記開発者レベルは、自動で設定されることを特徴とする、請求項1に記載のソフトウェア管理装置。   The software management apparatus according to claim 1, wherein the developer level is automatically set. ソースファイル内のソースコードの各行に対応するリビジョンと、前記ソースコードを改訂した改訂者とを含むリビジョン情報を取得し、
前記ソースコードの開発者のレベルを示す開発者レベルを管理し、前記取得した前記リビジョン情報に含まれる前記改訂者に対応する前記開発者の前記開発者レベルを抽出し、
前記取得した前記リビジョン情報と、前記抽出された前記開発者レベルとに基づいて、前記ソースコードの各行を前記開発者レベルに応じて区別して表示するように制御する、ソフトウェア管理方法。
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.
JP2017508942A 2015-03-31 2015-03-31 Software management apparatus and software management method Expired - Fee Related JP6141563B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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