TESORO
收藏资源简介:
TESORO数据集由越南河内科学与技术大学和意大利拉奎拉大学共同创建,专注于检测Java源代码中的技术债务。该数据集包含974个Java项目的源代码和相关注释,旨在通过结合代码和注释信息来提高技术债务检测的准确性。数据集的创建过程包括从Stack corpus中提取代码和注释,并进行手动分类。TESORO数据集的应用领域主要集中在软件工程中的技术债务检测,旨在通过提供更丰富的上下文信息来改进现有的技术债务检测模型。
The TESORO dataset was co-created by Hanoi University of Science and Technology in Vietnam and the University of L'Aquila, Italy, focusing on technical debt detection in Java source code. This dataset contains source code and associated comments from 974 Java projects, aiming to improve the accuracy of technical debt detection by combining both code and comment information. The construction of the dataset involved extracting code and comments from the Stack corpus, followed by manual classification. The primary application field of the TESORO dataset is technical debt detection in software engineering, which aims to improve existing technical debt detection models by providing richer contextual information.
Tesoro 数据集概述
简介
Tesoro 数据集旨在通过关联自承认技术债务(SATD)注释与其对应的源代码,来改进 Java 源代码中技术债务的检测。该数据集填补了现有方法主要分析注释而忽略源代码本身的空白。
数据集结构
Tesoro 数据集包含两个子集:
Tesoro_comment
- 用途: 支持与 SATD 相关的任务,源代码可作为额外上下文。
- 结构: json { "id": "function id in the dataset", "comment_id": "comment id of the function", "comment": "comment text", "classification": "technical debt types (DESIGN | IMPLEMENTATION | DEFECT | DOCUMENTATION | TEST | NONSATD)", "code": "full fucntion context", "code_context_2": "2 lines code context", "code_context_10": "10 lines code context", "code_context_20": "20 lines code context", "repo": "Repository that contains this source" }
Tesoro_code
- 用途: 支持在不依赖自然语言注释的情况下检测源代码中的技术债务。
- 结构: json { "id": "function id in the dataset", "original_code": "raw function", "code_wo_comment": "original code without comment", "cleancode": "normalized version of code (lowercase, remove newline )", "label": "binary list corresponding to 4 TD types (DESIGN, IMPLEMENATION, DEFECT, TEST)", "repo": "Repository that contains this source" }
数据使用
-
Huggingface 数据集:
tesoro-comment: Huggingface 链接tesoro-code: Huggingface 链接
-
Github 数据集:
- 数据集位于 data/tesoro 目录下。
实验数据
用于训练 SATD 检测器、进行 k-fold 评估和回答研究问题的数据详细信息,请参阅 Data for Experiments。
实验复现
研究问题包括:
- RQ1: 手动分类的注释是否有助于提高 SATD 检测的改进?
- RQ2: 源代码的包含是否有助于增强技术债务的检测?
- RQ3: 不同预训练模型在仅从源代码检测 TD 时的准确性如何?
实验结果可在 results 目录下找到。复现实验的详细信息,请参阅 Training。
排行榜
模型性能比较:
| 模型名称 | 模型大小 | EM | F1 |
|---|---|---|---|
| CodeBERT | 125M | 38.28 | 43.47 |
| UniXCoder | 125M | 38.12 | 42.58 |
| GraphCodeBERT | 125M | 39.38 | 44.21 |
| RoBERTa | 125M | 35.37 | 38.22 |
| ALBERT | 11.8M | 39.32 | 41.99 |
| PLBART | 140M | 36.85 | 39.90 |
| Codet5 | 220M | 32.66 | 35.41 |
| CodeT5+ | 220M | 37.91 | 41.96 |
| TinyLlama | 1.03B | 37.05 | 40.05 |
| DeepSeek-Coder | 1.28B | 42.52 | 46.19 |
| OpenCodeInterpreter | 1.35B | 38.16 | 41.76 |
| phi-2 | 2.78B | 37.92 | 41.57 |
| starcoder2 | 3.03B | 35.37 | 41.77 |
| CodeLlama | 6.74B | 34.14 | 38.16 |
| Magicoder | 6.74B | 39.14 | 42.49 |
引用
使用 Tesoro 数据集时,请引用以下 BibTeX: bibtex @article{nam2024tesoro, title={Improving the detection of technical debt in Java source code with an enriched dataset}, author={Hai, Nam Le and Bui, Anh M. T. Bui and Nguyen, Phuong T. and Ruscio, Davide Di and Kazman, Rick}, journal={}, year={2024} }
许可证




