🤖 AI Summary
To address build failures caused by method deletions and other structural changes during code branch merging, this paper proposes BUCOR, an automated conflict resolution technique that synergistically integrates example-driven learning with rule-driven reasoning. BUCOR performs three-way diff analysis, static semantic understanding, and change-history mining to automatically identify recurring conflict patterns and generalize reusable program transformation rules. Crucially, it is the first approach to combine context-aware example learning with structured rule-based inference for build conflict repair. BUCOR extracts, abstracts, and applies repair patterns directly from real-world projects. Evaluated on 88 real-world build conflicts, it produces at least one valid fix for 65 cases, with 43 achieving fully correct repairs. This demonstrates substantial improvements in integration efficiency and software quality.
📝 Abstract
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.