| | --- |
| | library_name: transformers |
| | datasets: |
| | - NamCyan/tesoro-code |
| | base_model: |
| | - microsoft/graphcodebert-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:** [GraphCodeBERT](https://huggingface.co/microsoft/graphcodebert-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/graphcodebert-base-technical-debt-code-tesoro") |
| | model = AutoModelForSequenceClassification.from_pretrained("NamCyan/graphcodebert-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} |
| | } |
| | ``` |