@techreport{oai:ipsj.ixsq.nii.ac.jp:00203467, author = {石塚, 凌 and 津田, 直彦 and 鷲崎, 弘宜 and 深澤, 良彰 and 杉村, 俊輔 and 保田, 裕一朗 and Ryo, Ishizuka and Naohiko, Tsuda and Hironori, Washizaki and Yoshiaki, Fukazawa and Shunsuke, Sugimura and Yuichiro, Yasuda}, issue = {5}, month = {Feb}, note = {コードクローンはコピー&ペースト等によって生じる重複したコード片を指す.コードクローンはソフトウェアの修正漏れや規模の増大を引き起こすため,リファクタリングによってクローンを減らす事が重要である.しかし,既存のクローン検出ツールは大量にクローンを出力してしまうため,修正するべきクローンを開発者が特定するのが困難である.本研究では,修正するべきクローンの特定を支援するため,クローンの優先順位付け・可視化する手法を提案する.具体的には,まず「親クラスの抽出」や「メソッドの引き上げ」等の各リファクタリングパターンに見合うようにクローンをファイル単位・クラス単位等に集約する.そして,リファクタリングの効果やし易さを加味した複数のソフトウェアメトリクスを用いて,クローンやクローンを含むファイルの並び替えを行う.また,我々は提案手法を可視化するツールを作成し,提案手法によってどのようなコードクローンが得られるか調査した., Code clones are duplicated code fragments in software systems. Refactoring code clones is important because code clones cause software omission and a large method. However, existing code clone detection tools report a lot of code clones. So, it is hard for developers to identify code clones that should be modified. In this paper, we introduce a method to rank and visualize code clones to identify them that should be modified. Specifically, we integrate code clones per clone, per file, and per class to match refactoring patterns such as “Extract Super Class” and “Pull Up Method”. Next, we rank code clones and source files using software metrics taking into account the effect of refactoring. Then, we implement a tool that realizes our proposed method. Finally, we apply our method to one industrial software to investigate what type of code clones are extracted.}, title = {リファクタリング支援を目的としたコードクローンの優先順位付けと可視化}, year = {2020} }