Self-admitted technical debt (SATD) refers to a form of technical debt in which developers explicitly acknowledge and document the existence of technical shortcuts, workarounds, or temporary solutions within the codebase. Over recent years, researchers have manually labeled datasets derived from various software development artifacts: source code comments, messages from the issue tracker and pull request sections, and commit messages. These datasets are designed for training, evaluation, performance validation, and improvement of machine learning and deep learning models to accurately identify SATD instances. However, class imbalance poses a serious challenge across all the existing datasets, particularly when researchers are interested in categorizing the specific types of SATD. In order to address the scarcity of labeled data for SATD \textit{identification} (i.e., whether an instance is SATD or not) and \textit{categorization} (i.e., which type of SATD is being classified) in existing datasets, we share the \textit{SATDAUG} dataset, an augmented version of existing SATD datasets, including source code comments, issue tracker, pull requests, and commit messages. These augmented datasets have been balanced in relation to the available artifacts and provide a much richer source of labeled data for training machine learning or deep learning models.
翻译:自我承认技术债务(Self-admitted Technical Debt, SATD)是指开发者明确承认并记录代码库中存在的技术捷径、临时解决方案或变通措施的一种技术债务形式。近年来,研究人员通过人工标注的方式,从多种软件开发制品(源代码注释、问题追踪系统及拉取请求板块的消息、提交消息)中构建了数据集。这些数据集旨在训练、评估、性能验证及改进机器学习和深度学习模型,以准确识别SATD实例。然而,现有所有数据集均面临严重的类别不平衡问题,尤其是当研究人员试图对SATD的具体类型进行分类时更为突出。为缓解现有数据集中用于SATD\textit{识别}(即判断实例是否为SATD)与\textit{分类}(即判定具体SATD类型)的标注数据稀缺问题,我们发布了\textit{SATDAUG}数据集——这是现有SATD数据集的增强版本,涵盖源代码注释、问题追踪系统、拉取请求及提交消息。这些增强数据集在可用制品维度上实现了类别平衡,为训练机器学习和深度学习模型提供了更丰富的标注数据源。