JP4976328B2 - Author determination apparatus, control method thereof, and program - Google Patents
Author determination apparatus, control method thereof, and program Download PDFInfo
- Publication number
- JP4976328B2 JP4976328B2 JP2008096072A JP2008096072A JP4976328B2 JP 4976328 B2 JP4976328 B2 JP 4976328B2 JP 2008096072 A JP2008096072 A JP 2008096072A JP 2008096072 A JP2008096072 A JP 2008096072A JP 4976328 B2 JP4976328 B2 JP 4976328B2
- Authority
- JP
- Japan
- Prior art keywords
- author
- file
- data
- folder
- identification information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Abstract
Description
本発明は、ドキュメントデータが記述されるデータの著者を決定するための技術に関するものである。 The present invention relates to a technique for determining an author of data in which document data is described.
近年、コンピュータシステムの開発において、大量のソースコードを多人数で記述することが行われている。そして、大量のソースコードを記述するような大規模開発を行う場合、プログラマを派遣会社等から受け入れることが一般的に行われている。 In recent years, a large amount of source code has been described by a large number of people in the development of computer systems. When large-scale development is performed such that a large amount of source code is written, it is common practice to accept a programmer from a dispatch company or the like.
しかし、派遣プログラマについては、派遣会社に派遣を依頼するにあたって必要なスキルを注文するものの、必ずしも望むスキルを持っているとは限らなかった。プログラムの品質を管理する意味で、プログラマの評価を行うことが試みられているが、そもそもプログラム等のドキュメントデータの著者の評価を行うには、先ず評価するドキュメントデータの著者を特定する必要がある。 However, for dispatch programmers, although they ordered the skills required to request dispatch from a dispatch company, they did not always have the skills they wanted. Attempts have been made to evaluate programmers in the sense of managing the quality of programs, but in order to evaluate the authors of document data such as programs, it is necessary to first identify the author of the document data to be evaluated. .
例えば一つのファイル内のドキュメントデータの著者が単独である場合には何ら問題はないが、ソースコード等、一つのファイル内のドキュメントを多人数で記述するような場合には当該ファイルの著者を特定することが困難な場合があるという問題があった。 For example, there is no problem if the author of the document data in one file is alone, but if the document in one file is described by many people, such as source code, the author of the file is specified. There was a problem that it might be difficult to do.
例えば、同一ファイルを複数のメンバが編集した場合に、最後にドキュメントデータを記述した人(最終コミッタ)を著者としてしまうと、メンバの実際の貢献、即ち最も多く記述した人が著者にならないことがある。 For example, when the same file is edited by multiple members, if the last person who wrote the document data (final committer) is the author, the actual contribution of the member, that is, the person who wrote the largest number may not be the author. is there.
リポジトリのフォルダ整理のためにファイルを移動した場合、当該ファイルを記述していないのにも関わらず、その移動を行った作業者が著者となってしまう。 When a file is moved for organizing a repository folder, the worker who moved the file becomes the author even though the file is not described.
ソースコード一行毎に著者を記録し、評価を集計して各著者の評価を行うことも考えられるが、現実的にはソースコードの評価を一行毎に行うのは困難である。 Although it is possible to record the author for each line of source code, and evaluate each author by collecting the evaluations, it is actually difficult to evaluate the source code line by line.
ソースコードの変更を行った場合の変更履歴を残すものとして、以下の技術が開示されている。特許文献1には、原始プログラムの改版履歴の作成を自動的に行うもので、編集操作や修正箇所、修正内容、修正日時等が記録されることが開示されている。
The following technique is disclosed as a change history when the source code is changed.
しかしながら、特許文献1に開示される発明では、修正内容については記録されるものの誰が記述したのか、誰が修正したのか等の著者に関しては考慮されていない。
However, in the invention disclosed in
そこで、リポジトリに記録されている著者とドキュメントデータそのものから、ファイル毎の著者を特定する手法が必要とされている。 Therefore, there is a need for a method for identifying the author for each file from the author recorded in the repository and the document data itself.
本発明の目的は、著者とドキュメントデータそのものからデータの著者を特定することにある。 An object of the present invention is to specify the author of data from the author and the document data itself.
本発明の著作決定装置は、データ内に記述される所定の単位のドキュメントデータ毎に著者の識別情報を付与する付与手段と、前記データに付与された著者の識別情報の割合を算出する算出手段と、前記算出手段により算出された識別情報の割合に基づいて、前記データの著者を決定する決定手段とを有することを特徴とする。
本発明の著者決定装置の制御方法は、付与手段と、算出手段と、決定手段とを有する著者決定装置の制御方法であって、前記付与手段が、データ内に記述される所定の単位のドキュメントデータ毎に著者の識別情報を付与する付与ステップと、前記算出手段が、前記データに付与された著者の識別情報の割合を算出する算出ステップと、前記決定手段が、前記算出ステップにより算出された識別情報の割合に基づいて、前記データの著者を決定する決定ステップとを含むことを特徴とする。
本発明のプログラムは、コンピュータを、データ内に記述される所定の単位のドキュメントデータ毎に著者の識別情報を付与する付与手段と、前記データに付与された著者の識別情報の割合を算出する算出手段と、前記算出手段により算出された識別情報の割合に基づいて、前記データの著者を決定する決定手段として機能させることを特徴とする。
The copyright determination apparatus according to the present invention includes a granting unit that grants author identification information to each predetermined unit of document data described in the data, and a calculation unit that calculates a ratio of the author identification information given to the data. And determining means for determining the author of the data based on the ratio of the identification information calculated by the calculating means.
The author determination apparatus control method of the present invention is an author determination apparatus control method comprising an adding means, a calculating means, and a determining means , wherein the assigning means is a document of a predetermined unit described in data. An assigning step of assigning author identification information for each data, a calculating step in which the calculating means calculates a ratio of author identifying information assigned to the data, and the determining means are calculated in the calculating step. And a determination step of determining an author of the data based on a ratio of identification information.
Program of the present invention, calculating computer, which calculates the assigning means for assigning identification information of the author for each predetermined unit of document data described in the data, the percentage of identity of the author given to the data and means, based on the percentage of the identification information calculated by the calculating means, characterized in that to function as a determining means for determining the author of the data.
本発明においては、データ内に記述される所定の単位のドキュメントデータ毎に著者の識別情報を付与し、付与された著者の識別情報の割合に基づいて、当該データの著者を決定するように構成している。従って、本発明によれば、著者とドキュメントデータそのものからデータの著者を特定することが可能となる。 In the present invention, the identification information of the author is assigned to each predetermined unit of document data described in the data, and the author of the data is determined based on the ratio of the identification information of the given author. is doing. Therefore, according to the present invention, it is possible to specify the author of the data from the author and the document data itself.
以下、本発明を適用した好適な実施形態を、添付図面を参照しながら詳細に説明する。 DESCRIPTION OF EXEMPLARY EMBODIMENTS Hereinafter, preferred embodiments to which the invention is applied will be described in detail with reference to the accompanying drawings.
図1は、本発明の実施形態に係るファイル著者決定システムの機能的な構成を示す図である。図1に示すように、ファイル著者決定システムは、ファイル著者決定装置100とファイル管理装置(リポジトリ)300とが備えられ、互いにLAN等の通信回線を介して接続される。
FIG. 1 is a diagram showing a functional configuration of a file author determination system according to an embodiment of the present invention. As shown in FIG. 1, the file author determination system includes a file
ファイル著者決定装置100は、その機能構成として、親ファイル判定部101、更新部分判定部102、著者ID付与部103、著者ID割合算出部104、ファイル著者決定部105及び評価部106を備える。
The file
親ファイル判定部101は、ファイルの更新又は新規登録があった場合、当該ファイルを生成する元となった親ファイルを判定する。
When there is a file update or new registration, the parent
更新部分判定部102は、親ファイルに記述されるソースコードと、当該親ファイルを基に生成されたファイル(子ファイル)に記述されるソースコードとの相違(更新部分)を判定する。
The update
著者ID付与部103は、親ファイルと子ファイルとの間で相違があると判定された場合、子ファイルにおける親ファイルと相違する部分のソースコードに、後述するファイル管理装置300における管理内容に基づいて著者のIDを付与する。一方、子ファイルにおける親ファイルと同一の部分のソースコードには、親ファイルの該当する部分のソースコードに付与されている著者のIDと同一のIDを付与する。なお、親ファイルが存在しない子ファイルについては、全ソースコードに対してファイル管理装置300における管理内容に基づいて著者のIDを付与される。
When it is determined that there is a difference between the parent file and the child file, the author
著者ID割合算出部104は、ファイル毎に、付与された著者のIDの割合を算出する。ファイル著者決定部105は、著者ID割合算出部104により算出された割合のうち、最も高い割合のIDの著者を該当するファイルの著者として決定する。また、子ファイルにおける親ファイルと相違する部分毎に重要性を判断し、判断した重要性に対応する重み付けを著者のIDに対して行った上で、著者のIDに付された重み付けの値を集計して著者を決定してもよい。例えば、フォーマットのための空行やコメント等、ソースコードに記述された処理の実行に影響しない部分を除外或いは重み付けを軽くすること等が挙げられる。
The author ID
評価部106は、所定の評価基準により各ファイルを評価し、それらの評価値をファイル著者決定部105によって決定された各ファイルの著者の評価値とする。
The
ファイル管理装置300は、著者によってソースコード(ドキュメントデータ)が記述された複数のファイル自体302を格納するとともに、それらのファイルが新規(追加)登録又は更新登録された日時とそれを行った著者のID(著者ID)とを管理するための管理テーブル301が格納されている。
The
図2は、ファイル著者決定装置100のハードウェア構成を示すブロック図である。CPU201は、システムバスに接続される各デバイスやコントローラを統括的に制御する。ROM203又はHD207には、CPU201の制御プログラムであるBIOS(Basic Input/Output System)やオペレーティングシステムプログラムや、ファイル著者決定装置100が実行する例えば図3及び図4に示す処理のプログラム等が記憶されている。
FIG. 2 is a block diagram illustrating a hardware configuration of the file
なお、図2の例では、ハードディスク(HD)207はファイル著者決定装置100の内部に配置された構成としているが、他の実施形態としてHD207に相当する構成がファイル著者決定装置100の外部に配置された構成としてもよい。本実施形態に係る例えば図3及び図4に示す処理を行うためのプログラムは、フレキシブルディスク(FD)206やCD−ROM等、コンピュータ読み取り可能な記録媒体に記録され、それらの記録媒体から供給される構成としてもよいし、インターネット等の通信媒体を介して供給される構成としてもよい。
In the example of FIG. 2, the hard disk (HD) 207 is configured to be disposed inside the file
RAM202は、CPU201の主メモリ、ワークエリア等として機能する。CPU201は、処理の実行に際して必要なプログラム等をRAM202にロードして、プログラムを実行することで各種動作を実現するものである。
The
ディスクコントローラ205は、HD207やFD206等の外部メモリへのアクセスを制御する。通信IFコントローラ204は、インターネットやLANと接続し、例えばTCP/IPによって外部との通信を制御するものである。
The
ディスプレイコントローラ208は、ディスプレイ209における画像表示を制御する。
The
KB(キーボード)コントローラ210は、キーボード(KB)211からの操作入力を受け付け、CPU201に対して送信する。なお、図示していないが、キーボード211の他に、マウス等のポインティングデバイスもユーザの操作手段として本実施形態に係るファイル著者決定装置100に適用可能である。
The KB (keyboard)
また、図1の親ファイル判定部101、更新部分判定部102、著者ID付与部103、著者ID割合算出部104、ファイル著者決定部105及び評価部106は、例えばHD207内に記憶され、必要に応じてRAM202にロードされるプログラム及びそれを実行するCPU201に相当する構成である。
Further, the parent
なお、本実施形態においては、図1に示すように、ファイル管理装置300をファイル著者決定装置100の外部に設置した構成としているが、ファイル管理装置300をファイル著者決定装置100の内部に配置してもよい。この場合、管理テーブル301及びファイル群302は、HD207内に格納されることになる。
In the present embodiment, as shown in FIG. 1, the
図3は、ファイル著者決定装置100によって実行される、対象ファイルを生成する元となった親ファイルを決定する処理を示すフローチャートである。本処理は、ファイル管理装置300において対象ファイルが更新登録又は新規登録され、ファイル管理装置300からその旨の通知を受けることにより開始される処理である。
FIG. 3 is a flowchart showing processing for determining a parent file that is a source for generating a target file, which is executed by the file
先ず、親ファイル判定部101は、ファイル管理装置300からの上記通知を受けると、その通知に示される対象ファイルが更新登録又は新規登録されたことを検知し、当該対象ファイルをファイル管理装置300から取得する(ステップS301)。
First, when the parent
続いて、親ファイル判定部101は、対象ファイルに近いファイルサイズのファイルや類似したファイル名のファイル等を親ファイルの候補として決定し、ファイル管理装置300から取得する(ステップS302)。本実施形態において、親ファイルの候補はファイル管理装置300にて管理される全てファイルを対象にして選択しているが、他の実施形態として、対象ファイルの更新日時から一定期間過去までの更新日時のファイルや、対象ファイルの更新日時に直近の更新日時のファイルだけを対象にして親ファイルの候補を選択してもよいし、対象ファイルと拡張子が同じファイルのみを対象にして親ファイルの候補を選択してもよい。このように親ファイルの候補の選択先を制限することによって、親ファイル判定部101の処理負荷を低減させることができる。
Subsequently, the parent
続いて、親ファイル判定部101は、親ファイルの候補夫々をトークンに分解するとともに、対象ファイルをトークンに分解する(ステップS303)。ここでいうトークンとは、ファイル内のソースコードの最小比較単位であり、本実施形態では、一行をトークンとしている。
Subsequently, the parent
続いて、親ファイル判定部101は、対象ファイルと各親ファイルの候補とを対応するトークン毎に比較し、互いが一致しているか否かを判定する(ステップS304)。即ち、ここでは一行毎に対象ファイルと各親ファイルの候補とソースコードが一致しているか否かを判定している。
Subsequently, the parent
続いて、親ファイル判定部101は、親ファイルの候補群のうち最も一致したトークンが多く、且つ一致したトークン数が所定の閾値以上である親ファイルの候補を親ファイルとして決定する(ステップS305)。ここで決定された対象ファイルと親ファイル(親子関係)の対応付けは、ファイル著者決定装置100の内部(例えば、HD207)において管理される。
Subsequently, the parent
図4は、ファイル著者決定装置100によって実行される、対象ファイルの著者を決定する処理を示すフローチャートである。本処理は、ファイル管理装置300において対象ファイルが更新登録又は新規登録され、ファイル管理装置300からその旨の通知を受けることにより開始される処理であるが、図3に示す処理によって決定された対象ファイルと親ファイルとの対応付けも使用するため、厳密には図3に示す処理が終了した後に開始される処理である。
FIG. 4 is a flowchart showing processing for determining the author of the target file, which is executed by the file
先ず、更新部分判定部102は、ファイル管理装置300からの通知を受けると、その通知に示される対象ファイルが更新登録又は新規登録されたことを検知し、当該対象ファイルとその履歴ファイルとをファイル管理装置300から取得する(ステップS401)。ここでいう履歴ファイルとは、当該対象ファイルとその親ファイル、更にその親ファイルの親ファイル、・・・というように当該対象ファイルを生成する上で直接的又は間接的に使用された全てのファイルのことをいう。履歴ファイルは、ファイル著者決定装置100内部で管理されるファイル間の親子関係を示す対応付けを基に取得される。
First, upon receiving a notification from the
続いて、更新部分判定部102は、当該対象ファイルの履歴ファイルを取得できたか否かを判定する(ステップS402)。上記親子関係を示す対応付けが存在しなければ、当該対象ファイルの履歴ファイルを取得することができず、一方、上記親子関係を示す対応付けが存在すれば履歴ファイルを取得することができる。従って、ステップS402の処理は、上記親子関係を示す対応付けが存在するか否かの処理と同義である。
Subsequently, the update
履歴ファイルが取得できた場合、更新部分判定部102は、履歴ファイル内で未だ選択されていないファイルのうち最も過去のファイルを選択する(ステップS403)。この処理は、各履歴ファイルのヘッダ情報におけるファイルの更新/追加日時を参照することにより実現可能である。
When the history file can be acquired, the update
一方、履歴ファイルを取得することができなかった場合、著者ID付与部103は、ステップS401において取得されたファイルは対象ファイルのみであるため、当該対象ファイルをトークンに分解し(ステップS409)、各トークンに対して著者IDを付与する(ステップS410)。ここで、著者ID付与部103は、管理テーブル301を参照することにより、対象ファイルの各トークンに著者IDを付与するが、管理テーブル301においては当該対象ファイルについては一つの著者IDしか管理されておらず、当該一つの著者IDを全トークンに対して付与することになる。即ち、履歴ファイルが存在しない対象ファイルは、どのファイルも元とせずに作成されたファイルであるため、一つの著者IDしか付与されない。
On the other hand, when the history file cannot be acquired, the author
続いて、更新部分判定部102は、ステップS403で選択されたファイルが履歴ファイル内で最も過去のファイルであるか否かを判定する(ステップS404)。
Subsequently, the update
選択されたファイルが履歴ファイル内で最も過去のファイルである場合、著者ID付与部103は、上述したステップS409、S410を同様に当該ファイルに対して実行する。これも、当該ファイルには履歴ファイルが存在せず、どのファイルも元とせずに作成されたファイルだからである。
When the selected file is the oldest file in the history file, the author
一方、選択されたファイルが履歴ファイル内で最も過去のファイルではない場合、即ち、当該ファイルに親ファイルが存在する場合、更新部分判定部102は、当該親ファイルとともに当該ファイルをトークンに分解する(ステップS405)。
On the other hand, when the selected file is not the oldest file in the history file, that is, when the parent file exists in the file, the update
続いて、更新部分判定部102は、当該親ファイルと当該ファイル間をトークン毎に比較し、一致しているか否かを判定する(ステップS406)。
Subsequently, the update
著者ID付与部103は、当該親ファイルに対して一致していない当該ファイルのトークンに対し、管理テーブル301を参照して著者IDを付与する(ステップS407)。ここでは、著者ID付与部103は、当該ファイルのファイル名及びヘッダ情報の更新/追加日時に該当する管理テーブル301のレコードを参照し、そのレコード内の著者IDをステップS407において一致していないと判定されたトークンに対して付与する。なお、一致していると判定されたトークンに対しては当該親ファイルの該当するトークンと同一の著者IDが付与されることになる。
The author
続いて、著者ID付与部103は、ステップS403において選択されたファイルが対象ファイルであるか否かを判定する(ステップS408)。即ち、ステップS408では、著者IDを付与する対象となるファイルのうちの最後のファイルである対象ファイルに対して著者IDを付与したか否かを判定している。
Subsequently, the author
選択されたファイルが対象ファイルではない場合、処理はステップS403に戻る。即ち、図4の処理においては、履歴ファイルがない最も過去のファイルから対象ファイルまでの全てに著者IDを付与する処理がなされる。 If the selected file is not the target file, the process returns to step S403. That is, in the process of FIG. 4, a process of assigning an author ID to all the files from the oldest file having no history file to the target file is performed.
続いて、著者ID割合算出部104は、対象ファイルにおける各トークンに付与された著者IDの割合を求める(ステップS411)。
Subsequently, the author ID
続いて、ファイル著者決定部105は、ステップS411で求められた著者IDの割合のうち最も高い割合の著者IDの著者を対象ファイルの著者として決定する(ステップS412)。なお、上述した処理においては、対象ファイルの履歴ファイルを全て取得し、最も過去のファイルから順次著者IDを付与していき、最終的に対象ファイルの著者IDを付与する仕組みとなっている。他の実施形態として、対象ファイルの一つ前までの関連ファイルに付与された著者IDを全てファイル著者決定装置100側で登録しておき、対象ファイルの著者を決定する際には、ファイル著者決定装置100は対象ファイルの一つ前の親ファイルのみをファイル管理装置300から取得し、当該親ファイルと対象ファイルとをトークン毎に比較し、共通するトークンに対しては登録している著者IDを付与し、異なるトークンに対しては管理テーブル301に基づいて著者IDを付与するように構成してもよい。このようにすることで、著者IDの付与処理及び著者の決定処理の計算負荷を低減させることが可能となる。
Subsequently, the file
図5は、上述のようにして著者が決定されたファイルに対するソースコードの評価方法を具体的に説明するための図である。 FIG. 5 is a diagram for specifically explaining a source code evaluation method for a file whose author has been determined as described above.
ファイルに対してソースコードの評価を行う際、ファイルの可読性指数を用いる。図5には、ライン数が21、分岐数が6、入れ子の深さが4段のファイルが示されているので、図5に示すファイルの場合には、可読性指数は次の式1に示すように計算される。 When evaluating the source code for a file, the readability index of the file is used. FIG. 5 shows a file with 21 lines, 6 branches, and 4 levels of nesting, so in the case of the file shown in FIG. Is calculated as follows.
ファイルに記述されるソースコードは、ライン数、分岐数及び入れ子の深さが何れも多くなると、可読性が下がる。本実施形態においては、これらの指標を考慮して上記ファイルの可読性指数をファイル毎に算出している。上記の式では、ライン数、分岐数及び入れ子の深さが多い程、可読性指数は高い値となるため、ファイルの可読性指数が低いファイル程、可読性が高く、高い評価となる。 When the number of lines, the number of branches, and the depth of nesting increase, the readability of the source code described in the file decreases. In the present embodiment, the readability index of the file is calculated for each file in consideration of these indexes. In the above formula, the higher the number of lines, the number of branches, and the depth of nesting, the higher the readability index. Therefore, the lower the readability index of the file, the higher the readability and the higher the evaluation.
本実施形態では、このようにファイルの可読性指数をファイル毎に求めることにより、各ファイルの著者を評価することが可能となる。本実施形態では、ライン数、分岐数及び入れ子の全てを評価指標としているが、これらのうちの何れか一つ又は二つを評価指標としてもよい。また、バグになりやすいコードをツール等によって検出し、検出したコードの数を評価指標としてもよい。 In the present embodiment, the author of each file can be evaluated by obtaining the readability index of the file for each file in this way. In the present embodiment, the number of lines, the number of branches, and the nesting are all used as evaluation indexes, but any one or two of them may be used as evaluation indexes. Further, a code that is likely to become a bug may be detected by a tool or the like, and the number of detected codes may be used as an evaluation index.
図6は、少なくとも一つのファイルを含むフォルダの設計上の評価方法を説明するための図である。なお、フォルダの設計上の評価は不図示の評価部によって実行される処理である。 FIG. 6 is a diagram for explaining a design evaluation method for a folder including at least one file. The folder design evaluation is a process executed by an evaluation unit (not shown).
図6には、フォルダA〜Eが示されており、特にフォルダAにはファイルA〜Dが含まれているが、フォルダB〜EにもフォルダAと同様に幾つかのファイルが含まれている。また、フォルダ間には矢印で示されるフォルダの呼び出し関係がある。即ち、フォルダAは、フォルダEとの間で外部からの参照関係、フォルダBとの間で外部への参照関係がある。フォルダB、C及びDの間では循環参照関係がある。 FIG. 6 shows folders A to E. In particular, the folder A includes files A to D, but the folders B to E also include some files like the folder A. Yes. In addition, there is a folder calling relationship indicated by arrows between folders. That is, the folder A has an external reference relationship with the folder E and an external reference relationship with the folder B. There is a circular reference relationship between folders B, C, and D.
ここで、フォルダ間の参照関係が引き起こすフォルダ設計上の問題点について説明する。先ず、ファイルAを基準にして説明すると、外部からの参照関係(ここでは、フォルダEからの参照関係)及び外部への参照関係(ここでは、フォルダBへの参照関係)を極端に無くそうとすると、フォルダA内のファイル数の増加(フォルダの肥大化)やフォルダA内のファイルが他のフォルダのファイルとのソースコードの重複を引き起こす(問題点1)。 Here, a problem in folder design caused by a reference relationship between folders will be described. First, the description will be made based on the file A. The external reference relationship (here, the reference relationship from the folder E) and the external reference relationship (here, the reference relationship to the folder B) are extremely eliminated. Then, an increase in the number of files in folder A (folder enlargement) and files in folder A cause duplication of source code with files in other folders (problem 1).
その一方で、フォルダAから外部への参照関係(ここでは、フォルダBへの参照関係)が極端に多いと、フォルダAはフォルダBにおける変更の影響を受けやすくなる(問題点2)。また、外部からの参照関係(ここでは、フォルダEからの参照関係)が極端に多いと、フォルダAは変更をし辛くなる(問題点3)。 On the other hand, if the reference relationship from the folder A to the outside (here, the reference relationship to the folder B) is extremely large, the folder A is easily affected by the change in the folder B (problem 2). Also, if there are extremely many external reference relationships (here, reference relationships from folder E), folder A is difficult to change (problem 3).
次に、フォルダB、C、D間における循環参照関係に着目すると、フォルダ間に循環参照関係がある場合、各フォルダの再利用性が下がるという問題点がある(問題点4)。 Next, focusing on the circular reference relationship between the folders B, C, and D, there is a problem that the reusability of each folder is lowered when there is a circular reference relationship between the folders (problem 4).
以上の問題点1〜4から次の評価基準が挙げられる。即ち、問題点1〜3を考慮したフォルダの可読性指数と問題点4を考慮した循環参照関係にあるフォルダ数とである。フォルダの可読性指数とは、外部から参照されるフォルダ数と外部へ参照するフォルダ数との合算値と当該フォルダ(上記の例では、フォルダA)内のファイル数とを統合した値をパラメータとして求められる指数である。この指数は、外部から参照されるフォルダ数と外部へ参照するフォルダ数が少なすぎたり、多すぎたりする場合に高い値をとる。また、当該フォルダ内のファイル数が多い場合にも高い値をとる。従って、フォルダの可読性指数も低い値である程、高い評価値として扱われる。同じく、循環参照関係にあるフォルダ数が多い場合には当該フォルダの再利用性を下げるため、低い値である程、高い評価値として扱われる。なお、フォルダAの場合、循環参照関係にあるフォルダ数は0となる。
The following evaluation criteria are mentioned from the above problems 1-4. That is, the readability index of the folder considering the
以上のようにして各フォルダについてフォルダの可読性指数と循環参照関係にあるフォルダ数とを求めることにより、各フォルダの設計上での評価を行うことができるが、本実施形態では、各フォルダの著者を評価することが最終的な目的である。従って、各フォルダの著者を決定する必要がある。以下、その方法について説明する。 As described above, by calculating the readability index of the folder and the number of folders having a circular reference relationship for each folder, it is possible to perform evaluation on the design of each folder. In this embodiment, the author of each folder Is the ultimate goal. Therefore, it is necessary to determine the author of each folder. The method will be described below.
第1の方法として、図3及び図4のステップS407までの処理によって、フォルダ内における各ファイルのトークン(ここでは、一行)毎に著者を対応付ける。次に、当該フォルダ単位で、各ファイルのトークンに対応付けられた著者を集計し、最も数が多い著者を当該フォルダの著者として決定する。 As a first method, an author is associated with each token (here, one line) of each file in the folder by the processing up to step S407 in FIGS. Next, the authors associated with the tokens of each file are tabulated for each folder, and the author with the largest number is determined as the author of the folder.
第2の方法として、図3及び図4を用いて説明した方法により、フォルダ内における各ファイルのトークン(ここでは、一行)毎に著者を対応付け、更に各ファイルの著者を決定する。次に、当該フォルダ単位で、各ファイルについて決定された著者を集計し、最も数が多い著者を当該フォルダの著者として決定する。 As a second method, by the method described with reference to FIGS. 3 and 4, an author is associated with each token (here, one line) of each file in the folder, and the author of each file is determined. Next, the authors determined for each file are tabulated for each folder, and the author with the largest number is determined as the author of the folder.
上述した第1又は第2の方法によりフォルダの著者を決定し、該当するフォルダの設計上での評価値が当該著者の評価値として求められる。 An author of a folder is determined by the first or second method described above, and an evaluation value in designing the corresponding folder is obtained as an evaluation value of the author.
図7は、以上のようにして求められたファイル及びフォルダの各著者の評価値をテーブル形式にまとめた図である。図7に示す評価テーブルは、最終的な出力値としてディスプレイ209に表示される。 FIG. 7 is a table in which the evaluation values of the respective authors of the files and folders obtained as described above are summarized in a table format. The evaluation table shown in FIG. 7 is displayed on the display 209 as the final output value.
図7に示す例においては、メンバ5(menber_c_5)、メンバ7(menber_c_7)、メンバ7(menber_c_7)、メンバ9(menber_c_9)、メンバ10(menber_c_10)、メンバ11(menber_c_11)、メンバ12(menber_c_12)、メンバ17(menber_c_17)、メンバ18(menber_c_18)、メンバ20(menber_c_20)、メンバ27(menber_c_27)毎に、期間、ファイル総行数(A)、コピー行数(B)、(A)−(B)、ファイル可読性指数>300、循環フォルダ数及びフォルダ可読性指数が示されている。 In the example shown in FIG. 7, member 5 (menber_c_5), member 7 (menber_c_7), member 7 (menber_c_7), member 9 (menber_c_9), member 10 (menber_c_10), member 11 (menber_c_11), member 12 (menber_c_12), For each member 17 (menber_c_17), member 18 (menber_c_18), member 20 (menber_c_20), and member 27 (menber_c_27), the period, the total number of lines (A), the number of copied lines (B), (A)-(B) , File readability index> 300, number of circulating folders and folder readability index are shown.
期間とは、評価の対象となるファイル及びフォルダの更新/追加日時を限定した期間であり、ここに示される期間内に該当する更新/追加日時のファイル及びフォルダが評価の対象となっている。なお、フォルダの更新/追加日時は、当該フォルダの属性情報によって示されている。 The period is a period in which the update / addition date / time of the file and folder to be evaluated is limited, and the file / folder having the update / addition date / time corresponding to the period shown here is the object of evaluation. The update / addition date / time of the folder is indicated by the attribute information of the folder.
ファイル総行数(A)とは、上記期間に該当する各ファイルの行数の総数である。コピー行数(B)とは、上記ファイル総行数(A)のうちのコピーによって更新された行数である。コピー元のファイルは、従来のクローン検出アルゴリズムによって検出することができ、検出されたコピー元ファイルと対象となるファイルとを比較することによりコピーによって更新された行数を求めることが可能である。 The total number of lines (A) is the total number of lines in each file corresponding to the above period. The number of copied lines (B) is the number of lines updated by copying out of the total number of lines (A) in the file. The copy source file can be detected by a conventional clone detection algorithm, and the number of lines updated by copying can be obtained by comparing the detected copy source file with the target file.
(A)−(B)とは、ファイル総行数(A)からコピー行数(B)を差し引いた値である。本実施形態では、この値により示される行数をファイルの可読性指数の算出対象としている。 (A)-(B) is a value obtained by subtracting the copy line number (B) from the total file line number (A). In the present embodiment, the number of lines indicated by this value is the calculation target of the file readability index.
ファイル可読性指数とは、該当する著者のファイルの可読性指数である。循環フォルダ数とは、該当する著者のフォルダに対して循環参照関係にあるフォルダ数である。フォルダ可読性指数とは、該当する著者のフォルダの可読性指数である。 The file readability index is the readability index of the corresponding author's file. The number of circular folders is the number of folders that have a circular reference relationship with the corresponding author's folder. The folder readability index is the readability index of the corresponding author's folder.
図7の右3つの項目(ファイル可読性指数、循環フォルダ数、フォルダ可読性指数)が各著者の評価値となる。これらの各項目が低い値である程、該当する著者は評価の高いソースコードの記述、フォルダ設計を行っていることになる。 The three items on the right of FIG. 7 (file readability index, number of circulating folders, folder readability index) are the evaluation values of each author. The lower the value of each item, the more relevant the author is writing highly rated source code and folder design.
以上のように、本実施形態においては、ファイル内に記述される所定の単位のドキュメントデータ(ソースコード)毎に著者のIDを付与し、付与された著者のIDの割合に基づいて当該ファイルの著者を決定し、著者が決定された当該ファイルを評価するように構成している。従って、本実施形態によれば、著者とドキュメントデータそのものからファイルの著者を特定し、当該ファイルに記述されたドキュメントデータの評価を当該著者の評価として行うことが可能となる。なお、一ファイル毎に著者を決定するほかに、複数のファイル毎に著者を決定してもよい。また、ファイルもドキュメントデータ以外に画像データを含むものであってもよく、著者の決定単位となるデータは特に制限されるものではない。 As described above, in this embodiment, an author ID is assigned to each predetermined unit of document data (source code) described in the file, and the file ID is determined based on the ratio of the author ID assigned. The author is determined, and the author is configured to evaluate the determined file. Therefore, according to the present embodiment, it is possible to specify the author of a file from the author and the document data itself, and to evaluate the document data described in the file as the author's evaluation. In addition to determining the author for each file, the author may be determined for a plurality of files. Further, the file may include image data in addition to the document data, and the data that is the determination unit of the author is not particularly limited.
また、本実施形態においては、フォルダの著者を決定し、著者が決定された当該フォルダの設計上の評価を行うようにしているため、当該フォルダの設計上の評価を当該著者の評価として行うことが可能となる。 In this embodiment, since the author of a folder is determined and the design of the folder for which the author has been determined is evaluated, the design of the folder is evaluated as the evaluation of the author. Is possible.
100:ファイル著者決定装置
101:親ファイル判定部
102:更新部分判定部
103:著者ID付与部
104:著者ID割合算出部
105:ファイル著者決定部
106:評価部
300:ファイル管理装置
301:管理テーブル
302:ファイル群
DESCRIPTION OF SYMBOLS 100: File author determination apparatus 101: Parent file determination part 102: Update part determination part 103: Author ID provision part 104: Author ID ratio calculation part 105: File author determination part 106: Evaluation part 300: File management apparatus 301: Management table 302: File group
Claims (9)
前記データに付与された著者の識別情報の割合を算出する算出手段と、
前記算出手段により算出された識別情報の割合に基づいて、前記データの著者を決定する決定手段とを有することを特徴とする著者決定装置。 A granting unit for granting author identification information for each predetermined unit of document data described in the data;
A calculating means for calculating a ratio of author identification information given to the data;
An author determination apparatus comprising: a determination unit that determines an author of the data based on a ratio of identification information calculated by the calculation unit.
前記付与手段が、データ内に記述される所定の単位のドキュメントデータ毎に著者の識別情報を付与する付与ステップと、
前記算出手段が、前記データに付与された著者の識別情報の割合を算出する算出ステップと、
前記決定手段が、前記算出ステップにより算出された識別情報の割合に基づいて、前記データの著者を決定する決定ステップとを含むことを特徴とする著者決定装置の制御方法。 A method for controlling an author determination apparatus having an assigning means, a calculating means, and a determining means ,
It said applying means, and applying steps to impart identification information of author each predetermined unit of document data described in the data,
The calculating means, and calculating a percentage of identity of the author given to the data,
The author determination apparatus control method , wherein the determination means includes a determination step of determining an author of the data based on the ratio of the identification information calculated in the calculation step.
データ内に記述される所定の単位のドキュメントデータ毎に著者の識別情報を付与する付与手段と、
前記データに付与された著者の識別情報の割合を算出する算出手段と、
前記算出手段により算出された識別情報の割合に基づいて、前記データの著者を決定する決定手段として機能させるためのプログラム。 Computer
A granting unit for granting author identification information for each predetermined unit of document data described in the data;
A calculating means for calculating a ratio of author identification information given to the data;
Based on the ratio of the identification information calculated by said calculation means, a program to function as a determining means for determining the author of the data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096072A JP4976328B2 (en) | 2008-04-02 | 2008-04-02 | Author determination apparatus, control method thereof, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008096072A JP4976328B2 (en) | 2008-04-02 | 2008-04-02 | Author determination apparatus, control method thereof, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009251727A JP2009251727A (en) | 2009-10-29 |
JP4976328B2 true JP4976328B2 (en) | 2012-07-18 |
Family
ID=41312411
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008096072A Active JP4976328B2 (en) | 2008-04-02 | 2008-04-02 | Author determination apparatus, control method thereof, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4976328B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5728167B2 (en) * | 2010-05-12 | 2015-06-03 | キヤノン株式会社 | Information processing apparatus, control method therefor, and computer program |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH09319611A (en) * | 1996-05-28 | 1997-12-12 | Matsushita Electric Works Ltd | Program development supporter |
JP4434054B2 (en) * | 2005-03-22 | 2010-03-17 | 日本電気株式会社 | Software configuration management system, stub code management method, and program |
-
2008
- 2008-04-02 JP JP2008096072A patent/JP4976328B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2009251727A (en) | 2009-10-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9146735B2 (en) | Associating workflows with code sections in a document control system | |
US20160012225A1 (en) | System and method for the detection of malware | |
EP2472425A2 (en) | System and method for detecting unknown malware | |
JP2017224184A (en) | Machine learning device | |
WO2011122366A1 (en) | Access control program, system and method | |
CN102193810A (en) | Cross-module inlining candidate identification | |
CN114416667B (en) | Method and device for rapidly sharing network disk file, network disk and storage medium | |
US20040168068A1 (en) | Method and system for automated password generation | |
CA2844763A1 (en) | Method for propagating information between a building information model and a specification document | |
TWI711969B (en) | Computational accelerator system, method and non-transitory machine-readable medium for facilitating change management of works in a model-based system engineering (mbse) system | |
CN111709061A (en) | Automatic indoor article placement processing method, device and equipment and storage medium | |
US8086997B2 (en) | Detecting aspectual behavior in unified modeling language artifacts | |
JP2023017763A (en) | Automated control of distributed computing devices | |
JP5424062B2 (en) | Access control system, access control method, and storage medium | |
JP2006350399A (en) | Importance acquisition device, security-design support system, relevance acquisition device, and program | |
US20150199525A1 (en) | Operation target management apparatus and non-transitory computer readable medium | |
Paramonov et al. | Tacle: Learning constraints in tabular data | |
JP4976328B2 (en) | Author determination apparatus, control method thereof, and program | |
CN112925880A (en) | Information processing apparatus, storage medium, and information processing method | |
JP2006244177A (en) | Database device | |
JP2013077124A (en) | Software test case generation device | |
EP3968202A1 (en) | Customizable reinforcement of learning column placement in structural design | |
JP2002123516A (en) | System and method for evaluating web site and recording medium | |
JP7018356B2 (en) | Devices and methods to help you create programs using visual programming tools | |
JPH0850559A (en) | File memory protector |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120207 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120302 |
|
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: 20120327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120412 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4976328 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150420 Year of fee payment: 3 |
|
S803 | Written request for registration of cancellation of provisional registration |
Free format text: JAPANESE INTERMEDIATE CODE: R316803 |
|
R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
R370 | Written measure of declining of transfer procedure |
Free format text: JAPANESE INTERMEDIATE CODE: R370 |
|
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 |
|
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 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |