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.