SAAD数据集
收藏arXiv2025-04-24 更新2025-05-13 收录
下载链接:
http://arxiv.org/abs/2504.17428v1
下载链接
链接失效反馈官方服务:
资源简介:
SAAD数据集是一个包含2562条软件老化债务(AD)注释及其代码上下文的手工验证金标准数据集。该数据集由奥卢大学的研究人员开发,旨在帮助研究人员进行详细的软件老化研究,并帮助从业者开发改进和主动的维护策略。数据集包含来自开源软件(OSS)存储库的注释,这些注释明确或隐含地表达了与软件老化相关的关注或修复。研究人员通过分析这些注释以及代码上下文,旨在揭示代码中正在退化的部分、过时的组件以及软件如何发展和需要更新的细节。数据集的开发旨在帮助软件团队明确跟踪和关注AD实例,从而在维护方面给予这些实例应有的优先级。SAAD数据集为软件老化研究提供了一个系统性的方法,并支持进一步的研究和确保研究结果的复制性。
The SAAD dataset is a manually validated gold-standard dataset containing 2562 software aging debt (AD) annotations and their corresponding code contexts. Developed by researchers at the University of Oulu, this dataset aims to assist researchers in conducting detailed software aging studies and help practitioners develop improved, proactive maintenance strategies. The dataset includes annotations sourced from open source software (OSS) repositories, which explicitly or implicitly express concerns or fixes related to software aging. By analyzing these annotations and their associated code contexts, researchers aim to uncover details about degraded code segments, outdated components, and how software evolves and requires updates. The development of this dataset is intended to help software teams clearly track and focus on AD instances, thereby granting these instances their due priority in maintenance efforts. The SAAD dataset provides a systematic approach for software aging research, supports further investigations, and ensures the reproducibility of research findings.
提供机构:
奥卢大学
创建时间:
2025-04-24
搜集汇总
数据集介绍

构建方式
SAAD数据集的构建采用了混合方法,结合定性和定量分析技术。首先,通过Sense2Vec AI模型从源代码注释中识别与软件老化相关的文本特征。随后,采用探索性搜索框架,对源代码注释及其上下文进行手动标注,提取出反映自我承认老化债务(SAAD)的文本模式。最终,通过模式匹配技术自动标注整个PENTACET语料库中的自然语言注释,形成包含2562条手动验证的SAAD注释的金标准数据集和35630条机器预测的银标准数据集。
特点
SAAD数据集的特点在于其全面性和多样性。数据集涵盖了超过9000个开源软件(OSS)仓库中的源代码注释,识别出399种代码上下文评估的SAAD模式。这些模式被分类为主动老化和休眠老化两大类别,进一步细分为更新与升级、老化维护、遗留与向后兼容性、废弃、过时和非维护等多种类型。数据集特别突出了废弃债务(Deprecation AD)的普遍性,占金标准数据集中SAAD实例的94.01%。
使用方法
SAAD数据集的使用方法包括三个主要步骤:检测、分类和量化。首先,利用代码上下文评估的SAAD模式通过模式匹配技术检测源代码注释中的SAAD实例。其次,根据开发的SAAD分类法对检测到的SAAD注释进行分类,识别不同类型的软件老化债务。最后,通过定量分析评估SAAD及其类别在OSS仓库中的普遍性。数据集适用于研究软件老化、技术债务管理以及软件维护策略的优化。
背景与挑战
背景概述
SAAD(Self-Admitted Aging Debt)数据集由Murali Sridharan、Mika M¨antyl¨a和Leevi Rantala等研究人员于2025年创建,旨在研究软件老化(Software Aging)现象及其在源代码注释中的自我承认债务。该数据集基于对9000多个开源软件(OSS)仓库的分析,包含超过16百万条自然语言源代码注释。SAAD数据集的核心研究问题是探索软件老化债务的检测、分类及其在开源项目中的普遍性。该数据集通过引入老化债务(Aging Debt, AD)的概念,扩展了技术债务(Technical Debt, TD)的研究范畴,特别关注源代码注释中开发者自我承认的老化问题。SAAD数据集对软件维护和演化领域具有重要影响力,为研究者和实践者提供了量化软件老化及其维护负担的新视角。
当前挑战
SAAD数据集面临的主要挑战包括:1) 在领域问题方面,软件老化的多维度特性使得准确识别和分类老化债务具有挑战性,尤其是区分老化债务与技术债务的边界;2) 在构建过程中,从海量源代码注释中提取老化相关特征需要复杂的自然语言处理技术,且注释的多样性和上下文依赖性增加了数据清洗和标注的难度;3) 数据集的普适性受到编程语言(主要是Java)和项目类型(开源软件)的限制,可能无法完全代表其他语言或商业软件中的老化现象;4) 注释质量的异质性可能导致误报或漏报,需要人工验证以确保数据可靠性。
常用场景
实际应用
在实际应用中,SAAD数据集为软件开发团队提供了一种工具,用于识别和管理代码库中的老化问题。通过分析源代码注释,团队可以快速定位需要更新的代码段、废弃的功能或遗留系统的兼容性问题。此外,该数据集还可用于自动化工具的开发,例如静态分析工具或IDE插件,帮助开发者在编写代码时即时标记潜在的老化债务。这些应用显著提高了软件维护的效率和代码库的长期健康。
衍生相关工作
SAAD数据集衍生了一系列相关研究和工作。例如,基于该数据集的分类方法,研究人员开发了更精细的老化债务分类模型,进一步细化了Active和Dormant老化债务的子类型。此外,该数据集还被用于研究老化债务与软件缺陷之间的关联,以及老化债务对软件安全性的影响。其他衍生工作包括开发自动化工具来检测和管理老化债务,以及探索老化债务在不同编程语言和项目规模中的表现。这些工作共同推动了软件老化研究的发展。
以上内容由遇见数据集搜集并总结生成



