Створення методу забезпечення якості коментарів у системах контролю версій на основі трансформерних моделей

Автор(и)

  • Б. О. Семьонов Київський національний університет імені Тараса Шевченка , Україна
  • С. Д. Погорілий Київський національний університет імені Тараса Шевченка , Україна

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

##submission.downloads##

Опубліковано

2025-09-16

Номер

Розділ

Інформаційно-аналітичні системи обробки даних