摘要
软件重构历史的自动检测是目前软件重构领域的一个研究热点。其主要目的是方便程序员或软件维护人员理解软件演化的历史,也便于根据服务代码重构历史对其客户代码进行相应的重构操作。虽然相关研究人员已经提出了多种自动化的重构历史检测方法,但目前未见关于函数提取重构历史检测的方法或工具。为此,提出了一种基于版本比较的函数抽取重构自动检测方法,实现并验证了该方法的有效性。在8个开源项目上进行了实验验证,结果表明其查准率为65%~90%。此外,在一个小型项目上通过监控程序员的重构操作获得了全部的函数提取重构操作,进而计算出检测算法的查全率和查准率均为85%。
Automated detection of refactorings is a hot topic in the field of software refactoring. The main purpose ot the detection is to facilitate the understanding of software evolution and refactoring on clients according to changes made on their servers. Although a number of methods and tools have been proposed to automatically detect refactorings, to the best of our knowledge there is no methods or tools to detect and extract method refactorings automatically by comparing two versions of an application. To this end, we proposed an approach to detect and extract method refactorings by comparing two successive versions of a given application. We also implemented the proposed approach and validated it with open source applications. Evaluation results on 8 open-source applications suggest that the precision of the proposed approach varies from 65 % to 90 %. We also conducted an evaluation by monitoring developers on a small application. And evaluation results suggest that the recall and precision of the proposed approach is 85% and 85%,respectively.
出处
《计算机科学》
CSCD
北大核心
2015年第12期105-107,共3页
Computer Science
基金
国家自然科学基金(61272169
61472034)
教育部"新世纪优秀人才支持计划"(NCET-13-0041)
北京高等学校"青年英才计划"(YETP1183)资助
关键词
软件重构
重构历史
自动检测
版本
软件演化
Software refactoring, Refactoring history, Automated detection, Version, Software evolution