返回
Enhancing code smell classification with code refactoring-based data augmentation
DOI:10.1007/s10115-026-02859-2.png)
摘要
En 中文
深度神经网络训练的主要挑战之一是需要稳健且多样化的数据源。为解决此限制,数据增强技术已成为一种有前景的解决方案,能够在不要求额外数据收集的情况下扩展训练数据集。本研究探讨了基于代码重构的增强效果以及增强数据量在改进深度学习系统中的代码异味分类中的作用。我们进行了基于规则和大型语言模型的增强与带有损失惩罚的神经网络算法数据平衡方法的比较分析。此外,开发了一种新颖的加权策略,以优化增强数据量的分布评估,减少计算开销同时保持分析精度。我们使用预训练的BERT、CodeBERT和GraphCodeBERT模型生成代码嵌入,并评估了它们在模型训练中的性能。研究发现,使用GraphCodeBERT和大型语言模型的基于代码重构的增强能提高模型性能,特别是在处理类别不平衡方面。数据量的影响因类别大小而异,在最初应用于少数类别的增强增量中观察到最大改进。相反,损失惩罚、BERT和CodeBERT基于的增强对整体性能的影响被证明是微不足道或在某些情况下有害的。这些结果强调了基于代码重构的增强在推动更高效数据增强策略发展方面的潜力,最终有助于代码异味分类任务及其他深度学习应用实现更好性能。
Keyword:
Code embedding
Data augmentation
Code smell
Code refactoring
Loss penalty
Weight factor
Classification
期刊
IF:
3.1
论文数:
582
被引数:
5.5K
机构
引用论文
On the Diffuseness of Code Technical Debt in Java Projects of the Apache Ecosystem关于Apache生态系统Java项目中代码技术债的弥散性
Actionable code smell identification with fusion learning of metrics and semantics基于度量与语义融合学习的可操作代码异味识别
VULGEN: Realistic Vulnerability Generation Via Pattern Mining and Deep LearningVULGEN:基于模式挖掘和深度学习的真实漏洞生成
Pathways to Leverage Transcompiler based Data Augmentation for Cross-Language Clone Detection利用基于Transcompiler的数据增强实现跨语言克隆检测的途径

