Clonepedia: Summarizing code clones by common syntactic context for software maintenance

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...

Full description

Saved in:
Bibliographic Details
Main Authors: LIN, Yun, XING, Zhenchang, PENG, Xin, LIU, Yang, SUN, Jun, ZHAO, Wenyun, DONG, Jin Song
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2014
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4990
https://ink.library.smu.edu.sg/context/sis_research/article/5993/viewcontent/clonepedia.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-5993
record_format dspace
spelling sg-smu-ink.sis_research-59932020-03-12T09:43:13Z Clonepedia: Summarizing code clones by common syntactic context for software maintenance LIN, Yun XING, Zhenchang PENG, Xin LIU, Yang SUN, Jun ZHAO, Wenyun DONG, Jin Song 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. 2014-03-10T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4990 info:doi/10.1109/ICSME.2014.56 https://ink.library.smu.edu.sg/context/sis_research/article/5993/viewcontent/clonepedia.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Software Engineering
spellingShingle Software Engineering
LIN, Yun
XING, Zhenchang
PENG, Xin
LIU, Yang
SUN, Jun
ZHAO, Wenyun
DONG, Jin Song
Clonepedia: Summarizing code clones by common syntactic context for software maintenance
description 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.
format text
author LIN, Yun
XING, Zhenchang
PENG, Xin
LIU, Yang
SUN, Jun
ZHAO, Wenyun
DONG, Jin Song
author_facet LIN, Yun
XING, Zhenchang
PENG, Xin
LIU, Yang
SUN, Jun
ZHAO, Wenyun
DONG, Jin Song
author_sort LIN, Yun
title Clonepedia: Summarizing code clones by common syntactic context for software maintenance
title_short Clonepedia: Summarizing code clones by common syntactic context for software maintenance
title_full Clonepedia: Summarizing code clones by common syntactic context for software maintenance
title_fullStr Clonepedia: Summarizing code clones by common syntactic context for software maintenance
title_full_unstemmed Clonepedia: Summarizing code clones by common syntactic context for software maintenance
title_sort clonepedia: summarizing code clones by common syntactic context for software maintenance
publisher Institutional Knowledge at Singapore Management University
publishDate 2014
url https://ink.library.smu.edu.sg/sis_research/4990
https://ink.library.smu.edu.sg/context/sis_research/article/5993/viewcontent/clonepedia.pdf
_version_ 1770575169492877312