
-
生物通官微
陪你抓住生命科技
跳动的脉搏
自动推荐提取局部变量重构的方法
《ACM Transactions on Software Engineering and Methodology》:Automated Recommendation of Extracting Local Variable Refactorings
【字体: 大 中 小 】 时间:2025年11月07日 来源:ACM Transactions on Software Engineering and Methodology
编辑推荐:
提出自动化提取局部变量重构方法ValExtractor+,包含安全验证模块solutionAdvisor和自动推荐模块opportunityAdvisor。前者通过静态分析确保重构安全性,后者结合机器学习预测最佳提取表达式。实验表明该方案成功规避Eclipse和IntelliJ IDEA的266项重构缺陷,并实现307次正确提取推荐,4项代码贡献被Eclipse社区采纳。
ValExtractor+,该方法能够推荐提取局部变量的时机,并自动且安全地执行重构操作。ValExtractor+由两部分组成:solutionAdvisor和opportunityAdvisor。给定一个需要提取的表达式,solutionAdvisor利用轻量级的静态源代码分析来验证该表达式可能产生的副作用,并识别可以与该表达式一起提取为单个变量的其他表达式,同时不会改变程序的语义或引入新的异常。静态代码分析显著提高了自动提取局部变量的安全性。为了使程序员无需手动选择需要提取的表达式,opportunityAdvisor利用solutionAdvisor自动检索所有可以安全提取的表达式及其重构方案,然后通过基于学习的分类器来预测哪些表达式应该被提取。在开源应用程序上的评估表明,solutionAdvisor成功避免了由Eclipse(243个缺陷)或IntelliJ IDEA(263个缺陷)执行的局部变量重构所引起的所有缺陷(超过200个)。此外,opportunityAdvisor在推荐提取表达式方面表现优异,实现了307个真正例(TP)和21,121个真正例(TN)。我们的四项 pull 请求(PR ID:66、333、439 和 360)已成功合并到 Eclipse 社区仓库中,这表明了我们的方法在实际应用中的影响力和稳健性,得到了更广泛开发者社区的认可。
生物通微信公众号
知名企业招聘