河北科技大学学报2026,Vol.47Issue(2):200-208,9.DOI:10.7535/hbkd.2026yx02009
基于自适应交叉的多目标软件重构推荐方法
Recommendation method for multi-objective software refactoring based on adaptive crossover
摘要
Abstract
To address the problem of excessive randomness introduced by the mechanical exchange of gene fragments in traditional crossover operators,which leads to the generation of invalid refactoring operations,this paper proposed a refactoring recommendation method called RefCross based on an adaptive crossover operator.Firstly,the submitted Java projects were parsed using source code analysis tools to construct a code structure model to extract code metrics.Then the fitness function was designed and the fitness value was calculated based on the extracted code metrics to guide the optimization direction of the crossover operator.Finally,the parent classification mechanism based on feature matching was constructed,and the crossover strategy was formulated.By combining with common gene retention,adaptive selection of differential genes,and the elite gene reinforcement strategy,the offspring refactoring sequences that balanced high-quality feature inheritance and diversity in the solution space was generated,thereby reducing the probability of generating ineffective refactoring operations.The results show that RefCross outperforms existing methods in precision,recall,and F1 score metrics on six open-source projects,achieving an average F1 score of 77.82%,representing a baseline improvement of 9.10 percentage points.This method effectively enhances the effectiveness and accuracy of refactoring recommendations,providing strong support for automated refactoring decisions.关键词
软件工程/多目标优化/交叉算子/重构推荐/父代分类Key words
software engineering/multi-objective optimization/crossover operator/refactoring recommendation/parent classification分类
信息技术与安全科学引用本文复制引用
郑梅艳,张杨..基于自适应交叉的多目标软件重构推荐方法[J].河北科技大学学报,2026,47(2):200-208,9.基金项目
国家自然科学基金(61440012,J2524003) (61440012,J2524003)
河北省自然科学基金(F2023208001,F2026208004) (F2023208001,F2026208004)
河北省引进留学人员资助项目(C20230358) (C20230358)