IEEE Access (Jan 2019)

Dissection on Java Organs in GitHub Repositories

  • Shangwen Wang,
  • Xiaoguang Mao,
  • Xin Yi

DOI
https://doi.org/10.1109/ACCESS.2019.2917330
Journal volume & issue
Vol. 7
pp. 62561 – 62576

Abstract

Read online

Organ transplantation has brought convenience for software reuse and evolution since it was proposed. However, studies about mature, high-quality organs are still insufficient. It is still unclear about the detailed characteristics of organs in the open-source environment. In this paper, we look deep into organs obtained from software evolution processes of the ten large-scale Java repositories hosted on GitHub, aiming at providing practical information for utilizing organs in the open-source environment. We found that: 1) commits use add as a keyword in their comments possess the most organs, occupying 38% of the total amount, but commits with the keyword fix possess the highest locating accuracy (about 57%); 2) developers prefer to add new classes when they bring new functionalities to the projects in that the proportion of class level organs is 40%, more than statement level organs' and function level organs' (35% and 25%, respectively); 3) nearly 70% of the total amount are cross-file organs with the median of the number of files each organ spans reaching three and the average of this value being around four; 4) a small number (0.55%) of organs are multi-commit; 5) more than 40% of code reuse in the open-source software can be finished by organ transplantation. Based on our findings, we highlight implications for future studies and design the mode of using organs to conduct code reuse.

Keywords