Mining Version Histories To Automate Merge-Conflict Resolutions

In current collaborative software development environments, developers usually work in parallel. They often share changes with other developers or incorporate changes from them, with the help of version control systems (VCSs) such as Git and Subversion. The parallel collaboration process improves the development speed on the one hand, but on the other hand, leads to possible code inconsistencies.
When multiple developers make inconsistent changes, textual, syntactic, or semantic merge conflicts may occur during integration. Time needed to resolve these conflicts reduces developers’ productivity. The solutions developed in this project will assist the developers in identifying conflicts before they occur and explaining the reasons behind these conflicts. That will help simplify the software development process, improve software maintenance, shorten the time to market, and increase the quality of the produced software.

Faculty Supervisor:

Julia Rubin


Yingying Wang


Samsung Research Canada


Engineering - computer / electrical


Information and communications technologies




Current openings

Find the perfect opportunity to put your academic skills and knowledge into practice!

Find Projects