| Title: | Commit-level software change intent classification using a pre-trained transformer-based code model |
|---|
| Authors: | ID Heričko, Tjaša (Author) ID Šumak, Boštjan (Author) ID Karakatič, Sašo (Author) |
| Files: | mathematics-12-01012.pdf (1,65 MB) MD5: 373C0070DF577A22384BF4848DB95FD8
https://www.mdpi.com/2227-7390/12/7/1012
|
|---|
| Language: | English |
|---|
| Work type: | Article |
|---|
| Typology: | 1.01 - Original Scientific Article |
|---|
| Organization: | FERI - Faculty of Electrical Engineering and Computer Science
|
|---|
| Abstract: | Software evolution is driven by changes made during software development and maintenance. While source control systems effectively manage these changes at the commit level, the intent behind them are often inadequately documented, making understanding their rationale challenging. Existing commit intent classification approaches, largely reliant on commit messages, only partially capture the underlying intent, predominantly due to the messages’ inadequate content and neglect of the semantic nuances in code changes. This paper presents a novel method for extracting semantic features from commits based on modifications in the source code, where each commit is represented by one or more fine-grained conjoint code changes, e.g., file-level or hunk-level changes. To address the unstructured nature of code, the method leverages a pre-trained transformer-based code model, further trained through task-adaptive pre-training and fine-tuning on the downstream task of intent classification. This fine-tuned task-adapted pre-trained code model is then utilized to embed fine-grained conjoint changes in a commit, which are aggregated into a unified commit-level vector representation. The proposed method was evaluated using two BERT-based code models, i.e., CodeBERT and GraphCodeBERT, and various aggregation techniques on data from open-source Java software projects. The results show that the proposed method can be used to effectively extract commit embeddings as features for commit intent classification and outperform current state-of-the-art methods of code commit representation for intent categorization in terms of software maintenance activities undertaken by commits. |
|---|
| Keywords: | software maintenance, code commit, mining software repositories, adaptive pre-training, fine-tuning, semantic code embedding, CodeBERT, GraphCodeBERT, classification, code intelligence |
|---|
| Publication status: | Published |
|---|
| Publication version: | Version of Record |
|---|
| Submitted for review: | 19.02.2024 |
|---|
| Article acceptance date: | 23.03.2024 |
|---|
| Publication date: | 28.03.2024 |
|---|
| Publisher: | MDPI AG |
|---|
| Year of publishing: | 2024 |
|---|
| Number of pages: | 38 str. |
|---|
| Numbering: | Vol. 12, no. 7, [article no.] 1012 |
|---|
| PID: | 20.500.12556/DKUM-89850  |
|---|
| UDC: | 004.4 |
|---|
| ISSN on article: | 2227-7390 |
|---|
| COBISS.SI-ID: | 190847747  |
|---|
| DOI: | 10.3390/math12071012  |
|---|
| Copyright: | © 2024 by the authors |
|---|
| Publication date in DKUM: | 14.08.2024 |
|---|
| Views: | 254 |
|---|
| Downloads: | 57 |
|---|
| Metadata: |  |
|---|
| Categories: | Misc.
|
|---|
|
:
|
Copy citation |
|---|
| | | | Average score: | (0 votes) |
|---|
| Your score: | Voting is allowed only for logged in users. |
|---|
| Share: |  |
|---|
Hover the mouse pointer over a document title to show the abstract or click
on the title to get all document metadata. |