项目名称: 基于监控与反馈的软件重构机会检测方法研究
项目编号: No.61472034
项目类型: 面上项目
立项/批准年度: 2015
项目学科: 自动化技术、计算机技术
项目作者: 刘辉
作者单位: 北京理工大学
项目金额: 80万元
中文摘要: 软件重构是提高软件质量的一个有效手段。重构机会的自动检测是其中的一个难点和热点问题。现有检测方法主要基于源代码的静态分析,通过检测代码坏味以寻找重构机会。现有方法过于依赖代码坏味的形式描述以及代码静态分析技术,忽视了程序员以及应用程序的个体差异对重构机会检测的影响。为此本项目计划研究如何根据程序员对检测结果的反馈动态优化调整现有检测算法的阈值设置,从而降低程序员和应用程序的个体差异对检测算法的影响;拟以重命名为例研究如何根据程序员的当前重构推荐类似重构机会及重构方案;计划挖掘重构历史数据找出时序上紧密相连的重构操作,分析前后重构之间的内在联系,进而提出相应的规则以根据当前重构推荐相关重构机会及重构方案。基于当前重构推荐相似及相关重构的方法既降低了对代码坏味形式化描述的依赖,也降低了程序员和应用程序的个体差异对检测算法的影响。此外该方法与基于代码坏味的检测方法可互为补充从而提高查全率。
中文关键词: 软件重构;软件演化;重构机会检测
英文摘要: Software refactoring is an effective means to improve software quality. Automated identification of refactoring opportunities is a hot topic in this field. Existing approaches identify refactoring opportunities by detecting code smells based on static source code analysis. They ignored the fact that characters of refactoring participants and software applications might influence identification of refactoring opportunities. To this end, we would investigate how to adjust thresholds for existing approaches according to feedback from users. We would also investigate how to identify similar refactoring opportunities according to current refactorings. Finally, we would investigate how to discover refactoring orders by minding refactoring history, and how to identify related refactoring opportunities according to current refactorings. Identification of refactoring opportunities according to current refactorings relies less on formal definition of code smells and characters of refactoring participants and software applications. Besides this benefit, the proposed approach could cooperate with existing code smell-based approaches to improve recall.
英文关键词: Software Refactoring;Software Evolution;Identification of Refactoring Opportunities