Bakhtiar Khan Kasi, and Anita Sarma: "Cassandra: Proactive Conflict Minimization through Optimized Task Scheduling." ICSE'13, 2013. http://cse.unl.edu/~bkasi/papers/IEEE-preprint.pdf
Software conflicts arising because of conflicting changes are a regular occurrence and delay projects. The main precept of workspace awareness tools has been to identify potential conflicts early, while changes are still small and easier to resolve. However, in this approach conflicts still occur and require developer time and effort to resolve. We present a novel conflict minimization technique that proactively identifies potential conflicts, encodes them as constraints, and solves the constraint space to recommend a set of conflict-minimal development paths for the team. Here we present a study of four open source projects to characterize the distribution of conflicts and their resolution efforts. We then explain our conflict minimization technique and the design and implementation of this technique in our prototype, Cassandra. We show that Cassandra would have successfully avoided a majority of conflicts in the four open source test subjects. We demonstrate the efficiency of our approach by applying the technique to a simulated set of scenarios with higher than normal incidence of conflicts.
To help limit conflicts caused by collaborative software development, researchers Kasi and Sarma decided on a Prevention is better than cure approach. Why?
In an initial study of four open source projects from GitHub (Perl, Storm, Jenkins, and Voldemort) the authors found that merge conflicts ranged from 7.6% to 19.3%. Of the clean merges, 2.1% to 14.7% had build failures and 5.6% to 35% of correct builds incurred test failures. Also, each project had different distributions of different types of conflicts and different resolution times for each conflict type.
Two main conclusions from this work are:
Kasi and Sarma's proactive approach resulted in task scheduling tool for conflict minimization that was effective by avoiding the majority of conflicts from their experiments. Considering that the conflict resolution times in their study spanned multiple days, ranging from an average of 6 to 23 days, Kasi and Sarma's work adds another dimension to research in the area conflicting changes parallel software development. This work addresses the premise that, less conflicts = less time spent on conflict resolution.Comments powered by Disqus