Створення методу забезпечення якості коментарів у системах контролю версій на основі трансформерних моделей
DOI:
https://doi.org/10.35681/1560-9189.2025.27.2.345503Ключові слова:
AdamW-алгоритм, BERT, commit message, DistilBERT, GitHub REST API, RoBERTa, Transformer, вихідний текст програми, ПЗ, повідомлення про внесені зміни, програмне забезпечення, репозиторій, середнє гармонійне, система контролю версійАнотація
Обґрунтовано важливість розв’язання задачі підвищення якості описів до змін у вихідних текстах програм у контексті систем контролю версій. Для фільтрації коментарів застосовано методи машинного навчання, зокрема нейронні мережі різних архітектур. Використання нейронних мереж є доцільним через потребу в автоматичному виявленні описів, що точно відображають призначення внесених змін. Проведено порівняльний аналіз моделей на основі Transformer-архітектур, таких як BERT, RoBERTa та DistilBERT, та їхнє застосування у бінарних класифікаторах для фільтрації змін. Здійснено навчання моделей на множині описів до внесених змін, отриманих за допомогою спеціального програмного інтерфейсу GitHub REST API. Проведено оцінювання точності моделей через використання метрик: точності (Accuracy) та середнього гармонійного (F1-score). Також підтверджено ефективність середовища Google Colab для прототипування моделей машинного навчання.
Посилання
Jiang, S.; Armaly, A.; McMillan, C. Automatically Generating Commit Messages from Diffs Using Neural Machine Translation. In: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering. 2017. https://doi.org/10.1109/ASE.2017.8115626
Buse, R.; Weimer, W. Automatically Documenting Program Changes. In: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering. 2010. https://doi.org/10.1145/1858996.1859005
Xue, P. et al. Automated Commit Message Generation With Large Language Models: An Empirical Study and Beyond. IEEE Transactions on Software Engineering. 2024. Vol. 50. No. 12. pp. 3208–3224. https://doi.org/10.1109/TSE.2024.3478317
How to Write a Git Commit Message. cbeams. URL: https://cbea.ms/git-commit/#seven-rules
Pogorilyy, S.; Semonov, B. The Implementation of a Commit Messages Filter for Software Version Control Systems. In: The 9th International Conference on Control and Optimization with Industrial Applications. 2024. pp. 175–179.
GitHub Docs. GitHub REST API. URL: https://docs.github.com/en/rest?apiVersion=2022-11-28
Otten, N.V. How To Use Text Normalization Techniques In NLP With Python [9 Ways]. Spot Intelligence. URL: https://spotintelligence.com/2023/01/25/text-normalization-techniquesnlp/
Joulin, A.; Grave, E.; Bojanowski, P.; Mikolov, T. Bag of Tricks for Efficient Text Classification. 2016. URL: https://arxiv.org/abs/1607.01759. https://doi.org/10.48550/arXiv.1607.01759
TensorFlow. TensorFlow. URL: https://www.tensorflow.org/
Loshchilov, I.; Hutter, F. Decoupled Weight Decay Regularization. In: Proceedings of the ICLR. 2019. URL: https://openreview.net/forum?id=Bkg6RiCqY7
Nissa, N.K. Text Messages Classification using LSTM, Bi-LSTM, and GRU. Medium. URL: https://nzlul.medium.com/the-classification-of-text-messages-using-lstm-bi-lstm-and-gru-f79b207f90ad
PyTorch. PyTorch Documentation. URL: https://pytorch.org/docs/stable/index.html
Keras. Home - Keras Documentation. URL: https://keras.io/
Scikit-Learn. scikit-learn: machine learning in Python. URL: https://scikit-learn.org/
Devlin, J.; Chang, M.-W.; Lee, K.; Toutanova, K. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. 2019. URL: https://arxiv.org/abs/1810.04805. https://doi.org/10.48550/arXiv.1810.04805
Liu, Y. et al. RoBERTa: A Robustly Optimized BERT Pretraining Approach. 2019. URL: https://arxiv.org/abs/1907.11692. https://doi.org/10.48550/arXiv.1907.11692
Sanh, V.; Debut, L.; Chaumond, J.; Wolf, T. DistilBERT, a Distilled Version of BERT: Smaller, Faster, Cheaper and Lighter. 2020. URL: https://arxiv.org/abs/1910.01108. https://doi.org/10.48550/arXiv.1910.01108
Conneau, A. et al. Unsupervised Cross-lingual Representation Learning at Scale. 2020. URL: https://arxiv.org/abs/1911.02116. https://doi.org/10.48550/arXiv.1911.02116
Jain, H.; Agarwal, A.; Shridhar, K.; Kleyko, D. End to End Binarized Neural Networks for Text Classification. 2020. URL: https://api.semanticscholar.org/CorpusID:222290714. https://doi.org/10.48550/arXiv.2010.05223
Google. Colaboratory – Google. URL: https://research.google.com/colaboratory/faq.html