Understanding the Impact of Branch Edit Features for the Automatic Prediction of Merge Conflict Resolutions
dc.contributor.author | Aldndni, Waad | en |
dc.contributor.author | Servant, Francisco | en |
dc.contributor.author | Meng, Na | en |
dc.date.accessioned | 2024-07-01T18:58:29Z | en |
dc.date.available | 2024-07-01T18:58:29Z | en |
dc.date.issued | 2024-04-15 | en |
dc.date.updated | 2024-07-01T08:07:03Z | en |
dc.description.abstract | Developers regularly have to resolve merge conflicts, i.e., two conflicting sets of changes to the same files in different branches, which can be tedious and error-prone. To resolve conflicts, developers typically: keep the local version (KL) or the remote version (KR) of the code. They also sometimes manually edit both versions into a single one (ME). However, most existing techniques only support merging the local and remote versions (the ME strategy). We recently proposed RPRedictoR, a machine learning-based approach to support developers in choosing how to resolve a conflict (by KL, KR, or ME), by predicting their resolution strategy. In its original design, RPRedictoR uses a set of Evolution History Features (𝐸𝐻𝐹 s) that capture: the magnitude of the changes in conflict, their evolution, and the experience of the developers involved. In this paper, we proposed and evaluated a new set of Branch Edit Features (𝐵𝐸𝐹 s), that capture the fine-grained edits that were performed on each branch of the conflict. We learned multiple lessons. First, 𝐵𝐸𝐹 s provided lower effectiveness (F-score) than the original 𝐸𝐻𝐹 s. Second, combining 𝐵𝐸𝐹 s with 𝐸𝐻𝐹 s still did not improve the effectiveness of 𝐸𝐻𝐹 s, it provided the same f-score. Third, the feature set that provided highest effectiveness in our experiments was the combination of 𝐸𝐻𝐹𝑠 with a subset of 𝐵𝐸𝐹 s that captures the number of insertions performed in the local branch, but this combination only improved 𝐸𝐻𝐹 s by 3 pp. f-score. Finally, our experiments also share the lesson that some feature sets provided higher C-score (i.e., the safety of the technique’s mistakes) as a trade-off for lower f-scores. This may be valued by developers and we believe that it should be studied in the future. | en |
dc.description.version | Published version | en |
dc.format.mimetype | application/pdf | en |
dc.identifier.doi | https://doi.org/10.1145/3643916.3644433 | en |
dc.identifier.uri | https://hdl.handle.net/10919/120563 | en |
dc.language.iso | en | en |
dc.publisher | ACM | en |
dc.rights | Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International | en |
dc.rights.holder | The author(s) | en |
dc.rights.uri | http://creativecommons.org/licenses/by-nc-sa/4.0/ | en |
dc.title | Understanding the Impact of Branch Edit Features for the Automatic Prediction of Merge Conflict Resolutions | en |
dc.type | Article - Refereed | en |
dc.type.dcmitype | Text | en |