| Item type |
Symposium(1) |
| 公開日 |
2022-08-29 |
| タイトル |
|
|
タイトル |
Long Method Detection using Graph Convolutional Networks |
| タイトル |
|
|
言語 |
en |
|
タイトル |
Long Method Detection using Graph Convolutional Networks |
| 言語 |
|
|
言語 |
eng |
| キーワード |
|
|
主題Scheme |
Other |
|
主題 |
リファクタリング |
| 資源タイプ |
|
|
資源タイプ識別子 |
http://purl.org/coar/resource_type/c_5794 |
|
資源タイプ |
conference paper |
| 著者所属 |
|
|
|
Inner Mongolia Technology University |
| 著者所属 |
|
|
|
Waseda University |
| 著者所属(英) |
|
|
|
en |
|
|
Inner Mongolia Technology University |
| 著者所属(英) |
|
|
|
en |
|
|
Waseda University |
| 著者名 |
Hanyu, Zhang
Tomoji, Kishi
|
| 著者名(英) |
Hanyu, Zhang
Tomoji, Kishi
|
| 論文抄録 |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Code smell refers to the poor design or implementation that exists in software. Detecting and refactoring such problems could help improve the readability, maintainability, and reusability of software. Code smell detection has been a popular topic in software refactoring, and many detection approaches have been proposed. For the past of years, the approaches based on metrics or rules have been the leading way in code smell detection. However, using deep learning to detect code smells has attracted extensive attention in recent studies. Long Method is a code smell that frequently happens in software development, which refers to the complex method with multiple functions. In this paper, we focus on the code smell Long Method and pro-pose a graph-based deep learning approach to detect it. The key point of our approach is that we used the GCN(Graph Convolutional Network) to build a graph neural network for Long Method detection. To achieve this goal, we extend the PDG(Program Dependency Graph) into a Directed-Heterogeneous Graph to present the method program as the input graph of the GCN network. Moreover, to get substantial data samples for the deep learning task, we proposed a novel approach to gen-erate a large number of data samples automatically. Finally, to prove the validity of our approach, we compared our approach with the existing code smell detection approaches based on five groups of datasets manually reviewed. The evaluation result shows that our approach achieved a good performance in the Long Method detection. |
| 論文抄録(英) |
|
|
内容記述タイプ |
Other |
|
内容記述 |
Code smell refers to the poor design or implementation that exists in software. Detecting and refactoring such problems could help improve the readability, maintainability, and reusability of software. Code smell detection has been a popular topic in software refactoring, and many detection approaches have been proposed. For the past of years, the approaches based on metrics or rules have been the leading way in code smell detection. However, using deep learning to detect code smells has attracted extensive attention in recent studies. Long Method is a code smell that frequently happens in software development, which refers to the complex method with multiple functions. In this paper, we focus on the code smell Long Method and pro-pose a graph-based deep learning approach to detect it. The key point of our approach is that we used the GCN(Graph Convolutional Network) to build a graph neural network for Long Method detection. To achieve this goal, we extend the PDG(Program Dependency Graph) into a Directed-Heterogeneous Graph to present the method program as the input graph of the GCN network. Moreover, to get substantial data samples for the deep learning task, we proposed a novel approach to gen-erate a large number of data samples automatically. Finally, to prove the validity of our approach, we compared our approach with the existing code smell detection approaches based on five groups of datasets manually reviewed. The evaluation result shows that our approach achieved a good performance in the Long Method detection. |
| 書誌情報 |
ソフトウェアエンジニアリングシンポジウム2022論文集
巻 2022,
p. 99-107,
発行日 2022-08-29
|
| 出版者 |
|
|
言語 |
ja |
|
出版者 |
情報処理学会 |