Clones and Macro Co-changes. Lozano, A., Jaafar, F., Mens, K., & Gu�h�neuc, Y. In G�de, N. & Higo, Y., editors, Proceedings of the 8<sup>th</sup> International Workshop on Software Clones (IWSC), February, 2014. Electronic Communications of the EASST. 15 pages.
Clones and Macro Co-changes [pdf]Paper  abstract   bibtex   
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 \emphonly 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.

Downloads: 0