Resolving Build Conflicts via Example-Based and Rule-Based Program Transformations
Resolving Build Conflicts via Example-Based and Rule-Based Program Transformations
Merge conflicts often arise when developers integrate changes from different software branches. The conflicts can result from overlapping edits in programs (i.e., textual conflicts) or cause build and test errors (i.e., build and test conflicts). They degrade software quality and hinder programmer productivity. While several tools detect build conflicts, few offer meaningful support for resolving cases like those caused by method removal. To overcome limitations of existing tools, we introduce BUCOR (Build Conflict Resolver), a new conflict resolver. BUCOR first detects conflicts by comparing three versions related to a merging scenario: base b, left l, and right r. To resolve conflicts, it employs two complementary strategies: example-based transformation (BUCOR-E) and rule-based transformation (BUCOR-R). BUCOR-R applies predefined rules to handle common, well-understood conflicts. BUCOR-E mines branch versions (l and r) for exemplar edits applied to fix related build errors. From these examples, it infers and generalizes program transformation patterns to resolve more complex conflicts. We evaluated BUCOR on 88 real-world build conflicts spanning 21 distinct conflict types. BUCOR generated at least one solution for 65 cases and correctly resolved 43 conflicts. We observed that this hybrid approach--combining context-aware, example-based learning with structured, rule-based resolution--can effectively help resolve conflicts. Our research sheds light on future directions for more intelligent and automated merge tools.
Sheikh Shadab Towqir、Fei He、Todd Mytkowicz、Na Meng
计算技术、计算机技术
Sheikh Shadab Towqir,Fei He,Todd Mytkowicz,Na Meng.Resolving Build Conflicts via Example-Based and Rule-Based Program Transformations[EB/OL].(2025-07-25)[2025-08-10].https://arxiv.org/abs/2507.19432.点此复制
评论