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

Автор(и)

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

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., and 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.

Buse R. and Weimer W., “Automatically documenting program changes,” in Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, 2010.

P. Xue et al., “Automated Commit Message Generation With Large Language Models: An Empirical Study and Beyond,” IEEE Transactions on Software Engineering, vol. 50, no. 12, pp. 3208–3224, 2024, doi: 10.1109/TSE.2024.3478317

“How to Write a Git Commit Message,” cbeams. Accessed: Oct. 07, 2024. [Online]. Available: https://cbea.ms/git-commit/#seven-rules

S. Pogorilyy and B. Semonov, “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,” GitHub Docs. Accessed: Oct. 07, 2024. [Online]. Available: https://docs.github.com/en/rest?apiVersion=2022-11-28

N.V. Otten, “How To Use Text Normalization Techniques In NLP With Python [9 Ways,” Spot Intelligence. Accessed: Oct. 07, 2024. [Online]. Available: https://spotintelligence.com/2023/01/25/text-normalization-techniquesnlp/

A. Joulin, E. Grave, P. Bojanowski, and T. Mikolov, “Bag of Tricks for Efficient Text Classification.” 2016. [Online]. Available: https://arxiv.org/abs/1607.01759

TensorFlow, “TensorFlow,” TensorFlow. Accessed: Oct. 07, 2024. [Online]. Available: https://www.tensorflow.org/

Loshchilov I. and Hutter F., “Decoupled weight decay regularization,” in Proceedings of the ICLR, 2019.

N.K. Nissa, “Text Messages Classification using LSTM, Bi-LSTM, and GRU,” Medium. Accessed: Oct. 07, 2024. [Online]. Available: https://nzlul.medium.com/theclassification-of-text-messages-using-lstm-bi-lstm-and-gruf79b207f90ad

PyTorch, “PyTorch documentation — PyTorch master documentation,” Pytorch.org. Accessed: Oct. 07, 2024. [Online]. Available: https://pytorch.org/docs/stable/index.html

Keras, “Home - Keras Documentation,” Keras.io. Accessed: Oct. 07, 2024. [Online]. Available: https://keras.io/

Scikit-Learn, “scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation,” Scikit-learn.org. Accessed: Oct. 07, 2024. [Online]. Available: https://scikit-learn.org/

J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova, “BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding.” 2019. [Online]. Available: https://arxiv.org/abs/1810.04805

Y. Liu et al., “RoBERTa: A Robustly Optimized BERT Pretraining Approach.” 2019. [Online]. Available: https://arxiv.org/abs/1907.11692

V. Sanh, L. Debut, J. Chaumond, and T. Wolf, “DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter.” 2020. [Online]. Available: https://arxiv.org/abs/1910.01108

A. Conneau et al., “Unsupervised Cross-lingual Representation Learning at Scale.” 2020. [Online]. Available: https://arxiv.org/abs/1911.02116

H. Jain, A. Agarwal, K. Shridhar, and D. Kleyko, “End to End Binarized Neural Networks for Text Classification,” ArXiv, vol. abs/2010.05223, 2020, [Online]. Available: https://api.semanticscholar.org/CorpusID:222290714

Google, “Colaboratory – Google,” research.google.com. Accessed: Oct. 07, 2024. [Online]. Available: https://research.google.com/colaboratory/faq.html

##submission.downloads##

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

2025-09-16

Номер

Розділ

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