Abstract

Source Code Management (SCM) systems with extensive support to branching, parallel development, and merging, such as Git and Mercurial, are increasingly popular. Despite the popularity of advanced SCM systems, merging multiple branches is still extremely painful and time consuming because it requires manually resolving a number of conflicts generated while developing branches independently. This is due to the limitations of currently available conflict detection mechanisms: conflicts are identified late and are limited to textual conflicts, while the conflicts that are most expensive to fix are the ones that cause misbehaviors in the program without causing textual conflicts. This paper introduces a multi-branch server-side dynamic analysis that can automatically detect conflicts that produce misbehaviors as soon as they are introduced, regardless the syntactical changes that occur in the program. The results of the analysis can dramatically improve the rate of conflicts that are detected and resolved early in the process. As a consequence, the cost and the effort required to complete merge operations will drastically decrease and the capability to timely evolve software will significantly improve.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call