Loading...
- Type of Document: M.Sc. Thesis
- Language: Farsi
- Document No: 53603 (19)
- University: Sharif University of Technology
- Department: Computer Engineering
- Advisor(s): Heydarnoori, Abbas
- Abstract:
- Software requirements are changing continuously and hence during software evolution and maintenance, source codes changes are being committed in the software repositories. Reading source codes to understand the changes is a very time consuming and tedious activity. Commit messages contain information about code changes that let developers be aware of the essence of the changes without reading the source codes. Unfortunately, due to the pressure of deadlines and lack of time, developers neglect to write these messages. Commit messages can speed up the process of software understanding for developers and also play an important role in software documentation. Therefore, an automated method for generating commit messages is important. The previous methods are divided into three categories: template-based, information retrieval, and deep learning. Nowadays, deep learning is used to summarize code changes. One of the problems with previous methods is the lack of standard dataset. Also, if there is a lot of data, these methods would be very time-consuming in training. Therefore, in this study, Java codes have been collected from the code repositories of the GitHub and these have become a standard database after being clean and tokenized. A pre-trained transformer model is used in order to process and train a large volume of information in parallel. Afterward, commit messages are generated by fine-tuning data on the pre-trained model. Finally, the proposed method was examined from a quantitative and qualitative perspective and the results show a 42.2 BLEU score, which has grown significantly compared to previous works. In 75% of the cases, software developers also preferred the messages generated by this method to previous methods
- Keywords:
- Software Evaluation ; Deep Learning ; Commit Message ; Code Change Summarization
- محتواي کتاب
- view