Tweet | |
K. Hotta, "A Refactoring Support for Form Template Method Using PDG-based Code Clone Detection," Master thesis, Osaka University, 2012. | |
ID | 177 |
分類 | 学位論文 |
タグ | code clone refactoring form template method program dependence graph software maintenance |
表題 (title) |
A Refactoring Support for Form Template Method Using PDG-based Code Clone Detection |
表題 (英文) |
|
著者名 (author) |
Keisuke Hotta |
英文著者名 (author) |
Keisuke Hotta |
キー (key) |
Keisuke Hotta |
学校名 (school) |
Osaka University |
出版社住所 (address) |
|
刊行月 (month) |
2 |
出版年 (year) |
2012 |
URL |
|
付加情報 (note) |
|
注釈 (annote) |
|
内容梗概 (abstract) |
Recently, code clones have received much attention. Code clones are defined as source code fragments that are identical or similar to each other. Code clones are introduced into software systems by various reasons such as copy-and-paste operations. It is generally said that the existences of code clones make software maintenance more difficult. This is because if we modify a code fragment, it is necessary to check its correspondents whether they need the same modifications simultaneously or not. To avoid negative effects of code clones, it is effective to remove code clones with refactoring. Refactoring is a technique to transform one representation form of source code to another without changing the external behavior of the subject systems. By applying refactoring techniques to code clones, we can merge them spreading across multiple source files into a single module. However, we need much effort to apply manual refactorings to them. Also, applying manual refactorings is a complicated task, so that human related errors easily occur. Consequently, techniques or tools for supporting refactoring activities are required.
There are some techniques to remove code clones. Applying “Form Template Method” is one of the techniques and one of the refactoring patterns. Form Template Method focuses on similar methods whose owner classes have the same base class. In this refactoring pattern, developers write an outline of the process into the base class and implement the details of the process in the derived classes. By applying Form Template Method refactoring, code clones existing in similar methods are merged into the base class. One of the advantages of using this pattern is that we can handle differences between target methods. Some researchers have proposed methods to support Form Template Method refactorings. However, they still have some issues. The issues are that they cannot handle trivial differences even though they have no impacts on the behavior of the program, and that they can support refactorings on only pairs of methods, which means they cannot support refactorings on groups consisting of three or more methods. This thesis proposes a new method for supporting Form Template Method applications to resolve all of these issues with program dependence graphs. |
論文電子ファイル | master-thesis.pdf (application/pdf) [一般閲覧可] |
BiBTeXエントリ |
@masterthesis{id177, title = {A Refactoring Support for Form Template Method using {PDG}-based Code Clone Detection}, author = {Keisuke Hotta}, school = {Osaka University}, month = {2}, year = {2012}, } |