five

Multilingual Code Smell Dataset

收藏
arXiv2025-04-23 更新2025-04-24 收录
下载链接:
https://github.com/SadikAhmed/MultilingualCodeSmellDataset, https://zenodo.org/record/SadikAhmed
下载链接
链接失效反馈
官方服务:
资源简介:
本研究创建了一个多语言代码气味数据集,包含Java、Python、JavaScript和C++四种编程语言的一致实现。该数据集是一个通用的餐厅管理系统实现,旨在为不同编程语言之间的比较提供基础。数据集在GitHub和Zenodo上可用,包含了关于类、方法和属性的数量以及检测到的代码气味的热力图,用于评估大型语言模型在代码气味检测方面的性能。

This study constructs a multilingual code smell dataset featuring consistent implementations across four programming languages: Java, Python, JavaScript, and C++. This dataset corresponds to an implementation of a generic restaurant management system, designed to serve as a benchmark for cross-programming-language comparisons. The dataset is available on both GitHub and Zenodo, and includes heatmaps of the counts of classes, methods, and attributes as well as detected code smells, which are used to evaluate the performance of large language models (LLMs) in code smell detection tasks.
提供机构:
Honda Research Institute Europe
创建时间:
2025-04-23
搜集汇总
数据集介绍
main_image_url
构建方式
该数据集构建于一个多语言代码气味检测的研究背景下,旨在评估大型语言模型(LLMs)在识别代码气味方面的有效性。数据集包含四种主流编程语言(Java、Python、JavaScript和C++)的代码样本,这些样本均经过人工标注,标记了已知的代码气味。研究团队通过实现一个餐厅管理系统的通用案例,在不同语言中保持设计一致性,从而确保跨语言比较的可行性。数据集的构建过程包括代码编写、气味标注、以及软件指标的收集,最终通过热图等形式可视化展示各类代码气味和软件指标的分布情况。
特点
该数据集的主要特点在于其多语言覆盖和标准化的设计实现。数据集中的代码样本涵盖了四种编程语言,每种语言的实现均基于相同的系统设计,从而为跨语言代码气味检测提供了统一的基准。此外,数据集详细标注了各类代码气味(如Bloaters、Dispensables、Couplers等),并收集了包括代码行数、方法数量、属性数量等在内的多种软件指标。这些特点使得数据集不仅适用于评估LLMs的检测能力,还可用于研究不同编程语言对代码结构和可维护性的影响。
使用方法
该数据集的使用方法主要包括三个步骤:首先,用户需获取数据集中的代码样本,这些样本已去除人工标注的气味信息;其次,将代码输入到目标模型(如GPT-4.0或DeepSeek-V3)中,通过标准化提示词要求模型检测并分类代码气味;最后,将模型的预测结果与数据集提供的真实标注进行对比,计算精确率、召回率和F1分数等性能指标。数据集还支持语言无关和语言特定的分析,用户可根据研究需求选择不同层次的评估粒度。
背景与挑战
背景概述
Multilingual Code Smell Dataset是由Ahmed R. Sadik和Siddhata Govind等研究人员于2025年创建的,旨在为代码异味检测领域提供一个多语言基准数据集。该数据集涵盖了Java、Python、JavaScript和C++四种主流编程语言,通过统一的餐厅管理系统案例实现了跨语言可比性。作为软件工程领域的重要资源,它为大型语言模型(如GPT-4.0和DeepSeek-V3)在代码质量分析方面的性能评估提供了标准化测试平台。该研究的核心价值在于探索人工智能如何辅助开发者识别影响代码可维护性的设计缺陷,其成果发表于国际软件工程评估会议(EASE25),对推动智能代码审查工具的发展具有重要意义。
当前挑战
该数据集主要解决代码异味自动检测这一软件工程核心问题,面临双重挑战:在领域层面,代码异味的抽象性和语境依赖性导致传统规则检测方法泛化能力不足,而不同编程语言的语法特性又增加了跨语言统一检测的难度;在构建层面,研究者需要确保多语言案例的功能等价性,同时建立准确的标注基准——这要求对各类代码异味(如Bloaters、Dispensables等5大类40种子类型)进行明确定义,并解决动态语言与静态语言在代码结构表征上的固有差异。此外,评估框架的设计还需平衡检测精度与召回率这对固有矛盾,这对后续研究的可复现性提出了严格要求。
常用场景
经典使用场景
在软件工程领域,Multilingual Code Smell Dataset为研究者和开发者提供了一个跨语言的代码异味检测基准。该数据集通过统一的餐厅管理系统案例,覆盖Java、Python、JavaScript和C++四种编程语言,使得研究者能够在多语言环境下评估和比较不同代码异味检测方法的性能。特别是在评估大型语言模型(如GPT-4.0和DeepSeek-V3)的代码异味检测能力时,该数据集因其标准化设计和丰富的异味标注成为理想的选择。
解决学术问题
该数据集有效解决了代码异味检测领域中的多语言评估难题。传统研究常受限于单一语言或小规模样本,难以全面反映模型的实际性能。通过提供跨语言且标注一致的代码样本,该数据集支持研究者系统性地分析不同语言对代码异味检测的影响,同时为模型优化提供了明确的方向。此外,数据集的引入还推动了代码异味检测从规则驱动向语义驱动的范式转变,为后续研究奠定了重要基础。
衍生相关工作
基于该数据集的研究催生了多项重要工作,包括Wu等人提出的iSmell框架(2024),该框架将LLMs与传统静态分析工具结合以提升检测精度;Velasco等人(2024)则利用该数据集验证了LLMs在跨语言异味检测中的泛化能力。此外,数据集还支持了Hong等人(2024)关于Ansible脚本缺陷预测的研究,展示了其在特定领域语言中的扩展价值。这些衍生研究共同推动了智能代码质量评估领域的发展。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作