Research of the application of GPGPU and TPU technologies for ensuring comment quality in version control systems

B.O. Semonov, S.D. Pogorilyy

Abstract


The study substantiates the relevance of solving the issue of ensuring the quality of descriptions for changes made in source code files within version control systems. Machine learning methods, particularly neural networks of various architectures, are employed for comment filtering. Neural networks are deemed appropriate due to the necessity of identifying descriptions that accurately reflect the purpose of the changes made. Recurrent neural networks were developed and trained on a dataset of change descriptions obtained through the GitHub REST API. To enhance training performance, various hardware and software platforms such as CPU, TPU, and GPGPU were utilized. The accuracy of the models was analyzed using metrics like Accuracy and the harmonic mean (F1-score).

Prombles in programming 2025; 1: 24-37


Keywords


commit message; GPGPU; repository; RNN; TPU; version control system

References


Погорілий С.Д., Семьонов Б.О. Дослідження паралельних алгоритмів мовою Python з використанням різних платформ. Наукові записки НаУКМА. Вип. 198, 2017. С. 14–21.

Погорілий С.Д., Семьонов Б.О. Дослідження програмної бібліотеки Linpack на архітектурі CUDA мовою програмування Python. Наукові праці ДонНТУ. Вип. 23, № 2. С. 98–106.

Buse R., Weimer W. Automatically documenting program changes. Proceedings of the IEEE/ACM International Conference on Automated Software Engineering(2010).

GitHub Docs GitHub REST API. GitHub Docs. URL: https://docs.github.com/en/rest?apiVersion=2022-11-28 (дата звернення: 07.10.2024).

Google Colaboratory research.google.com. 2024. Google.

URL: https://research.google.com/colaboratory/faq.html (дата звернення: 07.10.2024).

How to Write a Git Commit Message. cbeams. 30.08.2014. URL: https://cbea.ms/git-commit/#seven-rules (дата звернення: 07.10.2024).

Jiang S., Armaly A., McMillan C. Automatically generating commit messages from diffs using neural machine translation. Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering(2017).

Keras Home - Keras Documentation. Keras.io. 2019. URL: https://keras.io/ (дата звернення: 07.10.2024).

Loshchilov I., Hutter F. Decoupled weight decay regularization. Proceedings of the ICLR (2019).

N.K. Nissa Text Messages Classification using LSTM, Bi-LSTM, and GRU. Medium. 23.08.2022. URL: https://nzlul.medium.com/theclassification-oftext-messages-using-lstm-bi-lstm-andgruf79b207f90ad (дата звернення: 07.10.2024).

N.V. Otten How To Use Text Normalization Techniques In NLP With Python [9 Ways. Spot Intelligence. 25.01.2023. URL: https://spotintelligence.com/2023/01/25/textnormalization-techniquesnlp/ (дата звернення: 07.10.2024).

PyTorch PyTorch documentation — PyTorch master documentation. Pytorch.org. 2019. URL: https://pytorch.org/docs/stable/index.html

(дата звернення: 07.10.2024).

Scikit-Learn scikit-learn: machine learning in Python — scikit-learn 0.16.1 documentation. Scikit-learn.org. 2019. URL: https://scikit learn.org/ (дата звернення: 07.10.2024).

TensorFlow TensorFlow. TensorFlow. 2019. URL: https://www.tensorflow.org/ (дата звернення: 07.10.2024).


Refbacks

  • There are currently no refbacks.