コードクローンが拡散する中で、その中に含まれるバグが拡散する様子を分析した論文。バグの拡散の脅威を知ることでコードクローンの影響がどのようなものであるかを知ることが出来る。 RQ1:それぞれのクローンタイプで、バグの拡散に関わりのあるクローンはどれだけの割合で存在するのか (バグ拡散/クローン) RQ2:それぞれのクローンタイプで、バグの拡散に関わりのあるものの内、バグの割合はどれほどのものか (バグ拡散/バグ修正) RQ3:どのようなパターンのバグの拡散がより驚異的なものか バグの拡散の2つのパターン パターン1:同時にクローンペアがコミットされた場合 パターン2:あるクローン片が先にコミットされ、そのクローン片のコピーが後でコミットされた場合 RQに対する分析結果 RQ1 バグ修正されたクローンの内、バグが拡散したのは33%であった。それぞれのクローンタイプの割合は、タイプ1は4.67%、タイプ2は12.82%、タイプ3は16.22%であった。バグの拡散の中でバグが修正されると、そのバグの拡散を含むクローン系譜はほとんどの変更が加えられることはなかった。クローンのほとんどはメソッド単位であった。 RQ2 バグ修正されたコミットの内、バグが拡散していたものは28.57%であった。この分析でもタイプ2、3のクローンの方がタイプ1よりも割合が高く、バグの拡散はニアミスのクローンの中で起こりやすいことが分かった。 RQ3 パターン2よりもパターン1の方が危険性が高い。パターン2では信頼性の高いコード片からクローンを生成していることによって、危険性が低くなったと思われる。 読んでみたい論文リスト [11] Bug Replication in Code Clones:An Empirical Study [20] CBCD: Cloned Buggy Code Detector [21] CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code 気になる用語 Cox hazard model