ICPC 2024
Sun 14 - Sat 20 April 2024 Lisbon, Portugal
co-located with ICSE 2024

Developers regularly have to resolve merge conflicts, i.e., two conflicting sets of changes to the same files in different branches. Resolving merge conflicts is tedious and error-prone. It often involves inspecting and deciding about multiple changed files.

Developers resolve merge conflicts by: keeping the local version of the code (KL), keeping the remote version (KL), or manually editing both into a single version (ME). The strategies that are most often selected by developers are KL and KR. However, the majority of existing automated techniques target supporting developers in the ME strategy: merging the local and remote versions.

So, 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. RPredictor is particularly useful when it predicts KL or KR, since it could apply the prediction automatically, saving developer effort. In its original design, RPredictor uses a set of \emph{Evolution History Features} ($EHF$s) that capture: the magnitude of the changes in conflict, their evolution, and the experience of the developers involved.

In this paper, we propose a new set of \emph{Branch Edit Features} ($BEF$s), that capture the fine-grained edits that were performed on each branch of the conflict. We evaluate the effectiveness provided by $BEF$s in comparison with $EHF$s, in multiple ways.

The results of our experiments provide multiple lessons. First, $BEF$s provide lower effectiveness (F-score) than $EHF$s. Second, combining $BEF$s with $EHF$s still did not improve the effectivness of $EHF$s, it provided the same f-score. Third, combining $EHFs$ with $BEF_{LI}$ (a subset of $BEF$s) was the feature set that provided highest effectiveness in our experiments, but it only improved $EHF$s by 3 pp. f-score. Fourth, it is not clear whether developers would accept the extra effort required for measuring $BEF_{LI}$ in exchange for such an incremental improvement. 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 some developers and we believe that it should be studied in the future.

Mon 15 Apr

Displayed time zone: Lisbon change

14:00 - 15:30
14:00
10m
Talk
MESIA: Understanding and Leveraging Supplementary Nature of Method-level Comments for Automatic Comment GenerationICPCICPC Full paper
Research Track
Xinglu Pan Peking University, Chenxiao Liu Peking University, Yanzhen Zou Peking University, Tao Xie Peking University, Bing Xie Peking University
Pre-print
14:10
10m
Talk
Compositional API Recommendation for Library-Oriented Code GenerationICPCICPC Full paper
Research Track
Zexiong Ma Peking University, Shengnan An Xi’an Jiaotong University, Bing Xie Peking University, Zeqi Lin Microsoft Research, China
Pre-print
14:20
10m
Talk
On the Generalizability of Deep Learning-based Code Completion Across Programming Language VersionsICPCICPC Full paper
Research Track
Matteo Ciniselli Università della Svizzera Italiana, Alberto Martin-Lopez Software Institute - USI, Lugano, Gabriele Bavota Software Institute @ Università della Svizzera Italiana
14:30
10m
Talk
ESGen: Commit Message Generation Based on Edit Sequence of Code ChangeICPCICPC Full paperVirtual-Talk
Research Track
Xiangping Chen Sun Yat-sen University, Yangzi Li SUN YAT-SEN UNIVERSITY, Zhicao Tang SUN YAT-SEN UNIVERSITY, Yuan Huang School of Data and Computer Science, Sun Yat-sen University, Guangzhou, China, Haojie Zhou School of Computer Science and Engineering, Sun Yat-sen University, Guangzhou 510006, China, Mingdong Tang Guangdong University of Foreign Studies, Zibin Zheng Sun Yat-sen University
14:40
10m
Talk
Improving AST-Level Code Completion with Graph Retrieval and Multi-Field AttentionICPCICPC Full paperVirtual-Talk
Research Track
Yu Xia Central South University, Tian Liang Central South University, Wei-Huan Min Central South University, Li Kuang School of Computer Science and Engineering, Central South University
14:50
10m
Talk
Exploring and Improving Code Completion for Test CodeICPCICPC Full paper
Research Track
Tingwei Zhu Nanjing University, Zhongxin Liu Zhejiang University, Tongtong Xu Huawei, Ze Tang Software Institute, Nanjing University, Tian Zhang Nanjing University, Minxue Pan Nanjing University, Xin Xia Huawei Technologies
15:00
10m
Talk
Understanding the Impact of Branch Edit Features for the Automatic Prediction of Merge Conflict ResolutionsICPCICPC RENE Paper
Replications and Negative Results (RENE)
Waad riadh aldndni Virginia Tech, Francisco Servant ITIS Software, University of Malaga, Na Meng Virginia Tech
15:10
4m
Talk
Investigating the Efficacy of Large Language Models for Code Clone DetectionICPCICPC ERA Paper
Early Research Achievements (ERA)
Mohamad Khajezade University of British Columbia Okanagan, Jie JW Wu University of British Columbia (UBC), Fatemeh Hendijani Fard University of British Columbia, Gema Rodríguez-Pérez University of British Columbia (UBC), Mohamed S Shehata University of British Columbia
15:14
16m
Talk
Code + Documentation Generation: Panel with SpeakersICPC
Discussion