Font Size: a A A

Software Refactoring Recommendation Approach Via Multi-objective Optimization And Correlation Analysis

Posted on:2024-08-22Degree:MasterType:Thesis
Country:ChinaCandidate:L N FangFull Text:PDF
GTID:2568307103995679Subject:Computer technology
Abstract/Summary:
The growth of software requirements and changes in the operating environment leads to continuous changes in software throughout its life cycle,with the consequent gradual disorganization of the internal structure of the system and a sharp decline in the readability of the code.Software refactoring is a key technique for improving the quality of software and plays a positive role in the process of software maintenance.In recent years,the software refactoring recommendation problem has become a hot research topic in the field of software evolution,and the search-based refactoring recommendation method is one of the classical methods to solve this problem.However,the developers often ignore the relationship between the target sub-attributes,and the influence of different sub-attributes on the target as a whole when recommending refactoring results,and lacks further optimization of the refactoring recommendation results.In addition,most of the current studies only consider a few common types of refactoring,ignoring the recommendation of more types of refactoring,so there is an urgent need for further research on the refactoring recommendation method for automated software.To address the problem that the relationships between the sub-attributes of the optimization targets and the impact of different sub-attributes on the target as a whole have not been attended to promptly,as well as the limited number of refactoring types considered,the thesis proposes an automatic refactoring recommendation method MIRROR based on correlation analysis and multi-objective optimization.The method uses correlation analysis to select different software quality attributes and different code smell types and then uses multi-objective optimization to search for three objectives:improving software quality,removing code smell,and maximizing the similarity to historical refactorings,to obtain a sequence of refactoring recommendations.Based on this approach,an automated refactoring recommendation tool,MIRROR,was designed and implemented in the form of a plug-in under the Eclipse JDT framework.The experimental results show that MIRROR can recommend an average of 43 refactorings for every project and achieve good recommendation results.In addition,when comparing MIRROR with the existing refactoring recommendation tools JMove and QMove,the accuracy rate is improved by 3.62% and 2.41% respectively.The experiments show that MIRROR can effectively perform refactoring recommendations and improve the efficiency of software evolution.
Keywords/Search Tags:Software refactoring, Multi-objective optimization, Refactoring recommendation, Correlation analysis, Software maintenance
Related items