差分を含む類似メソッドの集約支援ツール

Autor: Goto, Akira, Yoshida, Norihiro, Ioka, Masakazu, Inoue, Katsuro
Jazyk: japonština
Rok vydání: 2012
Předmět:
Zdroj: ソフトウェアエンジニアリングシンポジウム2012論文集. 2012:1-6
Popis: ソースコード中で互いに一致または類似した部分を持つコード片のことをコードクローンと呼び,特にメソッド単位のコードクローンを類似メソッドという.もし,類似メソッドを持つメソッドに欠陥が含まれている場合,類似メソッドとなっている他のメソッドにも同様の欠陥が含まれている可能性が高く,それらを修正するのは大きなコストとなる.この問題の解決策として,類似メソッドの集約が有効であるが,類似メソッド間に差分が存在する場合,その集約は難しい.そこで,本研究では,リファクタリング作業者が選択した類似メソッド対に対して,その集約候補を提示することにより,作業を支援する手法を提案する.また,提案手法を統合開発環境Eclipseのプラグインとして実装した.実験では,オープンソースソフトウェア上の類似メソッド対に対して本手法を適用した.また,ツールによって提示された集約候補が開発者の考えに近いものであるかアンケート評価を行い,提案手法が有効であることを確認した.
A code fragment that has identical or similar code fragments is called code clone. Especially, method-base code clone is called similar method. If a similar method contains a defect, a developer needs to check all of similar methods for the same defect and it needs very high cost. Merging similar methods by refactoring is one of solutions to this problem. However, it is difficult for a developer to merge similar methods with differences. In this paper, we propose an approach that supports to merge similar methods with differences by providing candidates of merging similar methods given by a developer. The proposed approach has been implemented as a plugin of Eclipse. In the case study, we applied the proposed approach to actual similar methods in open source projects. We conducted questionnaire and then investigated the similarity between candidates derived by our tool and the intention of the developers. As a result of the investigation, we confirmed the effectiveness of the proposed approach.
Databáze: OpenAIRE