CloneTracker 操作ガイド

株式会社Fixstars
v1.11

Copyright ©2024 Fixstars Corporation. All rights reserved.
1Version

発行日

改訂履歴

v1.0

2023年10月17日

初版発行

v1.1

2023年10月24日

判定アイコンの呼称、並びに指摘詳細画面の仕様一部変
更に伴い改訂v1.2

2023年11月13日

判定アイコンの詳細説明を追記

v1.11

2024年1月23日

指摘詳細画面の仕様一部変
更に伴い改訂Copyright ©2024 Fixstars Corporation. All rights reserved.
2

目次
1. 解析実行
2. 解析結果一覧の確認
3. 解析結果詳細の確認
3-1. CloneTracker専用Diff Viewerの説明
4. 管理除外設定
4-1. プロジェクト設定画面から解析除外設定を行う
4-2. 指摘詳細画面から解析除外設定を行う
5. 解析ログの確認
6. 指摘の共有方法
6-1. 共有ファイルの出力方法
6-2. JSONファイルの表示方法

Copyright ©2024 Fixstars Corporation. All rights reserved.
3

Copyright ©2024 Fixstars Corporation. All rights reserved.
4

1. 解析実行
プロジェクト登録後は、初回解析が自動実行されます。

初回解析では、gitのコミット履歴を参照し、過去のソースコードも解析されます。過去から現在に至るコピペコードの変遷を辿り、より正確に管理推奨のコピペコードを検出します。そのため、解析結果の一覧表示まで、数時間掛かる場合があります。
解析が完了すると解析結果が一覧表示され、検出されたコピペコードを閲覧することが出来ます。

初回解析以降は、10分おきに、最新のコミットに対して解析が実行されます。

Copyright ©2024 Fixstars Corporation. All rights reserved.
5

2. 解析結果一覧の確認
解析結果が一覧表示されたら、コピペグループ (CG) を確認しましょう。

コピペグループ (CG) には、以下の4種類に分類されます。
緑色のアイコン：
コピペコードが生成されてから一度も変更が入っていないコピペグループです。
今後も変更が入る可能性が低いことから管理する必要性は低いと考えられます。
黄色のアイコン：
一度でも該当するファイルに変更が入ったことがあるコピペコードグループです。
コピペグループ内のすべてのファイルに、同じコミットで修正が加えられており、変更忘れがないコピペコードグループを、黄色のアイコンで表示しています。
今後も同じ修正が入る可能性があることから気を付けて管理する必要があります。
赤色のアイコン：
解析した時点で、コピペコードに不整合の可能性があるコピペコードグループです。
コピペコードグループ内の特定のコピペコードのみ変更が加えられ、それ以外のコピペコードは変更忘れの可能性がある状態を、赤色のアイコンで表示しています。
このアイコンがついているコピペグループは、詳細画面をご確認頂き、修正を揃える必要があるかご確認下さい。
紫色のアイコン：
過去に不整合が発生した可能性のあるコピペコードグループです。
コピペコードグループ内に発生した変更忘れが統一され、不整合が解消された可能性のあるコピペコードグループを、紫色のアイコンで表示しています。

Copyright ©2024 Fixstars Corporation. All rights reserved.
6

コピペグループ (CG) のアイコンは、以下のように変化します。

解析結果一覧画面に表示される指摘一覧リストには、8つのカラムがあります。

①Star：
指摘一覧のリスト上位に表示するためのフラグです。
現在不整合？判定された指摘は自動的にスターが付きます。また、ユーザーが優先的に確認したい指摘があれば、手動でチェックします。
②判定：
コピペコードの変更履歴によるリスク評価の結果を、アイコンにて表示します。
③CG-ID：
コピペコードグループに振られる一意のIDです。

Copyright ©2024 Fixstars Corporation. All rights reserved.
7

④File：CT-IDに紐づいた、コピペコードが存在するファイル名を表示します。
⑤Line：
それぞれのファイル内のコピペコードが存在する行を表示します。
⑥コメント：
コピペグループに対してユーザーが記入したコメントを表示します。コメントの記入は、コピペグループの詳細画面から記入することができます。
⑦アーカイブ：
重要度の低い指摘については、アーカイブボタンをクリックします。指摘表示は残りますが、重要度低として、指摘一覧のリスト下部に表示されるようになります。
⑧ゴミ箱：
不要な指摘、若しくは管理対象から削除する必要があるコピペはゴミ箱ボタンをクリックしてください。指摘が削除されます。
それぞれのカラムでは昇順、降順にソートが出来たり、フィルタリングすることができます。これらの情報をもとに検出されたコピペコードを評価していきましょう。

3. 解析結果詳細の確認
検出結果の詳細は、解析結果一覧画面に表示されている指摘一覧リストの任意のレコードをクリックすると表示されます。

詳細画面には8つの情報が表示されています。

Copyright ©2024 Fixstars Corporation. All rights reserved.
8

①CG-ID：
最新の判定アイコンと、コピペコードグループに振られる一意のID、検出日を表示します。
②変更履歴：
コピペコードグループの過去の判定履歴を表示するエリアです。
表示されたアイコンをクリックすると、その判定時点のコードが⑤、⑥に表示されます。
③左右のコード詳細画面に表示するコピペコードのペア選択エリア：⑤、⑥に表示するコピペコードのペアを選択するエリアです。表示したいコピペコードのペアに対応する左端のラジオボタンを選択してください。選択したコピペコードのペアは、左右に表示しているファイル名に対応して、⑤、⑥のコード詳細画面に表示します。
④変更忘れの可能性があると判定した理由を表示：
このエリアでは、変更忘れの可能性がある指摘（赤アイコン、紫アイコンの指摘）のみ、変更忘れの可能性があると判定した理由をコメント表示します。詳細を確認するには「前コミットからの変更を表示する」をクリックしてください。CloneTracker専用のDiff Viewerにて、前コミットとの差分が表示されます。
⑤左側コピペコードの詳細画面：
コピペコードのペアのうち、片方のコピペコードを表示します。
グレーアウト部分は、右側表示のコードに対して完全一致のコード部分を指します。
赤いハイライト部分は、右側表示のコードに対して差異のあるコード部分を指します。
⑥右側コピペコードの詳細画面：
コピペコードのペアのうち、片方のコピペコードを表示します。
グレーアウト部分は、左側表示のコードに対して完全一致のコード部分を指します。
緑のハイライト部分は、左側表示のコードに対して差異のあるコード部分を指します。
⑦変更が加えられたファイルにつくマーク：
コピペコードグループ内で変更が加えられたファイルにマークがつきます。
⑧指摘に対する付加情報：
1. コメント：表示しているコピペコードに対してコメントを記入/表示するエリアです。
2. 共有：この指摘を出力して共有するためのボタンです。詳細は指摘の共有方法をご覧ください。
3. Star：指摘一覧のリスト上位に表示するためのフラグです。現在不整合？判定された指摘は自動的にスターが付きます。また、ユーザーが優先的に確認したい指摘があれば、手動でチェックしてください。
4. アーカイブボタン：閲覧している指摘の重要性が低いと思われる場合は、アーカイブボタンをクリックしてください。解析結果一覧画面の指摘一覧リスト下部に表示されるようになります。
5. 解析除外設定ボタン：特定のファイルやフォルダを管理対象から除外する場合、このボタンから設定を行います。詳細はこちらをご参照ください。
検出されたコピペコードを確認し、適切に対処しましょう。

Copyright ©2024 Fixstars Corporation. All rights reserved.
93-1. CloneTracker専用Diff Viewerの説明
CloneTrackerに搭載されているDiff Viewerでは、3種類の差分を表示することができます。
以下の指摘を事例として説明を進めていきます。
キャプチャ中央の赤枠内に、「左側のファイルは変更されていますが、右側のファイルは未変更のままです。変更忘れがないか確認してみて下さい。」と表示されています。
これは、CloneTrackerが、このコピペコードを変更忘れの可能性があると判定した理由です。

Copyright ©2024 Fixstars Corporation. All rights reserved.
10

1. ペアとなるコピペコードの最新の状態の差分判定理由の下部に、ソースコードが表示されています。この指摘では、画面左にB1.cppファイルの最新の状態、画面右にB2.cppファイルの最新の状態が表示され、それぞれ と で差分のある部分をハイライト表示しています。
このDiff画面では、現時点でどのような差分があるかを確認することが出来ます。

2. 変更が加えられたB1.cppファイルの変更前、変更後の差分
Copyright ©2024 Fixstars Corporation. All rights reserved.
11

「前コミットからの変更を表示する」ボタンをクリックすると、以下のように変更前、変更後の差分が表示されます。

ここでは、B1.cppファイルの変更内容、つまり、変更前の前コミットの記述（ if (j < 4) ）変更後の最新の状態の記述（ if (j < 6) ）が表示されています。
このDiff画面では、どこの行が、どのように変更されたかを確認することが出来ます。

3. 変更が加えられたB1.cppファイルの最新の状態のコピペコードと、変更が加えられていないB2.cppファイルの最新の状態のコピペコードの差分
Copyright ©2024 Fixstars Corporation. All rights reserved.
12ここでは、2のDiff画面で表示されているB1.cppファイルの変更前後の差分表示に加え、B2.cppファイルの最新の状態を表示しています。
つまり、「B1.cppファイルでは、10行目の j と比較する値を4から6に変更していますが、B2.cppファイルでは4のままになっています。変更する必要があるかご確認下さい。」という指摘ということになります。

4. 管理除外設定
CloneTrackerでは、特定のファイルやフォルダを管理対象から除外することができます。
テストコードやサンプルコード、古いバージョンのコードが含まれるファイルやフォルダを管理対象に含めてしまうと、無用なコピペコードの検出が増えてしまいます。適切な解析除外設定を行い、有益な解析結果を得られるようにしましょう。
管理対象除外設定は、プロジェクト登録時を除いて、2か所で行えます。

4-1. プロジェクト設定画面から解析除外設定を行う
解析結果一覧画面にあるプロジェクト設定ボタンをクリックしてください。

こちらがプロジェクト設定画面の解析除外設定を行う画面です。

Copyright ©2024 Fixstars Corporation. All rights reserved.
13解析除外設定の欄に除外したいファイルやフォルダをカンマで区切って記入してください。
記入例*xxxxx*.(カンマ)*yyyyy*.(カンマ)zzzzz※半角、全角スペースは不要です。

また、ワイルドカードなどの使用も可能です。書式はGit におけるファイル除外機能である“.gitignore” ファイルと同じです。詳しくはGitのマニュアルをご参照ください。
解析除外設定は、設定後の次の解析から反映されます。また、除外設定前に検出された除外対象への指摘についても、次の解析後に指摘一覧リストから消えます。

4-2. 指摘詳細画面から解析除外設定を行う
解析結果の詳細画面で設定する場合
1.解析除外ボタンをクリック

Copyright ©2024 Fixstars Corporation. All rights reserved.
14

2. モーダルウィンドウにて解析除外設定を登録①管理対象から除外するファイルまたはフォルダまでドリルダウンして、選択します。
②選択したファイル/フォルダを確認し、間違いなければ、登録ボタンをクリックして完了です。
解析除外設定は、設定後の次の解析から反映されます。また、除外設定前に検出された除外対象への指摘についても、次の解析後に指摘一覧リストから消えます。

Copyright ©2024 Fixstars Corporation. All rights reserved.
15

5. 解析ログの確認
解析結果一覧画面にある解析ログボタンをクリックしてください。

解析ログが表示されます。

解析ログ画面では、以下の情報を表示します。
①解析日
②解析時間
③解析の実行結果④ログを見るボタン⑤解析ログダウンロードボタン
ログを見るボタンをクリックすると、解析ログを表示します。

Copyright ©2024 Fixstars Corporation. All rights reserved.
16エラーが発生してしまった場合は、適切に対処を行うか、もしくは解析ログをダウンロードし、カスタマーサポートに問い合わせをお願いします。

6. 指摘の共有方法
開発メンバやテックリードなどに指摘詳細画面を共有したい場合、２種類の方法があります。１つ目は、表示しているコピペペアの指摘詳細画面をPDFファイルで出力する方法、２つ目は表示している指摘詳細画面を復元するJSONファイルを出力する方法です。

6-1. 指摘をファイルとして出力する方法
指摘をファイルとして出力するには以下の操作を行ってください。
１.共有したい指摘詳細画面を表示し、画面右上の「共有」ボタンをクリック

Copyright ©2024 Fixstars Corporation. All rights reserved.
17

２.ダイアログ画面が表示され、出力方法を選択

ここで出力したいファイル形式のボタンをクリックしてください。
保存場所を指定するエクスプローラ画面が表示され、保存することができます。

6-2. JSONファイルの表示方法
JSONファイルを表示するときは、CloneTrackerのメニューから行います。

Copyright ©2024 Fixstars Corporation. All rights reserved.
18

１.Fileボタンをクリック

2.「Open .json File…」ボタンをクリックします。

ダイアログ画面が表示されるので、「JSONファイルを開く」ボタンをクリックします。
エクスプローラ画面が表示されるので、復元したいJSONファイルを選択してください。

Copyright ©2024 Fixstars Corporation. All rights reserved.
19