Mining implicit design templates for actionable code reuse

In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skel...

Full description

Saved in:
Bibliographic Details
Main Authors: LIN, Yun, MENG, Guozhu, YUE, Yinxing, XING, Zhenchang, SUN, Jun, PENG, Xin, LIU, Yang, ZHAO, Wenyun, DONG, Jin Song
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2017
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/4710
https://ink.library.smu.edu.sg/context/sis_research/article/5713/viewcontent/Mining_Implicit_design_templates_ase2017_av.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-5713
record_format dspace
spelling sg-smu-ink.sis_research-57132020-03-25T08:42:11Z Mining implicit design templates for actionable code reuse LIN, Yun MENG, Guozhu YUE, Yinxing XING, Zhenchang SUN, Jun PENG, Xin LIU, Yang ZHAO, Wenyun DONG, Jin Song In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skeleton of recurring design as well as the semi-implemented code bodies annotated with comments to remind programmers of necessary modification. We implemented our approach as an Eclipse plugin called MICoDe. We evaluated our approach with a reuse simulation experiment and a user study involving 16 participants. The results of our simulation experiment on 10 open source Java projects show that, to create a new similar feature with a design template, (1) on average 69% of the elements in the template can be reused and (2) on average 60% code of the new feature can be adopted from the template. Our user study further shows that, compared to the participants adopting the copy-paste-modify strategy, the ones using MICoDe are more effective to understand a big design picture and more efficient to accomplish the code reuse task. 2017-11-03T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/4710 info:doi/10.1109/ASE.2017.8115652 https://ink.library.smu.edu.sg/context/sis_research/article/5713/viewcontent/Mining_Implicit_design_templates_ase2017_av.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 Open source software Software engineering design templates Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Open source software
Software engineering
design templates
Software Engineering
spellingShingle Open source software
Software engineering
design templates
Software Engineering
LIN, Yun
MENG, Guozhu
YUE, Yinxing
XING, Zhenchang
SUN, Jun
PENG, Xin
LIU, Yang
ZHAO, Wenyun
DONG, Jin Song
Mining implicit design templates for actionable code reuse
description In this paper, we propose an approach to detecting project-specific recurring designs in code base and abstracting them into design templates as reuse opportunities. The mined templates allow programmers to make further customization for generating new code. The generated code involves the code skeleton of recurring design as well as the semi-implemented code bodies annotated with comments to remind programmers of necessary modification. We implemented our approach as an Eclipse plugin called MICoDe. We evaluated our approach with a reuse simulation experiment and a user study involving 16 participants. The results of our simulation experiment on 10 open source Java projects show that, to create a new similar feature with a design template, (1) on average 69% of the elements in the template can be reused and (2) on average 60% code of the new feature can be adopted from the template. Our user study further shows that, compared to the participants adopting the copy-paste-modify strategy, the ones using MICoDe are more effective to understand a big design picture and more efficient to accomplish the code reuse task.
format text
author LIN, Yun
MENG, Guozhu
YUE, Yinxing
XING, Zhenchang
SUN, Jun
PENG, Xin
LIU, Yang
ZHAO, Wenyun
DONG, Jin Song
author_facet LIN, Yun
MENG, Guozhu
YUE, Yinxing
XING, Zhenchang
SUN, Jun
PENG, Xin
LIU, Yang
ZHAO, Wenyun
DONG, Jin Song
author_sort LIN, Yun
title Mining implicit design templates for actionable code reuse
title_short Mining implicit design templates for actionable code reuse
title_full Mining implicit design templates for actionable code reuse
title_fullStr Mining implicit design templates for actionable code reuse
title_full_unstemmed Mining implicit design templates for actionable code reuse
title_sort mining implicit design templates for actionable code reuse
publisher Institutional Knowledge at Singapore Management University
publishDate 2017
url https://ink.library.smu.edu.sg/sis_research/4710
https://ink.library.smu.edu.sg/context/sis_research/article/5713/viewcontent/Mining_Implicit_design_templates_ase2017_av.pdf
_version_ 1770574986243735552