{"title":"Effects of Refactoring upon Efficiency of an NP-Hard Task Assignment Problem: A case study","authors":"Huda Tariq, Maliha Arshad, W. Basit","doi":"10.1109/ICACS47775.2020.9055956","DOIUrl":null,"url":null,"abstract":"The goal of this paper is to analyze the effects of refactoring on time complexity of an algorithm. For this purpose a problem in which time complexity is highly sensitive, is chosen for studying. As it is known by computer scientists, they use refactoring in order to improve quality of design while preserving external behavior (functional properties). Sustainability of nonfunctional properties are not guaranteed. Hence, for learning its effects on non-functional properties such as time, a multiobjective task assignment problem is selected. The chosen problem has been implemented through an Evolutionary Genetic Algorithm. The problem chosen is an NP -hard problem because of being time sensitive. Initially, code smells are detected & refactoring is applied. In order to observe the improvement in design of code, several metrics of quality such as cohesion, coupling, complexity & inheritance, are calculated and compared before & after applying refactoring. Also, computation time of the improved code is compared with the original code, in order to analyze effects of refactoring on computation time. For problems that are time sensitive, refactoring may not be a good choice depending upon the requirements. Results of the experimentation nullify the approach that refactoring improves the computational cost of the software. Increase in the length of code eventually may prove as a tradeoff in terms of memory consumption.","PeriodicalId":268675,"journal":{"name":"2020 3rd International Conference on Advancements in Computational Sciences (ICACS)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2020-02-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 3rd International Conference on Advancements in Computational Sciences (ICACS)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICACS47775.2020.9055956","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1
Abstract
The goal of this paper is to analyze the effects of refactoring on time complexity of an algorithm. For this purpose a problem in which time complexity is highly sensitive, is chosen for studying. As it is known by computer scientists, they use refactoring in order to improve quality of design while preserving external behavior (functional properties). Sustainability of nonfunctional properties are not guaranteed. Hence, for learning its effects on non-functional properties such as time, a multiobjective task assignment problem is selected. The chosen problem has been implemented through an Evolutionary Genetic Algorithm. The problem chosen is an NP -hard problem because of being time sensitive. Initially, code smells are detected & refactoring is applied. In order to observe the improvement in design of code, several metrics of quality such as cohesion, coupling, complexity & inheritance, are calculated and compared before & after applying refactoring. Also, computation time of the improved code is compared with the original code, in order to analyze effects of refactoring on computation time. For problems that are time sensitive, refactoring may not be a good choice depending upon the requirements. Results of the experimentation nullify the approach that refactoring improves the computational cost of the software. Increase in the length of code eventually may prove as a tradeoff in terms of memory consumption.