Abstract
Improving maintainability by refactoring is essentially being considered as one of the important aspect of software development. For large and complex systems, identification of code segments, which require re-factorization is a compelling task for software developers. Development of recommendation systems for suggesting methods, which require refactoring are achieved using this research work. Materials and Methods: Literature works considered source code metrics for object-oriented software systems in order to measure the complexity of a software. In order to predict the need of refactoring, the proposed system computes twenty-five different source code metrics at the method level and utilize them as features in a machine learning framework. An open source dataset consisting of five different software systems is being considered for conducting a series of experiments in order to assess the performance of proposed approach. LSSVM with SMOTE data imbalance technique are being utilized in order to overcome the class imbalance problem. Conclusion: Analysis of the results reveals that LS-SVM with RBF kernel using SMOTE results in the best performance.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
The promise repository of empirical software engineering data (2015)
Al Dallal, J.: Predicting move method refactoring opportunities in object-oriented code. Inf. Softw. Technol. 92, 105–120 (2017)
Bavota, G., De Lucia, A., Di Penta, M., Oliveto, R., Palomba, F.: An experimental investigation on the innate relationship between quality and refactoring. J. Syst.Softw. 107, 1–14 (2015)
Chávez, A., Ferreira, I., Fernandes, E., Cedrim, D., Garcia, A.: How does refactoring affect internal quality attributes?: A multi-project study. In: Proceedings of the 31st Brazilian Symposium on Software Engineering, pp. 74–83. ACM (2017)
Fowler, M., Beck, K.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (1999)
Kádár, I., Hegedus, P., Ferenc, R., Gyimóthy, T.: A code refactoring dataset and its assessment regarding software maintainability. In: 2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER), vol. 1, pp. 599–603. IEEE (2016)
Kádár, I., Hegedűs, P., Ferenc, R., Gyimóthy, T.: A manually validated code refactoring dataset and its assessment regarding software maintainability. In: Proceedings of the The 12th International Conference on Predictive Models and Data Analytics in Software Engineering, p. 10. ACM (2016)
Kim, M., Gee, M., Loh, A., Rachatasumrit, N.: Ref-finder: a refactoring reconstruction tool based on logic query templates. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 371–372. ACM (2010)
Kosker, Y., Turhan, B., Bener, A.: An expert system for determining candidate software classes for refactoring. Expert Syst. Appl. 36(6), 10000–10003 (2009)
Kumar, L., Sureka, A.: Application of LSSVM and SMOTE on seven open source projects for predicting refactoring at class level. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 90–99 (2017)
Kumar, L., Sureka, A.: Application of LSSVM and SMOTE on seven open source projects for predicting refactoring at class level. In: 2017 24th Asia-Pacific Software Engineering Conference (APSEC), pp. 90–99. IEEE (2017)
Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)
Suykens, J., Lukas, L., Van Dooren, P., De Moor, B., Vandewalle, J., et al.: Least squares support vector machine classifiers: a large scale algorithm. In: European Conference on Circuit Theory and Design, ECCTD, vol. 99, pp. 839–842 (1999)
Suykens, J.A., Lukas, L., Vandewalle, J.: Sparse approximation using least squares support vector machines. In: Proceedings of the IEEE International Symposium on Circuits and Systems, ISCAS 2000, vol. 2, pp. 757–760. IEEE, Geneva (2000)
Zhao, L., Hayes, J.: Predicting classes in need of refactoring: an application of static metrics. In: Proceedings of the 2nd International PROMISE Workshop, Philadelphia, Pennsylvania, USA (2006)
Author information
Authors and Affiliations
Corresponding authors
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer Nature Switzerland AG
About this paper
Cite this paper
Kumar, L., Satapathy, S.M., Krishna, A. (2018). Application of SMOTE and LSSVM with Various Kernels for Predicting Refactoring at Method Level. In: Cheng, L., Leung, A., Ozawa, S. (eds) Neural Information Processing. ICONIP 2018. Lecture Notes in Computer Science(), vol 11305. Springer, Cham. https://doi.org/10.1007/978-3-030-04221-9_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-04221-9_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-04220-2
Online ISBN: 978-3-030-04221-9
eBook Packages: Computer ScienceComputer Science (R0)