LastMerge: A language-agnostic structured tool for code integration
Joao Pedro Duarte, Paulo Borba, Guilherme Cavalcanti

TL;DR
This paper introduces LastMerge, a language-agnostic structured code merge tool that maintains high accuracy and performance, making structured merging more accessible across various programming languages.
Contribution
We propose LastMerge, a generic structured merge tool that reduces support effort and demonstrates comparable accuracy and performance to language-specific tools.
Findings
LastMerge maintains merge accuracy similar to language-specific tools.
Generic tools report 15% fewer false positives and 42% fewer false negatives.
Runtime performance of generic tools is comparable to specialized implementations.
Abstract
Unstructured line-based merge tools are widely used in practice. Structured AST-based merge tools show significantly improved merge accuracy, but are rarely used in practice because they are language specific and costly, consequently not being available for many programming languages. To improve merge accuracy for a wide range of languages, we propose LastMerge, a generic structured merge tool that can be configured through a thin interface that significantly reduces the effort of supporting structured merge. To understand the impact that generic structured merge might have on merge accuracy and performance, we run an experiment with four structured merge tools: two Java specific tools, jDime and Spork, and their generic counterparts, respectively LastMerge and Mergiraf. Using each tool, we replay merge scenarios from a significant dataset, and collect data on runtime, behavioral…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Parallel Computing and Optimization Techniques · Advanced Software Engineering Methodologies
