Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
11-2017
Abstract
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.
Keywords
Open source software, Software engineering, design templates
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ASE '17: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering: October 30-November 3, Urbana-Champaign, IL
First Page
394
Last Page
404
ISBN
9781538626849
Identifier
10.1109/ASE.2017.8115652
Publisher
IEEE
City or Country
Piscataway, NJ
Citation
LIN, Yun; MENG, Guozhu; YUE, Yinxing; XING, Zhenchang; SUN, Jun; PENG, Xin; LIU, Yang; ZHAO, Wenyun; and DONG, Jin Song.
Mining implicit design templates for actionable code reuse. (2017). ASE '17: Proceedings of the 32nd IEEE/ACM International Conference on Automated Software Engineering: October 30-November 3, Urbana-Champaign, IL. 394-404.
Available at: https://ink.library.smu.edu.sg/sis_research/4710
Copyright Owner and License
Authors
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/ASE.2017.8115652