five

Java code smell datasets

收藏
arXiv2024-12-18 更新2024-12-25 收录
下载链接:
http://arxiv.org/abs/2412.13801v1
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集由武汉大学计算机科学学院的研究团队从GitHub上挖掘的Java代码库构建而成,专门用于方法级代码异味检测。数据集包含两种广泛研究的方法级代码异味:复杂条件(Complex Conditional)和复杂方法(Complex Method)。数据集的创建过程结合了传统的启发式检测器和人工验证,确保了数据的高质量。该数据集主要用于评估参数高效微调(PEFT)方法在代码异味检测中的效果,旨在解决传统启发式方法和深度学习方法在代码异味检测中的不足。

This dataset is constructed from Java code repositories mined from GitHub by the research team of the School of Computer Science, Wuhan University, and is specifically designed for method-level code smell detection. The dataset includes two widely studied method-level code smells: Complex Conditional and Complex Method. The dataset's creation process combines traditional heuristic detectors and manual verification to ensure high data quality. This dataset is primarily used to evaluate the performance of Parameter-Efficient Fine-Tuning (PEFT) methods in code smell detection, aiming to address the shortcomings of traditional heuristic methods and deep learning methods in code smell detection.
提供机构:
武汉大学计算机科学学院
创建时间:
2024-12-18
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集的构建过程始于从GitHub上筛选出符合特定条件的Java代码库,包括创建时间、星标数量和代码行数等。随后,使用DesigniteJava工具检测潜在的代码异味,并通过CodeSplitJava工具将代码库中的方法分割成独立的文件。为了确保数据质量,研究人员对检测到的代码异味进行了手动验证,排除了误报和漏报的情况。最终,数据集被划分为训练集、验证集和测试集,比例为8:1:1,以确保数据分布的均衡性。
特点
该数据集专注于两种方法级别的代码异味:复杂条件(Complex Conditional)和复杂方法(Complex Method)。这些代码异味是软件开发中常见的质量问题,可能导致代码维护困难。数据集中的每个样本都经过严格的手动验证,确保了其高质量和准确性。此外,数据集的构建基于最新的GitHub项目,反映了当前软件开发实践中的真实情况。
使用方法
该数据集可用于训练和评估代码异味检测模型,特别是基于大语言模型(LLMs)和小语言模型(LMs)的检测方法。研究人员可以使用该数据集进行参数高效微调(PEFT)实验,比较不同微调方法在代码异味检测任务中的表现。此外,数据集还可用于研究低资源场景下的模型性能,以及不同超参数设置对检测效果的影响。通过该数据集,研究人员可以探索如何优化模型以提高代码异味检测的准确性和效率。
背景与挑战
背景概述
Java code smell datasets 是由武汉大学、新加坡管理大学等机构的研究人员于2024年创建的高质量数据集,旨在支持方法级代码异味检测的研究。代码异味(Code Smells)是指代码中存在的潜在不良实践,可能导致软件缺陷或维护问题。传统的代码异味检测方法依赖于启发式规则或机器学习技术,但这些方法在性能上存在不足。随着大语言模型(LLMs)在软件工程领域的广泛应用,参数高效微调(PEFT)方法成为了一种新的解决方案,能够在减少计算资源消耗的同时,提升模型在特定任务中的表现。该数据集的构建基于GitHub上的Java代码库,重点关注了两种常见的方法级代码异味:复杂条件(Complex Conditional)和复杂方法(Complex Method)。通过系统评估PEFT方法在小模型和大模型上的表现,该数据集为代码异味检测领域提供了新的研究视角和实践指导。
当前挑战
Java code smell datasets 面临的挑战主要包括两个方面。首先,代码异味检测本身具有较高的复杂性,尤其是复杂条件和复杂方法的识别,传统的启发式方法和机器学习模型在准确性和泛化能力上存在局限。尽管PEFT方法在减少计算资源消耗方面表现出色,但其在代码异味检测任务中的有效性尚未得到充分验证,尤其是在小模型和大模型之间的性能差异仍需进一步探索。其次,数据集的构建过程中也面临诸多挑战,例如如何从GitHub中筛选高质量的代码样本,如何通过手动验证确保数据集的准确性,以及如何在低资源场景下保持模型的性能。此外,不同PEFT方法在不同模型上的表现差异较大,如何选择最适合的微调方法也是一个重要的研究问题。这些挑战不仅影响了代码异味检测的准确性,也对模型的实用性和可扩展性提出了更高的要求。
常用场景
经典使用场景
Java code smell datasets 主要用于方法级别的代码异味检测,特别是在软件开发过程中识别和修复潜在的代码质量问题。这些数据集通过提供高质量的代码样本,帮助研究人员和开发者训练和评估机器学习模型,尤其是基于大语言模型(LLMs)的检测方法。通过使用这些数据集,研究人员能够系统地评估不同参数高效微调(PEFT)方法在代码异味检测任务中的表现,从而优化模型的性能。
实际应用
在实际应用中,Java code smell datasets 可以用于开发自动化代码异味检测工具,帮助开发者在编写代码时实时识别潜在的代码质量问题。通过结合大语言模型和参数高效微调方法,这些工具能够在开发过程中提供即时反馈,帮助开发者及时修复代码异味,从而提高代码的可维护性和可读性。此外,该数据集还可以用于企业内部的代码质量评估,帮助团队识别和修复长期存在的代码问题。
衍生相关工作
Java code smell datasets 衍生了许多相关的研究工作,特别是在代码异味检测和参数高效微调(PEFT)方法的结合领域。例如,基于该数据集的研究工作探索了不同PEFT方法(如提示微调、前缀微调、LoRA等)在代码异味检测中的表现,并提出了优化模型性能的策略。此外,该数据集还启发了跨语言代码异味检测的研究,推动了代码质量分析工具的发展。这些衍生工作进一步扩展了代码异味检测的应用场景,并为未来的研究提供了新的方向。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作