Publication Type
Conference Proceeding Article
Version
publishedVersion
Publication Date
3-2014
Abstract
Code clones have to be made explicit and be managed in software maintenance. Researchers have developed many clone detection tools to detect and analyze code clones in software systems. These tools report code clones as similar code fragments in source files. However, clone-related maintenance tasks (e.g., refactorings) often involve a group of code clones appearing in larger syntactic context (e.g., code clones in sibling classes or code clones calling similar methods). Given a list of low-level code-fragment clones, developers have to manually summarize from bottom up low-level code clones that are relevant to the syntactic context of a maintenance task. In this paper, we present a clone summarization technique to summarize code clones with respect to their common syntactic context. The clone summarization allows developers to locate and maintain code clones in a top-down manner by type hierarchy and usage dependencies. We have implemented our approach in the Clonepedia tool and conducted a user study on JHotDraw with 16 developers. Our results show that Clonepedia users can better locate and refactor code clones, compared with developers using the Clone Detective tool.
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, 2014 September 29 - October 3
First Page
341
Last Page
350
Identifier
10.1109/ICSME.2014.56
Publisher
IEEE
City or Country
Victoria, BC, Canada
Citation
LIN, Yun; XING, Zhenchang; PENG, Xin; LIU, Yang; SUN, Jun; ZHAO, Wenyun; and DONG, Jin Song.
Clonepedia: Summarizing code clones by common syntactic context for software maintenance. (2014). Proceedings of the 30th IEEE International Conference on Software Maintenance and Evolution, Victoria, BC, Canada, 2014 September 29 - October 3. 341-350.
Available at: https://ink.library.smu.edu.sg/sis_research/4990
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1109/ICSME.2014.56