Table of Content

Open Access

ARTICLE

A Recommendation Approach Based on Bayesian Networks for Clone Refactor

Ye Zhai1, *, Dongsheng Liu1, Celimuge Wu2, Rongrong She1
1 Inner Mongolia Normal University, Hohhot, 010022, China.
2 Graduate School of Informatics and Engineering, The University of Electro-Communications, Tokyo, 182- 8585, Japan.
* Corresponding Author: Ye Zhai. Email: .

Computers, Materials & Continua 2020, 64(3), 1999-2012. https://doi.org/10.32604/cmc.2020.09950

Received 31 January 2020; Accepted 09 May 2020; Issue published 30 June 2020

Abstract

Reusing code fragments by copying and pasting them with or without minor adaptation is a common activity in software development. As a result, software systems often contain sections of code that are very similar, called code clones. Code clones are beneficial in reducing software development costs and development risks. However, recent studies have indicated some negative impacts as a result. In order to effectively manage and utilize the clones, we design an approach for recommending refactoring clones based on a Bayesian network. Firstly, clone codes are detected from the source code. Secondly, the clones that need to be refactored are identified, and the static and evolutions features are extracted to build the feature database. Finally, the Bayesian network classifier is used for training and evaluating the classification results. Based on more than 640 refactor examples of five open source software developed in C, we observe a considerable enhancement. The results show that the accuracy of the approach is larger than 90%. We believe our approach will provide a more accurate and reasonable code refactoring and maintenance advice for software developers.

Keywords

Clone code, clone refactor, feature extraction, Bayesian network.

Cite This Article

Y. Zhai, D. Liu, C. Wu and R. She, "A recommendation approach based on bayesian networks for clone refactor," Computers, Materials & Continua, vol. 64, no.3, pp. 1999–2012, 2020.

Citations




This work is licensed under a Creative Commons Attribution 4.0 International License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
  • 1582

    View

  • 1299

    Download

  • 0

    Like

Related articles

Share Link

WeChat scan