Software cloning is a well-known software quality defect. Nevertheless, it abounds in practice -- across artifacts, organizations and domains. This has two principal reasons: first, the significance of cloning is not well understood. Second, no comprehensive method exists that guides practitioners to establish successful clone control. This thesis contributes to both areas. First, we present empirical results on the significance of cloning. Our case studies on source code, requirements specifications and Matlab/Simulink models demonstrate that cloning needs to be controlled to avoid its negative impact on correctness and costs. Second, we present a comprehensive method for clone control and demonstrate its effectiveness through an industrial case study, where it successfully reduced the amount of cloning in the participating system. Finally, we identify the limitations of clone detection and control by a controlled experiment.
«
Software cloning is a well-known software quality defect. Nevertheless, it abounds in practice -- across artifacts, organizations and domains. This has two principal reasons: first, the significance of cloning is not well understood. Second, no comprehensive method exists that guides practitioners to establish successful clone control. This thesis contributes to both areas. First, we present empirical results on the significance of cloning. Our case studies on source code, requirements specifica...
»