Syntactic Software Merging

Document Type

Contribution to Books

Publication Date




Software merging is the process of combining multiple existing versions of a source file, to produce a new version. Typically, the goal is for the new version to implement some kind of union of the features implemented by the existing versions. A variety of merge tools are available, but software merging is still a tedious process, and mistakes are easy to make. This paper describes the fundamentals of merging, surveys the known methods of software merging, including a method based on programming-language syntax, and discusses a set of tools that perform syntactic merging.


Software Configuration Management: ICSE SCM-4 and SCM-5 Workshops Selected Papers is volume 1005 of the Lecture Notes in Computer Science series.