An Empirical Study for Method-Level Refactoring Prediction by Ensemble Technique and SMOTE to Improve Its Efficiency

An Empirical Study for Method-Level Refactoring Prediction by Ensemble Technique and SMOTE to Improve Its Efficiency

Rasmita Panigrahi, Sanjay Kumar Kuanar, Lov Kumar
Copyright: © 2021 |Pages: 18
DOI: 10.4018/IJOSSP.287612
OnDemand:
(Individual Articles)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Code refactoring is the modification of structure without altering its functionality. The refactoring task is critical for enhancing the qualities for non-functional attributes, such as efficiency, understandability, reusability, and flexibility. The research aims to build an optimized model for refactoring prediction at the method level with seven ensemble techniques and varieties of SMOTE techniques. This research has considered five open source java projects to investigate the accuracy of the proposed model, which forecasts refactoring applicants by the use of ensemble techniques (BAG-KNN, BAG-DT, BAG-LOGR, ADABST, EXTC, RANF, GRDBST). Data imbalance issues are handled using three sampling techniques (SMOTE, BLSMOTE, SVSMOTE) to improve refactoring prediction efficiency and also focused all features and significant features. The mean accuracy of the classifiers like BAG-DT is 99.53%, RANF is 99.55%, and EXTC is 99.59%. The mean accuracy of the BLSMOTE is 97.21%. The performance of classifiers and sampling techniques are shown in terms of the box-plot diagram.
Article Preview
Top

Dirty codes are the outcomes of imperfect and inexperienced coding. It occurs due to different factors like time frames, mismanagement, and unclean shortcuts during the lifecycle of the software development process. The other causes of dirty code are lack of testing, documentation issues, lack of understanding, communication issues, lack of teamwork, monitoring issues, workload, and late refactoring. Sometimes heavy workload of the developer often leads to bad coding, which finishes the project by duplicating the code from other sources. Lack of understanding and testing of the technical debt also leads to dirty coding. Teamwork plays a key role in the software development life cycle. Lack of collaboration and communication are also the cause of these issues. Most of the projects are needed to be completed in the stipulated amount of time. As a result, most of the critical features are unable to be built by the software developer. Change in the part of the project also had an adverse effect on the whole project leading to nasty coding. After developing a project, refactoring or re-engineering plays a vital role in developing perfect code. So the above factors are the causes of dirty code, which leads to code smell.

Complete Article List

Search this Journal:
Reset
Volume 15: 1 Issue (2024): Forthcoming, Available for Pre-Order
Volume 14: 1 Issue (2023)
Volume 13: 4 Issues (2022): 1 Released, 3 Forthcoming
Volume 12: 4 Issues (2021)
Volume 11: 4 Issues (2020)
Volume 10: 4 Issues (2019)
Volume 9: 4 Issues (2018)
Volume 8: 4 Issues (2017)
Volume 7: 4 Issues (2016)
Volume 6: 1 Issue (2015)
Volume 5: 3 Issues (2014)
Volume 4: 4 Issues (2012)
Volume 3: 4 Issues (2011)
Volume 2: 4 Issues (2010)
Volume 1: 4 Issues (2009)
View Complete Journal Contents Listing