范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

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

  摘要:在软件工程中,软件重构具有重要意义,它可以提高软件的可维护性、可扩展性、可重用性,进而改善软件质量。在软件重构中,代码异味检测是其中的重要组成部分。目前,代码异味检测的相关研究划分为几个类别。在对基于搜索的代码异味检测方法进行研究后,选择决策树算法来对四个代码异味进行检测,并取得不错的效果。
  关键词:软件工程;软件重构;代码异味;决策树
  0引言
  随着计算机科学的进步和发展,越来越多的行业和领域中需要使用计算机技术,各个行业的相关软件也相继被开发出来。苹果商店的应用超过了百万,桌面软件和专业软件数量更多。在软件开发中维护费用是开发成本的2-100倍[1]。因此,为了降低软件开发中维护费用,改善软件的结构,提高软件的可扩展性和可重用性,有必要进行软件重构[2]。在软件工程中,软件重构用于调整面向对象软件的内部结构,提高软件的可维护性、可扩展性、可重用性,进而改善软件质量,同时软件的外部行为保持不变[3-4]。软件经过重构,可以提高代码的可读性,改善内部结构并且延长代码的生命周期。对于大型软件项目的开发,软件重构具有重要意义。在软件重构中,需要先进行代码异味检测,代码异味会暴露出一些软件中的问题,根据这些问题,工程师会做进一步检查和重构。在重构过程中,代码异味检测是重要步骤。
  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,Inappro-priateIntimacy,LongMethod四个代码异味进行检测。通过对相关机器学习算法的研究和比较,发现在代码异味检测中,决策树算法具有较好的分类效果[10]。在本文中,使用J48决策树算法作为检测算法,对所选择的四个代码异味进行识别。本文使用k重交叉验证来对实验结果进行验证,通过算法的精确率,召回率以及定义的到目标精确率平均距离来比较算法效果[12],其中,P表示精确率,R表示召回率,TP表示正确正类,FP表示错误正类,FN表示错误负类,D表示到目标精确率平均距离,TAPi表示某个实验中精确率,TAP表示目标精确率。通过比较实验,可以知道,本文使用的异味检测方法,在选择的四种代码异味上具有较好的识别效果。
  3结语
  现有的代码异味检测方法划分为几个类别,在对基于搜索的代码异味检测方法进行研究后,本文选择决策树算法来对代码异味进行检测,并在选择的四种代码异味上取得了不错的识别效果。

共享单车利与弊论文共享单车特别是无桩单车确实是方便大家出行,大部分人还是比较喜欢共享单车的,利这玩意大家都能看到就是方便大家出行。弊端也是显而易见,但是对于大部分方便的人来说弊端不值一提了。下面是共音乐学毕业论文4000字随着音乐的飞速发展,音乐与人类的关系越来越密切,各位同学,你们知道相关的论文怎么样写吗?我们看看下面的音乐学毕业论文哦!音乐学毕业论文4000字摘要现代人的生活已经离不开音乐。但很毕业论文全文总结导语大学生写完毕业论文之后就会进行毕业设计总结,那么到底怎么写?以下是小编为大家搜集的文章,欢迎大家阅读与借鉴!毕业论文全文总结(一)本次设计是在完成大学的全部基础课技术基础课专业毕业论文的引用7篇每个毕业生都有写论文的经历,写论文就少不了引用。下面就由小编为你分享毕业论文的引用,欢迎阅读。毕业论文的引用篇11专著著录格式序号著者。书名M。版本(第一版不写)。出版地出版者,出项目管理研究生论文导语为保障工程建设项目融资的顺利进行,国家规定凡采用工程建设项目融资方式筹措的资金项目必须符合我国经济战略性的调整与转变,以下是小编为大家整理的项目管理研究生论文,欢迎大家阅读与借音乐教育论文范文我们采用多种音乐教学形式,通过多媒体教学图谱教学游戏教学等多种教学形式来引导,让它们产生更好的教学效果。以下内容是小编为您精心整理的音乐教育论文范文,欢迎参考!音乐教育论文范文幼儿语文教学呼唤人文精神的论文3000字从我们感受到的语文教学实际情况看,语文的内涵在趋向窄小,课堂教学活动内容多是语言语境语体,以及适应达标所设置的可操作目标教学等,而对与它相对应的语言以外的文化意蕴的关注较少。所以有英国二元律师制度的起源演变与发展走向论文论文关键词辩护人代理人法律学徒御用状师出庭律师事务律师二元律师制度内容提要英国律师产生伊始就分为法律辩护人和法律代理人两部分。后来,辩护人演变为出庭律师,垄断了出庭辩护权,代理人则我国大学生心理健康论文1大学生心理健康问题产生原因1外部因素()社交网络的盛行。世纪无疑已经变为网络的时代,互联网带来的便利和快捷已给人们带来了意想不到的收益和快乐。当代大学生多数都是后,正是伴随互联网论文小修后被拒稿的理由分析DearXXTheotherrefereehasnotsentareport,inspiteofseveralreminders。Idecidedthereforetomakemy民航检测实验室设备管理的论文摘要设备是决定检测实验室检测结果正确性和准确性的重要因素之一,因此,对设备实施有效管理也是检测实验室管理工作的重要部分。检测和校准实验室能力认可准则对实验室的设备管理提出了严格要求
水处理技术经济论文水资源短缺和水环境污染有可能超过能源而成为21世纪世界上最为严重的问题,合理利用和研究新的水处理技术是解决水污染和合理利用水资源的重要途径。下面是品学网范文网小编为大家整理的水处理教育经济学相关论文教育经济学从起源发展至今已有快100年的历史,在国外的研究取得了举目的成果,发展了丰富的理论。那么关于教育经济的论文怎么写呢?下面是品学网范文网小编为大家整理的教育经济学相关论文,有关教育经济学小论文教育经济学的对象与方法是教育经济学学科建设的基本问题,具有重要的研究价值。下面是品学网范文网小编为大家整理的有关教育经济学小论文,供大家参考。有关教育经济学小论文范文一思想政治教育浅谈教育经济学论文教育经济学主要是运用经济学的理论和方法,研究教育与经济的相互关系及其变化的发展规律,研究教育领域中经济投入和产出规律的科学。下面是品学网范文网小编为大家整理的教育经济学论文,供大家试论加强宏观金融调控规避国际贸易论文国际金融危机从爆发到逐渐平息,已经很长时间了了。一直以来,各国政府纷纷采取了一系列宏观调控救市政策,终于迎来了曙光和希望。以下就是试论加强宏观金融调控规避国际贸易。我国政府在这场金试论加强建筑工程资料管理的思考论文工程资料即在工程建设过程中形成的各种形式的信息记录,包括基建文件监理资料施工资料和竣工图等。下面是编辑老师为大家准备的试论加强建筑工程资料管理的思考。在建筑工程中,工程资料是建设施试论国际贸易中的生态可持续发展观论文随着经济全球化和贸易自由化程度的提高,世界各国的互补性和依赖性也日益加强,然而经济贸易现状越来越表现为资源向发达国家转移,污染则向发展中国家转移。以下就是试论国际贸易中的生态可持续国际贸易实务课程改革研究论文国际贸易实务是以国际货物买卖合同为中心主体围绕交易程序讲解整个进出口贸易流程的课程以此来培养学生的实际业务操作能力,以下就是由品学网范文网为您提供的国际贸易实务课程改革研究。(一)浅谈石河子大学国际贸易专业的教学实践论文石河子大学是国家211工程建设的100所重点大学之一,现由教育部和新疆生产建设兵团共建,也是国家西部重点建设高校。下面是编辑老师为大家准备的浅谈石河子大学国际贸易专业的教学实践。国CBE实践教学体系构建论文去年,教育部阳光高考网站公布了2010年中国大学红黄绿牌专业名单,其中红牌专业有20个,主要是失业量较大,就业率持续走低,详细内容请看下文CBE实践教学体系构建。实际上,该专业不是浅谈我国的资源整合论文随着WT0规则,我国资源整合在经济体制改革的不断深入,企业的规模与实力迅速增长。详细内容请看下文浅谈我国的资源整合。使我国经济在规模上迅速扩大,成为市场经济体系的一个重要组成部分,