类内CodeSmeⅡ自动检测系统研究

来源 :上海师范大学 | 被引量 : 0次 | 上传用户:zjxtlgj
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
软件重构技术可以消除软件系统中的CodeSmell,它的消除能够使软件使用的更久、更加可靠。软件重构在软件系统质量尤其是软件维护领域占据着重要地位,但其用户群却十分狭小,其中的关键原因在于软件重构前期工作,即CodeSmell的检测工作仍需人工完成,其低下的检测效率及低准确性在很大程度上限制了重构技术的发展应用。  本文对CodeSmell自动检测的研究是建立在对CodeSmell本身的分析和对软件度量理论的研究分析基础之上,通过对软件度量方法的扩展,并结合CodeSmell自身的表征给出了相应的检测方法。本文采用抽象语法树作为中间表示形式,利用自定义的SimpleCSParser从源代码中提取抽象语法树,并结合抽象语法树相关理论及相应的文法规则,遍历源代码抽象语法树,从中获取度量规则所需的度量信息。  随后,本文依次使用CodeSmell度量的描述、解释模板来得到相应CodeSmell的度量规则,这些度量规则主要源自对Martin Fowler关于CodeSmell原始的自然表述的剖析,并结合实际经验得到。这些度量规则主要服务于CodeSmell自动检测工具(CSADT),该工具会以插件的形式与Visual Studio 2010IDE的集成,这将有效保证使用它的便捷性,也能轻松的被广泛应用普及。CSADT是基于面向对象设计实现,并采用了一些经典的设计模式和编程技巧,确保其有效合理。通过它的应用最终将解决以往人工检测CodeSmell带来的问题。  最后,本文对CodeSmell自动检测工具CSADT的实现做了解析,包括整体框架搭建到最终的设计实现,尤其是对CSADT的CodeSmell检测和识别模块进行了相对详尽的解析。虽然本文仅仅给出了CSADT实现对3种CodeSmell的检测分析,但它本身的实现及其有效性证明了CodeSmell的实时自动检测是完全可行的,这是CodeSmell实时自动化检测工具的一次有益尝试。通过它以及类似它的工具的应用,必然能够给软件系统带来强有力的质量保障,促进软件系统的可持续稳定进化。
其他文献
事件驱动软件(ors)可以通过引入事件来改变系统状态,如WEB应用程序、GUI、网络协议、设备驱动程序和嵌入式软件等。它们通过发送信息和鼠标点击作为输入,改变它们的状态,然后产生
本文针对一些应用环境中口令认证和密钥协商协议的设计及安全性的研究分析,取得了以下研究成果:  1.双因子认证与密钥协商协议的研究。分析了Chen等在2012年提出的基于智能
实时系统是一类能够及时处理事务或执行计算并对外部环境做出响应的计算机系统,它不仅要求系统计算结果是正确的,而且要求结果产生的时间也是正确的。在这样的系统中,控制程序和
分析和识别单体型对基因的精确定位、了解基因功能、复杂疾病诊断和药物研究等有着重要作用。不幸的是,由于当前实验条件的限制,通过生物学方法直接测定个体单体型所需的时间
随着云计算、移动互联网以及智能终端的兴起与普及,公共云平台成为数据存储和计算服务的重要提供者,越来越多的用户将多媒体数据存储到云端服务器。为了保护个人隐私与数据安全,在上传多媒体数据到云端前,用户往往希望能对其进行加密,但这不利于数据的进一步处理,如数据压缩、数据存储和信息检索等。为此,研究人员设计密文域信号处理技术,包括密文压缩、外包计算、密文检索和密文信息隐藏等技术。当前,如何在保护图像所有者
学位
核方法已经被广泛应用于模式识别与机器学习领域,该方法有效使用了核技巧从而避免了复杂计算和维数灾难问题,其基本思想是将低维空间中的原始数据通过非线性映射变换到高维特
人体神经系统支撑着体内各个器官之间的功能及联系。神经元发放的锋电位是神经系统间传递和发布信息的媒介。目前常采用多电极胞外记录的方式对锋电位信号进行采集,从采集的信
Ad hoc网络是一种无线通信网络,由若干个移动的无线通信设备组成,没有固定的通信设施,网络能够迅速部署。Ad hoc网络是分布式、无中心且自组织的网络。近些年来,多媒体业务已
制造单元控制是指在将原材料加工成零件以及将零件组装成产品过程中实现工艺和管理的控制。随着市场需求的不断变化和工业技术的发展,对制造企业快速响应市场变化能力、保持系统稳定性等要求越来越高,导致制造单元控制系统的管理日益复杂并且难以预测。因此,为制造单元控制系统建立可靠、健壮并且易于分析的模型对于检验系统设计、提高系统运行效率尤为重要。本文提出了一种基于功能块的制造单元控制系统建模与分析方法,以实现制
流体运动是自然界中普遍存在的一个现象,对该现象的实时模拟在计算机辅助设计领域有着迫切的需求。为了给国家粉体中心混合设备的研发设计提供辅助支持,需要开发一个能与复杂