-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the MergeClear wiki!
In this wiki we will keep information about the approach proposed to merge clone systems.
CLONING PROBLEM
Despite the existence of well-structured and systematic reuse approaches such as software product line engineering , many institutions apply a “clone-and-own” reuse approach to develop, evolve and customize software systems. This results mostly because cloning is a simple, fast, practical and easy to understand technique that allows reusing existing software system implementations, and to independently adapt and evolve them for new contexts and scenarios. The below figure illustrates a common evolution scenario where code conflicts can arise when merging two cloned web-based systems.
APPROACH
In this context, was proposed the HEMIRECS - History Evolution Mining for Reconciliation of Cloned Systems approach that aims to identify merge problems that can arise in the integration of cloned systems. The HEMIRECS approach proposal to identify these problems organizing the evolution information in a structural model and realizing a call graph dependence analysis. For this approach was developed a tool called MergeClear.
STRUCTURAL EVOLUTION MODEL
The module executes an algorithm that compares the source and target systems searching for changes applied to the features and code assets of the systems. It produces as output a delta model containing differences between the source and target.
KIND OF CONFLICTS PROPOSED
Direct conflicts are conflict when the same method of variable change in both side of the reconciliation.
Indirect conflicts are conflicts detected when the method or variable that will be reconciled do not change, but some method or variable related with the first one in the call graph, change.
Pseudo conflicts are changes in method or variable of the same class, but these artifacts have no relationship in the call graph.