专栏电商日志财经减肥爱情
投稿投诉
爱情常识
搭配分娩
减肥两性
孕期塑形
财经教案
论文美文
日志体育
养生学堂
电商科学
头戴业界
专栏星座
用品音乐

软件工程中代码异味检测方法分析

  摘要:在软件工程中,软件重构具有重要意义,它可以提高软件的可维护性、可扩展性、可重用性,进而改善软件质量。在软件重构中,代码异味检测是其中的重要组成部分。目前,代码异味检测的相关研究划分为几个类别。在对基于搜索的代码异味检测方法进行研究后,选择决策树算法来对四个代码异味进行检测,并取得不错的效果。
  关键词:软件工程;软件重构;代码异味;决策树
  0引言
  随着计算机科学的进步和发展,越来越多的行业和领域中需要使用计算机技术,各个行业的相关软件也相继被开发出来。苹果商店的应用超过了百万,桌面软件和专业软件数量更多。在软件开发中维护费用是开发成本的2100倍〔1〕。因此,为了降低软件开发中维护费用,改善软件的结构,提高软件的可扩展性和可重用性,有必要进行软件重构〔2〕。在软件工程中,软件重构用于调整面向对象软件的内部结构,提高软件的可维护性、可扩展性、可重用性,进而改善软件质量,同时软件的外部行为保持不变〔34〕。软件经过重构,可以提高代码的可读性,改善内部结构并且延长代码的生命周期。对于大型软件项目的开发,软件重构具有重要意义。在软件重构中,需要先进行代码异味检测,代码异味会暴露出一些软件中的问题,根据这些问题,工程师会做进一步检查和重构。在重构过程中,代码异味检测是重要步骤。
  1相关工作
  代码异味检测的相关研究从1999年开始,至今有将近20年研究历史。随着计算机学科的发展,对于代码异味检测的研究出现了不同的分支,主要分为以下几个类别。基于手工的代码异味检测方法,这个方法在代码异味研究早期使用。Travassos等人创建了一个阅读技术的集合,通过在纸上列举清单,使用观察方法帮助人们找到相关信息,并识别软件构件中的缺点,通过这种方式来改善软件质量〔5〕。但这类方法具有一定缺点,对于大型系统来说,手工进行代码异味检测的效率低下。基于度量的代码异味检测方法,通过使用如代码行数、参数个数、代码字符数等数据作为度量来检测代码异味。Marinescu等人开发了一个Eclipse插件,插件将设计问题量化,根据问题设置相应的度量值,并用于检测4种代码异味。通过使用插件能够持续评估系统质量,并帮助开发者进行软件重构〔6〕。基于度量的方法,准确性依赖于阈值的选择,但对于标准阈值,现在没有一致的定论。并且该方法受限于检测比较简单的代码异味,对于较复杂的代码异味不能直接用度量检测。基于症状的代码异味检测方法,通过对代码异味定义和描述进行分析,提取特征和标记,利用检测算法进行检测,判断是否具有代码异味。Moha等人通过分析获取代码异味关键词列表,然后使用领域特殊语言形成规则卡片,最后根据建模生成检测算法,对15个代码异味进行检测〔7〕。基于症状的方法和代码异味症状有关,但是目前对于异味症状没有一致的标准定义,因此该方法受到一定的限制。基于概率的代码异味检测方法,统计代码中类之间的属性和关系的数据,结合模糊逻辑规则和数学分析来检测代码异味。Ananda等人提出一种量化方法,结合直接关联和间接关联的数量关系,利用传播概率矩阵来检测2种重要代码异味〔8〕。这类方法使用概率统计来分析检测代码异味,对于不方便量化的代码异味检测效果有限。基于可视化的代码异味检测方法,结合自动检测工具和人的手动检测来识别代码异味。Emerson等人使用一个可交互的代码异味检测工具来快速观察和认识代码异味,通过不同的角度来理解和可视化代码异味〔9〕。由于在方法中结合人的手动检测,因此该类方法受限于人的效率,可扩展性不强。基于搜索的代码异味检测方法,使用不同的算法直接从源代码中识别和检测代码异味,其中大部分检测使用机器学习相关算法。对于机器学习方法,需要对输入进行处理,根据标准输入来得到最后的分类输出结果。Fontana等人使用机器学习技术进行代码异味检测,利用机器学习方法对代码异味进行分类,自动检测代码异味。他们使用了16种机器学习算法,对4种代码异味DataClass,LargeClass,FeatureEnvy,LongMethod进行检测,并在软件系统中进行实验,并通过人工确认来构造代码异味样本,把这些样本作为机器学习的标准输入,最后通过交叉验证对实验结果进行评价〔10〕。基于搜索的方法的算法成功依赖于数据集和训练集的质量,在处理未知和变化的代码异味时受到一定限制。基于协作的代码异味检测方法,以合作的方式执行不同的活动来改善方法效果,提高检测方法的准确性和性能。目前相关文献较少,Abdelmoez等人使用两个并行算法加速搜索过程,减少搜索空间,使用风险评估来检测代码异味〔11〕。但这个方法用于检测其他代码异味时,存在一些泛化问题。
  2异味检测方法
  本文选择基于搜索的代码异味检测方法,采用机器学习算法来对所选择的几种代码异味进行识别。在选择代码异味时,主要考虑几个方面,代码异味有较高出现频率,代码异味对于软件质量有较大负面影响,代码异味已经有相关研究文献和应用实现〔10〕。根据要求,最后本文选择了DataClass,DuplicatedCode,InappropriateIntimacy,LongMethod四个代码异味进行检测。通过对相关机器学习算法的研究和比较,发现在代码异味检测中,决策树算法具有较好的分类效果〔10〕。在本文中,使用J48决策树算法作为检测算法,对所选择的四个代码异味进行识别。本文使用k重交叉验证来对实验结果进行验证,通过算法的精确率,召回率以及定义的到目标精确率平均距离来比较算法效果〔12〕,其中,P表示精确率,R表示召回率,TP表示正确正类,FP表示错误正类,FN表示错误负类,D表示到目标精确率平均距离,TAPi表示某个实验中精确率,TAP表示目标精确率。通过比较实验,可以知道,本文使用的异味检测方法,在选择的四种代码异味上具有较好的识别效果。
  3结语
  现有的代码异味检测方法划分为几个类别,在对基于搜索的代码异味检测方法进行研究后,本文选择决策树算法来对代码异味进行检测,并在选择的四种代码异味上取得了不错的识别效果。

高职化工专业学生职业素养培育论文摘要培养高职化工专业学生过程中,不仅要重视专业技能教育,同时要注重职业素养教育。通过职业素养教育让学生具备岗位工作能力,为学生就业提供保障。基于此,本文对高职化工专业职业素养培育进提高大学生英语实用性教学模式的探讨论文论文题目提高大学生英语实用性教学模式的探讨摘要当今,英语运用能力的高低对国家的建设发展有着不可忽视的作用,而大学生无疑将成为社会建设的中坚力量。但是,当前我国的大学英语教学水平,尤语文是人生日用不可缺少的工具的论文教师教语文,学生学语文,怎样才能收到较好的效果?这是一个极其复杂的问题,决非几篇论文几本专著所能阐述清楚的。但是,有一个基本前提必须首先明确语文学科的性质到底是什么?因为教学目的任关于优质写字楼租户分析的论文1引言信息革命给世界各大城市带来一场深刻的空间结构的重组,特别是上世纪80年代以来,伴随着全球经济一体化的发展,城市与区域的演进也进入了一个活跃时期。经济结构转变以及经济高速增长对煤矿安全管理问题及解决对策论文安全管理在煤矿企业的工作中起重要作用。现在国家对煤矿企业提出安全第一,预防为主,综合治理的口号,其中最为突出的问题是安全问题,一切工作都是建立在安全的基础上。针对煤矿企业中所存在的毕业论文工作总结5篇紧张而又充实的大学生活即将结束,大家都知道毕业前要通过最后的毕业论文,毕业论文是一种有准备有计划比较正规的比较重要的检验大学学习成果的形式,那么大家知道正规的毕业论文怎么写吗?下面职业中学体育与健康课程分年级教学模式的研究论文摘要围绕着以发展学生为主体,健康第一的指导思想,职业中学体育与健康课程的分项选修教学模式在我市部分职业中学学校已经进行了几年,具体实施的怎么样,现状如何?为此我们进行了一系列深入的班主任工作中如何活学活用心理学论文在第14届中国经济年度人物颁奖典礼中,唯一的特别奖授予了中国技工。这在中央电视台年度经济人物评选中应该是第一次,这是个信号,是个标杆,值得关注。在第43届世界技能大赛中,我国派出的基于职业能力培养改革的论文随着社会主义市场经济现代企业制度和资本市场的建立,建筑企业行业竞争的加剧,建筑企业迫切需要进行项目的投资融资资本运作项目管理成本控制等相关的战略规划及运作,参与并为决策提供信息支持小议错账更正方法论文精选论文导读常用的更正错账的方法有划线更正法红字更正法补充登记法。记账以后,如果发现应借应贷的会计科目没有错误,而记账凭证和账簿记录的金额有错误,并且所记金额小于应记的正确金额,应用补汉语拼音教学浅探论文当代,论文常用来指进行各个学术领域的研究和描述学术研究成果的文章,简称之为论文。它既是探讨问题进行学术研究的一种手段,又是描述学术研究成果进行学术交流的一种工具。下面就是小编整理的
电力物资管理问题的改进措施摘要随着我国经济发展水平的不断提升,我国的电力企业也得到了快速地发展。作为电力企业的一大重要组成部分,电力物资管理工作也发生了较大的变化。随着时代的不断发展与进步,电力企业要想在激当前城市生态换环境规划的措施摘要结合可持续发展的内涵,通过分析城市生态环境现状,引出了城市可持续发展的必要性而后通过论述城市可持续的生态系统,对城市生态环境规划提出了一些建议。关键词城市规划生态环境城市生态环垃圾填埋场封场设计封场后维护及补救措施简介垃圾填埋场封场及封场后的安全运行是卫生填埋场建设中重要却易被忽视的环节。本文从封场方案设计封场后维护内容两方面论述了封场设计和封场后维护的重要性,并针对封场后易发事故提出其相对环境保护的重要意义与措施1当前的环境状态简述在多年的奋斗之下,我们国家的环境在总体上有了一定的变化,开始朝着好的方向发展,不过并没有从根源上处理好。此时不论是水亦或是大气的品质都在变差,我们的生态系统变得电力营销管理中用户用电信息采集分析摘要针对电力企业传统营销管理模式存在的弊端,提出一种全新的电力用户用电信息采集系统,在明确该系统所具有的特点与优势的基础上,结合实例,深入分析其在营销管理中的具体应用。关键词电力营低压脉冲反射法在贯通地线故障诊断中的应用研究1概述当前,我国高速铁路和普速铁路上电气化区段以及非电化区段中铁路枢纽运营繁忙干线编组场雷电高发区和埋设地线困难地区及微电子设备集中设置的区段,都设置铁路贯通地线。设置贯通地线的区道路照明设计中单相短路电流计算照明设计是城市道路设计中比较重要的一项设计内容。为了确保城市道路照明能为车辆驾驶人员以及行人创造良好的视看环境,达到保障交通安全,提高交通运输效率,方便人民生活,防止犯罪活动和美化谈剩余电流动作保护器的正确应用在两网改造工程实施过程中,设备选型得到了重视,选用了一批技术性能先进质量可靠的设备,如无油型断路器节能型变压器等,新设备的投入使电网设备的技术含量增加,安全水平大大提高,在防止事故本底真空度和残余气体对激光薄膜光学性能影响的探究随着激光功率的提高,人们对光学系统激光薄膜抗激光阀值以及光学性能的要求也越来越高。在镀制相应的激光薄膜时,对于真空度和残余气体的要求也越来越高。如对于大功率1064nm调Q脉冲激光对电气体系接触不良因素探析导线接洽的地方存在比较多的杂物,而这些物体的存在致使导体无法高效率的接触,出现接触电阻现象,结合电气规定要求,对当前使用的装置要认真地定时的开展电阻试验活动。假如电阻非常高,就会对气体腰轮流量计在城市民用气区域封闭计量中的应用气体腰轮流量计在城市民用气区域封闭计量中的应用气体腰轮流量计在城市民用气区域封闭计量中的应用化学与化工论文更新2006411阅读气体腰轮流量计在城市民用气区域封闭计量中的应用1引言
友情链接:快好找快生活快百科快传网中准网文好找聚热点快软网