|
--- |
|
library_name: transformers |
|
datasets: |
|
- NamCyan/tesoro-code |
|
base_model: |
|
- microsoft/unixcoder-base |
|
--- |
|
|
|
# Improving the detection of technical debt in Java source code with an enriched dataset |
|
|
|
|
|
## Model Details |
|
|
|
### Model Description |
|
|
|
This model is the part of Tesoro project, used for detecting technical debt in source code. More information can be found at [Tesoro HomePage](https://github.com/NamCyan/tesoro.git). |
|
|
|
- **Developed by:** [Nam Hai Le](https://github.com/NamCyan) |
|
- **Model type:** Encoder-based PLMs |
|
- **Language(s):** Java |
|
- **Finetuned from model:** [UniXCoder](https://huggingface.co/microsoft/unixcoder-base) |
|
|
|
### Model Sources |
|
|
|
- **Repository:** [Tesoro](https://github.com/NamCyan/tesoro.git) |
|
- **Paper:** [To be update] |
|
|
|
## How to Get Started with the Model |
|
|
|
Use the code below to get started with the model. |
|
|
|
```python |
|
from transformers import AutoModelForSequenceClassification, AutoTokenizer |
|
|
|
tokenizer = AutoTokenizer.from_pretrained("NamCyan/unixcoder-base-technical-debt-code-tesoro") |
|
model = AutoModelForSequenceClassification.from_pretrained("NamCyan/unixcoder-base-technical-debt-code-tesoro") |
|
``` |
|
|
|
|
|
## Training Details |
|
|
|
- Training Data: The model is finetuned using [tesoro-code](https://huggingface.co/datasets/NamCyan/tesoro-code) |
|
|
|
- Infrastructure: Training process is conducted on two NVIDIA A100 GPUs with 80GB of VRAM. |
|
|
|
## Leaderboard |
|
| Model | Model size | EM | F1 | |
|
|:-------------|:-----------|:------------------|:------------------| |
|
| **Encoder-based PLMs** | |
|
| [CodeBERT](https://huggingface.co/microsoft/codebert-base) | 125M | 38.28 | 43.47 | |
|
| [UniXCoder](https://huggingface.co/microsoft/unixcoder-base) | 125M | 38.12 | 42.58 | |
|
| [GraphCodeBERT](https://huggingface.co/microsoft/graphcodebert-base)| 125M | *39.38* | *44.21* | |
|
| [RoBERTa](https://huggingface.co/FacebookAI/roberta-base) | 125M | 35.37 | 38.22 | |
|
| [ALBERT](https://huggingface.co/albert/albert-base-v2) | 11.8M | 39.32 | 41.99 | |
|
| **Encoder-Decoder-based PLMs** | |
|
| [PLBART](https://huggingface.co/uclanlp/plbart-base) | 140M | 36.85 | 39.90 | |
|
| [Codet5](https://huggingface.co/Salesforce/codet5-base) | 220M | 32.66 | 35.41 | |
|
| [CodeT5+](https://huggingface.co/Salesforce/codet5p-220m) | 220M | 37.91 | 41.96 | |
|
| **Decoder-based PLMs (LLMs)** | |
|
| [TinyLlama](https://huggingface.co/TinyLlama/TinyLlama_v1.1_math_code) | 1.03B | 37.05 | 40.05 | |
|
| [DeepSeek-Coder](https://huggingface.co/deepseek-ai/deepseek-coder-1.3b-base) | 1.28B | **42.52** | **46.19** | |
|
| [OpenCodeInterpreter](https://huggingface.co/m-a-p/OpenCodeInterpreter-DS-1.3B) | 1.35B | 38.16 | 41.76 | |
|
| [phi-2](https://huggingface.co/microsoft/phi-2) | 2.78B | 37.92 | 41.57 | |
|
| [starcoder2](https://huggingface.co/bigcode/starcoder2-3b) | 3.03B | 35.37 | 41.77 | |
|
| [CodeLlama](https://huggingface.co/codellama/CodeLlama-7b-hf) | 6.74B | 34.14 | 38.16 | |
|
| [Magicoder](https://huggingface.co/ise-uiuc/Magicoder-S-DS-6.7B) | 6.74B | 39.14 | 42.49 | |
|
|
|
|
|
## Citing us |
|
```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} |
|
} |
|
``` |