five

BenMark

收藏
arXiv2025-01-22 更新2025-02-25 收录
下载链接:
https://github.com/Michaelll123/EmpiricalStudy-MCC
下载链接
链接失效反馈
官方服务:
资源简介:
BenMark数据集由北京理工大学等机构构建,旨在评估深度学习在识别不一致方法名称中的表现。该数据集包含1,299,186条数据,其中2,443条为不一致方法,1,296,743条为一致方法。数据集基于430个高质量项目,通过自动识别提交历史和开发者手动检查构建,减少了误报率。该数据集的应用领域为软件工程,旨在解决不一致方法名称导致的软件缺陷和维护成本问题。

The BenMark Dataset was constructed by institutions including Beijing Institute of Technology, aiming to evaluate the performance of deep learning models in identifying inconsistent method names. This dataset contains 1,299,186 entries in total, among which 2,443 are inconsistent method entries and 1,296,743 are consistent ones. It is built based on 430 high-quality software projects, through automatically identifying commit histories and manual inspection by developers, which reduces the false positive rate. Its application domain is software engineering, and it is designed to address software defects and maintenance cost issues caused by inconsistent method names.
提供机构:
北京理工大学计算机科学与技术学院, 中国电信北京研究院, 中国人民解放军军事科学院国防科技创新研究院
创建时间:
2025-01-22
搜集汇总
数据集介绍
main_image_url
构建方式
BenMark数据集的构建采用了自动识别和人工检查相结合的方式。首先,通过分析项目的提交历史自动识别不一致的方法名称。然后,为了减少噪声数据,进行了开发者调查,并基于调查结果进行了人工检查,以最大程度地减少误报。最终,数据集包含了2,443个不一致的方法名称和1,296,743个一致的方法名称,其比例接近实际应用场景。此外,数据集还提供了10组训练和测试数据,用于不同的实证设置,包括跨项目和项目内设置。
使用方法
使用BenMark数据集的方法如下:1)根据实证设置选择合适的训练数据和测试数据;2)对选定的深度学习模型进行参数调整,以最大化其在特定设置下的性能;3)使用训练数据训练模型,并在测试数据上评估模型的性能;4)分析模型的性能,包括准确率、召回率和F1分数等指标,以评估模型的准确性和可靠性。
背景与挑战
背景概述
在软件开发过程中,方法名称的准确性和一致性对于程序理解和维护至关重要。然而,由于多种原因,方法名称可能与其实际实现不一致,导致误解和错误的调用。为了解决这一问题,研究人员提出了基于深度学习的智能方法来识别不一致的方法名称。BenMark数据集由北京理工大学的Taiming Wang、Yuxia Zhang、Lin Jiang、Yi Tang和Guangjie Li等人创建,旨在提供一个更接近真实场景的基准数据集,用于评估现有深度学习方法的性能。该数据集包括从提交历史中自动识别和开发者手动检查的方法名称,以减少误报。BenMark数据集对相关领域产生了重要影响,因为它提供了一个更真实、更可靠的数据集,用于评估和改进深度学习方法在识别不一致方法名称方面的性能。
当前挑战
BenMark数据集和相关研究面临的主要挑战包括:1) 在现实世界中,一致的方法名称远多于不一致的方法名称,这使得数据集严重不平衡,对评估方法的准确性提出了挑战;2) 现有的深度学习方法在处理复杂方法体和长名称的方法时表现不佳,需要更先进的技术来提高其性能;3) 信息检索方法在检索相似方法体方面存在效率问题,而生成式方法在名称生成技术和相似度计算公式方面仍不成熟。为了更好地识别不一致的方法名称,研究人员提出了两种可能的改进方法:利用对比学习和大型语言模型(LLM)。这些挑战和改进方法为未来研究提供了重要方向。
常用场景
经典使用场景
在软件工程领域,BenMark数据集主要用于评估深度学习(DL)技术在识别不一致方法名方面的性能。该数据集包含大量经过手动检查的不一致和一致方法名,旨在提供一个真实世界场景的基准,以评估DL方法在实际应用中的有效性。
解决学术问题
BenMark数据集解决了现有DL方法在识别不一致方法名时缺乏真实世界场景基准的问题。以往的研究大多使用平衡数据集进行评估,而BenMark则提供了一个更接近真实世界场景的、不平衡的数据集,使得评估结果更能反映实际应用中的情况。此外,BenMark还揭示了现有DL方法在处理复杂方法体和长方法名时的局限性,为后续研究提供了改进方向。
实际应用
BenMark数据集的实际应用场景包括代码质量检查和软件维护。通过识别不一致的方法名,开发人员可以更准确地理解代码功能,减少误解,从而提高代码质量和降低项目维护成本。此外,BenMark还可以用于评估和改进现有的DL方法,使其在实际应用中取得更好的性能。
数据集最近研究
最新研究方向
在软件工程领域,简洁而有意义的函数名对于程序的理解和维护至关重要。然而,由于各种原因,函数名可能与它们的实现不一致。这种不一致的函数名可能会导致误解和误导,从而引发错误的函数调用。为了解决这个问题,一些基于深度学习的方法被提出,旨在识别这种不一致的函数名。现有的评估表明,这种基于深度学习的方法具有很好的性能。然而,这些评估是在一个完美的平衡数据集上进行的,其中不一致的函数名的数量与一致的函数名的数量完全相等。此外,这种平衡数据集的构建方法存在缺陷,导致数据集中存在假阳性。因此,报告的性能可能无法代表它们在实际应用中的效率,因为在实际应用中,大多数函数名与其对应的函数体是一致的,只有一小部分函数名与其对应的函数体不一致。为了解决这个问题,本研究构建了一个新的基准(数据集),使用自动识别和开发人员手动检查相结合的方法来识别不一致的函数名,旨在减少数据集中的假阳性。基于这个基准,我们评估了五种代表性的基于深度学习的方法来识别不一致的函数名(一种是基于检索的方法,四种是基于生成的方法)。我们的评估结果表明,当从现有的平衡数据集切换到我们新的基准时,评估方法的性能会显著下降。此外,为了揭示评估方法在哪些地方以及为什么工作或失败,我们对评估结果进行了定性和定量的分析。我们的分析结果表明,评估方法在具有简单函数体和短函数名的方法上表现良好,基于检索的方法尤其擅长于那些以流行子词开头的函数名。基于检索的方法经常失败,因为所采用的方法表示技术不够高效。另一个可能的原因是它们未经证实的假设,即具有相似函数体的两个方法应该具有相似的名字。基于生成的方法经常失败,因为相似度计算公式不准确,以及方法名生成技术不成熟。通过数据分析,我们还提出了两种可能的方法来更好地识别不一致的函数名,即利用对比学习和大型语言模型(LLM)。总的来说,我们的实证研究表明,在将基于深度学习的方法应用于实际的软件系统之前,需要对这些方法进行显著的改进。
相关研究论文
  • 1
    Deep Learning-Based Identification of Inconsistent Method Names: How Far Are We?北京理工大学计算机科学与技术学院, 中国电信北京研究院, 中国人民解放军军事科学院国防科技创新研究院 · 2025年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

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

二维码
科研交流群

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

数据驱动未来

携手共赢发展

商业合作