面向代码坏味检测的阈值动态优化方法
本文关键词: 软件重构 代码坏味 反馈控制 坏味检测 出处:《北京理工大学》2016年硕士论文 论文类型:学位论文
【摘要】:软件重构是通过调整软件内部结构来提高软件质量的一种技术。为了判定哪里需要重构,人们提出了代码坏味的概念用于表示设计不合理的代码。但代码坏味的手工检测比较困难也需要消耗大量宝贵的人力资源,因此人们提出了各种各样的代码坏味检测方法与检测工具。考虑到软件重构的主观性,这些算法通常会给程序员预留一些阈值进行个性化的定制。一方面是因为代码坏味检测通常是很主观的并且与应用程序相关。比如,长方法的检测,代码坏味检测算法需要知道多长才是真正意义上的长。另一方面,程序员有自己不同的工作进度安排和软件质量需求,他们需要根据自己的实际情况来个性化的定制相关阈值。然而,大部分的程序员并不了解阈值设定和性能表现之间精确的数量关系,因此要他们手动地优化这些阈值非常困难。为此,本文提出了一种面向代码坏味检测的阈值动态优化方法。该方法根据程序员的反馈自动优化坏味检测中的阈值设置。具体优化过程包括如下几个步骤。首先,程序员根据自己的工作进度安排和代码质量需求设置一个目标查准率。然后,根据程序员的反馈,阈值优化算法在保证查准率不小于目标查准率的情况下,自动的搜索最优的阈值设定使得查全率最大化。在5个不同类型的开源项目上对4种常见的代码坏味进行了实验验证,结果表明,该方法比现有方法更为有效,实际查准率与目标查准率之间的平均差距降低了80%;并且初始阈值的选择对方法几乎没有影响。因此该方法是十分有效的。
[Abstract]:Software refactoring is a technique to improve software quality by adjusting the internal structure of software. People put forward the concept of bad taste of code to represent the code with unreasonable design, but the manual detection of bad taste of code is more difficult and needs to consume a lot of valuable human resources. Therefore, people put forward a variety of code bad taste detection methods and detection tools, considering the subjectivity of software refactoring. These algorithms usually allow programmers some threshold for personalized customization, on the one hand, because code bad taste detection is usually subjective and relevant to the application, for example, long method detection. Code bad taste detection algorithms need to know how long is really long. On the other hand, programmers have their own different schedule and software quality requirements. They need to customize the relevant thresholds according to their actual situation. However, most programmers do not understand the precise quantitative relationship between threshold setting and performance. So it's very difficult to ask them to manually optimize these thresholds. In this paper, a threshold dynamic optimization method for code bad taste detection is proposed. The method automatically optimizes threshold setting in bad taste detection according to programmer's feedback. The specific optimization process includes the following steps. The programmer sets a target precision rate according to his work schedule and code quality requirements. Then, according to the feedback of the programmer, the threshold optimization algorithm ensures that the precision rate is not less than the target precision rate. Automatic search optimal threshold sets maximize recall. Four common code bad smells are tested on five different open source projects. The results show that the proposed method is more effective than the existing methods. The average gap between the actual precision rate and the target precision rate is reduced by 80%; And the choice of initial threshold has little effect on the method, so this method is very effective.
【学位授予单位】:北京理工大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TP311.1
【相似文献】
相关期刊论文 前10条
1 饶鲜;杨绍全;魏青;董春曦;;基于熵的入侵检测特征参数选择[J];系统工程与电子技术;2006年04期
2 王东琦,王长山,林延福;检测SYN洪水攻击的动态模型[J];现代电子技术;2004年23期
3 周勇林;由林麟;张永铮;;基于命名及解析行为特征的异常域名检测方法[J];计算机工程与应用;2011年20期
4 李彬,戴银涛,胡昌振;Linux下一种入侵检测特征提取及规则制定方法[J];计算机安全;2003年11期
5 曹政;入侵检测技术,鸡肋还是机会?——入侵检测的几个问题和解决途径[J];网络安全技术与应用;2003年04期
6 孟磊;刘胜利;刘龙;陈嘉勇;孙海涛;;基于心跳行为分析的木马快速检测方法[J];计算机工程;2012年14期
7 张小兵,叶新铭,石立新;入侵检测中的告警分析研究[J];内蒙古大学学报(自然科学版);2004年05期
8 蒋宗华;刘军;;基于动态克隆选择的入侵检测及其搜索核特征的研究[J];电脑与信息技术;2006年06期
9 胡建康;徐震;马多贺;杨婧;;基于决策树的Webshell检测方法研究[J];网络新媒体技术;2012年06期
10 黎利辉;;基于遗传模拟退火算法的入侵检测特征选择研究[J];计算机安全;2010年07期
相关重要报纸文章 前1条
1 金婉霞 本报记者 王春;检测H7N9 仅需两小时[N];科技日报;2013年
相关博士学位论文 前10条
1 姜德迅;代码坏味检测方法研究及重构分析[D];哈尔滨工业大学;2014年
2 任少卿;基于特征共享的高效物体检测[D];中国科学技术大学;2016年
3 许舟军;基于异常分析的入侵检测关键技术研究[D];天津大学;2006年
4 郁继锋;基于数据挖掘的Web应用入侵异常检测研究[D];华中科技大学;2011年
5 任斐;基于数据挖掘的自适应异常检测研究[D];吉林大学;2009年
6 滕少华;基于对象监控的分布式协同入侵检测[D];广东工业大学;2008年
7 李战春;入侵检测中的机器学习方法及其应用研究[D];华中科技大学;2007年
8 李鸿彬;SIP网络中入侵检测与防御系统关键技术的研究[D];中国科学院研究生院(沈阳计算技术研究所);2012年
9 刘长龙;基于侧信道分析的硬件木马检测技术研究[D];天津大学;2013年
10 张福勇;面向恶意代码检测的人工免疫算法研究[D];华南理工大学;2012年
相关硕士学位论文 前10条
1 胥小马;使用多特征和多线索的驾驶员人脸检测技术[D];北京理工大学;2015年
2 李先飞;基于外貌特征的行人检测方法研究与软件实现[D];电子科技大学;2014年
3 刘秋荣;面向代码坏味检测的阈值动态优化方法[D];北京理工大学;2016年
4 郝建波;微博突发话题检测、跟踪与传播预测技术研究[D];哈尔滨工程大学;2013年
5 李娜娜;基于免疫的层次异常检测研究[D];河北工业大学;2005年
6 钱昱;数据挖掘在入侵检测中的应用研究[D];安徽大学;2004年
7 梁宏志;特征分析在入侵检测中的应用[D];电子科技大学;2007年
8 吴素芹;免疫Agent在入侵检测中的应用研究[D];南京理工大学;2009年
9 冯月姣;基于频率分析的网络流量异常检测方法研究[D];吉林大学;2011年
10 肖柏旭;基于卷积网络的人脸检测的研究与实现[D];华北电力大学(河北);2007年
,本文编号:1475446
本文链接:https://www.wllwen.com/guanlilunwen/renliziyuanguanlilunwen/1475446.html