この画面では、Sider Scan が「パターン分析」と呼んでいる分析手法を用いて重複コードペア間の記述パターンの不一致を検出します。記述パターンの不一致は、修正漏れであったり、コードの記述の一貫性のなさが原因であることが多いため、確認をお薦めします。

上図のパターン分析画面において
- 背景が白色の部分は重複コード
- 背景が灰色の部分はロジックが異なる部分
- ピンクでハイライトされた行と単語(word) が、パターンの不一致が検出された箇所
- 灰色でハイライトされた行と単語(word)が、パターンの不一致word が重複相手において対応するword
- 緑でハイライトされた行と単語(word) が、上記不一致word の根拠となるword 群
となります。
最初にSider Scan は、重複コードブロックの中に、ある決まったパターンを検出します。例えば、上記の例の場合、変数の型として、左でsize_t
を使っている箇所では、右でも必ずsize_t
である、というパターンを見つけます。このSider Scan が見つけた記述パターンが緑にハイライトされます。
次に、Sider Scan は、見つけた記述パターンに反する部分が無いか調べます。上記の例の場合、右のコードの17行目はsize_t
です。先程の緑でハイライトされた記述パターンのとおりであれば、左のコードの対応箇所もsize_t
であるはずですが、実際のコードはssize_t
と記述されています。このため、Sider Scan は、このssize_t
をパターンの不一致とみなして、ピンクにハイライトしています。
つまり、この画面の解釈としては、ピンクでハイライトされたssize_t
は、他の行の緑でハイライトされたword のパターンから類推すると、size_t
である可能性が高い、という意味になります。実際に、このssize_t
をsize_t
に修正する必要があるかどうかは、前後のソースコードやこの関数の呼び出し元等を精査しないとわかりませんが、一度確認しておく価値はあるでしょう。
その他、左右のコードのタイトル部にはソースコードのフルパスが表示されています。また、解析結果のE-mail に添付されている「CIサーバーで詳細を見る」ボタンを押せば、ブラウザ上で上下左右にスクロール出来たり、CTRL-F でテキスト検索が利用可能な詳細ビューワーを開くことができます。ご活用下さい。