Supporting automatic change integration

Branching, in software development, is the process of creating a copy of a code base for the purpose of modifying it in some way. Branching inevitably raises the issue of merging. Changes made in one branch may need to be propagated to the others. Merging, however, poses substantial challenges. A common issue, particularly relevant to systems software, such as Linux, is that within a single branch, developers often create new code by copying existing code that is expected to have a similar intent, and possibly modifying it slightly according to its new context. A change that applies to the original code is likely to be relevant to the clones as well, even when the original code has been deleted in the current branch. The objective of this thesis is to provide a methodology to identify such code clones in the dierent branches between which changes have to be propagated and integrated. This thesis will provide analyses and tools for identifying code clones and supporting automatic change integration.

Page mise à jour le 17/06/2013 à 11:12