返回
Graph neural network-based long method and blob code smell detection
DOI:10.1016/j.scico.2025.103284.png)
摘要
En 中文
代码异味(code smell)的概念最早于二十世纪九十年代末被提出,用于指代代码可能需要重构的信号。尽管代码异味不一定影响功能,但会阻碍程序的可理解性和未来可扩展性。因此,代码异味的精确检测已成为编码研究中的一个重要课题。然而,当前检测方法受限于数据集不平衡且与工业应用无关、代码中缺乏足够的结构和逻辑信息以及模型架构简单等问题。鉴于此,本文利用了与工业应用相关且数据充足的数据集,并开发了一种图神经网络(graph neural network)以更好地检测代码异味。首先,我们选择长方法(Long Method)和Blob作为研究对象,因为它们频繁出现且对软件可维护性产生影响。接着,我们设计了改进的模糊采样(fuzzy sampling)与focalloss相结合的方法,以解决数据不平衡问题。其次,为应对海量数据,我们提出了全局与局部注意力评分机制(global and local attention scoring mechanism),用于提取代码中的关键信息。再次,为设计专门针对代码抽象语法树(abstract syntax tree)的图神经网络,我们结合了欧几里得空间(Euclidean space)和非欧几里得空间。最后,我们将我们的方法与其他机器学习方法及深度学习方法进行了比较。结果表明,我们的方法在长方法(Long Method)和Blob检测上优于其他方法,这证明了我们提出的方法的有效性。
Keyword:
Code smell
Graph neural network
Class imbalance
Graph pooling
Hyperbolic space
AI总结
对已上传原文的论文进行重点信息的提取,主要内容包括:简要概述、研究摘要、背景介绍、关键亮点、图文解析、展望与总结。
期刊
IF:
19.3
论文数:
2.9K
被引数:
3.0W
机构
引用论文
GSDetector: a tool for automatic detection of bad smells in GRL goal modelsGSDetector:一种用于自动检测GRL目标模型中不良模式(bad smells)的工具
Comparing and experimenting machine learning techniques for code smell detection比较和实验用于代码气味检测的机器学习技术

