一句话:针对 Java 软件合并,提出用静态分析检测构建冲突,以定位冲突根源而非仅报告构建错误。
在软件合并中,不同分支的编辑可能文本重叠,也可能引发构建和测试错误,即构建与测试冲突,威胁程序员生产力和软件质量。现有工具主要关注文本冲突,少数检测构建/测试等高阶冲突;已有构建冲突检测器依赖自动构建,通常只报告构建错误而不识别根源,开发者需人工定位冲突编辑,并且仅在待合并分支不存在文本冲突时有效。论文针对 Java 程序,提出通过静态分析检测构建冲突,以克服上述局限。摘要未报告具体分析技术、实现与评估结果。
In software merge, the edits from different branches can textually overlap (i.e., textual conflicts) or cause build and test errors (i.e., build and test conflicts), jeopardizing programmer productivity and software quality. Existing tools primarily focus on textual conflicts; few tools detect higher-order conflicts (i.e., build and test conflicts). However, existing detectors of build conflicts are limited. Due to their heavy usage of automatic build, current detectors (e.g., Crystal) only report build errors instead of identifying the root causes; developers have to manually locate conflicting edits. These detectors only help when the branches-to-merge have no textual conflict.
@inproceedings{paperbot7154,
title = {Detecting Build Conflicts in Software Merge for Java Programs via Static Analysis},
author = {Sheikh Shadab Towqir and Bowen Shen and Muhammad Ali Gulzar and Na Meng},
booktitle = {ASE},
year = {2022},
doi = {10.1145/3551349.3556950}
}