{"title":"Multi-Objective Optimization Techniques for Software Refactoring: A Systematic Literature Review","authors":"Muhammad Zaid Rafique, K. Alam, Umer Iqbal","doi":"10.1109/MACS48846.2019.9024773","DOIUrl":null,"url":null,"abstract":"Software Refactoring is an essential activity of software maintenance. It aims at improving the internal structure of the program without affecting its external functionalities which not only aids in improving maintainability and readability but also helps in reducing overall software complexity. Many different manuals and automated software refactoring tools are available but most of these tools focus single objective refactoring i.e. improving the quality or reducing the code lines. Software refactoring involves many factors so different authors have proposed different multi-objective software refactoring approaches. We have performed systematic literature to classify and analyzed the studies published in the field of multi-objective software refactoring. The main objectives of our research are to categorize the studies on multi-objective software refactoring according to 4 criteria. We have considered studies from electronics databases from 2014 to 2019. A total of 19 studies were finalized based on our inclusion-exclusion and quality assessment criteria. The results of our research show that NSGA-II is a widely popular technique in the domain of multi-objective software refactoring whereas NSGA-III is popular when many objectives were considered. Furthermore, 11 most widely uses open source and industrial projects are identified which are used to evaluate the multi-objective software refactoring approaches. It was also observed that Precision, Recall and Inverse Generation Distance are commonly used evaluation metrics. The chronological distribution of studies shows that 2016 was the most productive research year in this field. Our results show that 76% of studies are ranked high based on our predefined quality assessment criteria. Based on our results we have concluded that multiobjective software refactoring is still an emerging field and there is a need to apply the latest state-of-the-art multi-objective approaches to get better results.","PeriodicalId":434612,"journal":{"name":"2019 13th International Conference on Mathematics, Actuarial Science, Computer Science and Statistics (MACS)","volume":"26 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-12-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2019 13th International Conference on Mathematics, Actuarial Science, Computer Science and Statistics (MACS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/MACS48846.2019.9024773","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Software Refactoring is an essential activity of software maintenance. It aims at improving the internal structure of the program without affecting its external functionalities which not only aids in improving maintainability and readability but also helps in reducing overall software complexity. Many different manuals and automated software refactoring tools are available but most of these tools focus single objective refactoring i.e. improving the quality or reducing the code lines. Software refactoring involves many factors so different authors have proposed different multi-objective software refactoring approaches. We have performed systematic literature to classify and analyzed the studies published in the field of multi-objective software refactoring. The main objectives of our research are to categorize the studies on multi-objective software refactoring according to 4 criteria. We have considered studies from electronics databases from 2014 to 2019. A total of 19 studies were finalized based on our inclusion-exclusion and quality assessment criteria. The results of our research show that NSGA-II is a widely popular technique in the domain of multi-objective software refactoring whereas NSGA-III is popular when many objectives were considered. Furthermore, 11 most widely uses open source and industrial projects are identified which are used to evaluate the multi-objective software refactoring approaches. It was also observed that Precision, Recall and Inverse Generation Distance are commonly used evaluation metrics. The chronological distribution of studies shows that 2016 was the most productive research year in this field. Our results show that 76% of studies are ranked high based on our predefined quality assessment criteria. Based on our results we have concluded that multiobjective software refactoring is still an emerging field and there is a need to apply the latest state-of-the-art multi-objective approaches to get better results.