Lozano Rodriguez, Angela
[UCL]
Jaafar, Fehmi
[Ecole Polytechnique de Montréal]
Mens, Kim
[UCL]
Guéhéneuc, Yann Gaël
[Ecole Polytechnique de Montréal]
Ideally, any change that modifies the similar parts of a cloned code snippet should be propagated to all its duplicates. In practice however, consistent propagation of changes in clones does not always happen. Current evidence indicates that clone families have a 50% chance of having consistent changes. This paper measures cloning and co-changes at file level as a proxy to assess the frequency of consistent changes. Given that changes to a clone group are not necessarily propagated in the same commit transaction (i.e., late propagations), our analysis uses macro co-changes instead of the traditional definition of co-changes. Macro changes group bursts of changes that are closer among themselves than to other changes, regardless of author or message. Then, macro co-changes are sets of files that change in the same macro changes. Each cloned file is tagged depending on whether any of the files with which it macro co-changes is cloned with it (during the macro change) or not. Contrary to previous results, we discovered that most of the cloned files macro co-change only with files with which they share clones. Thus providing evidence that macro changes are appropriate to study the conjecture of clones requiring co-changes, and indicating that consistent changes might be the norm in cloned code.
Bibliographic reference |
Lozano Rodriguez, Angela ; Jaafar, Fehmi ; Mens, Kim ; Guéhéneuc, Yann Gaël. Clones and Macro-Co-Changes.Eighth International Workshop on Software Clones (IWSC 2014) (Antwerp, Belgium, 03/02/2014). In: Electronic Communications of the EASST, Vol. 63, no./, p. 14 pages (3 February 2014) |
Permanent URL |
http://hdl.handle.net/2078.1/162105 |