面向软件重构的推荐方法研究

来源 :北京理工大学 | 被引量 : 3次 | 上传用户:lity1021
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
由于需求的改变导致软件在其生命周期内不断演化。随着程序员不断的增加或删减代码,软件原先的设计构架被打破,结构变得不再清晰,代码变得越来越难理解,软件的扩展和维护也变得越来越困难。软件重构是改善软件质量的一种重要手段。它在不改变软件外部行为特性的情况下通过调整软件内部结构以提高软件的可理解性、可维护性和可扩展性。自1992年Opdyke首次提出了软件重构的概念以来,软件重构迅速成为研究的热点,在工业界和学术界获得广泛的认可。研究人员针对软件重构开展了大量的研究工作,也设计实现了许多重构工具。软件重构是一项复杂的代码调整活动,它要求程序员不断做出各种复杂的决策。例如,在何处重构、何时应重构、以及如何重构等等。利用自动推荐技术以降低各种复杂重构决策的难度既是降低重构成本提高重构效果的一个重要途径,也是推广软件重构技术的一个重要技术基础。为此,本文面向软件重构研究相应的推荐方法以辅助程序员进行重构决策,从而降低重构难度并提高重构效果。本文的主要工作和贡献体现在以下几个方面:(1)基于代码库和特征匹配的函数名称推荐重命名是最常见的软件重构操作之一。程序员通过重命名操作给相关的软件实体赋予更有意义的名称。然而如何选择合适的名称就需要人来决定。对于缺乏经验的初学者或是母语并非英语的程序员,为函数拟定一个合适的名字并不容易。为此,本文提出一种基于代码库和特征匹配的函数名称推荐方法以辅助程序员为函数确定合适的名字。首先,该方法使用词性标注技术对代码库中的函数名称进行解析获取用于命名的候选词条。然后通过特征抽取技术将函数中代表函数特征的代码抽取出来,并在特征代码与候选词条之间建立关联关系。最后,将特征代码与待推荐函数相匹配筛选候选词条并按照规则为程序员推荐命名方案。实验的结果表明本文提出的方法具有较高的推荐成功率。(2)基于测试用例变化的软件重构推荐方法许多初学者往往缺乏软件重构的经验,对软件重构工具也不熟悉,因此很少使用工具实施重构。然而手工实施重构耗时易错。如果能够从代码的变化中及时发现重构的意图,就能提醒或指导程序员使用重构工具,进而减少人为的错误并降低软件重构的难度。为此,本文针对测试驱动开发(Test-Driven Development)提出一种基于测试用例变化的软件重构推荐方法。该方法通过在线监控的方式对测试代码进行动态监控,将测试代码的变化情况与预先定义的基于重构的测试代码变化模式的启发规则相匹配,从而为用户推荐重构。实验的结果表明该方法具有较高的推荐准确率。(3)基于优先级的代码坏味处理顺序推荐软件重构是消除代码坏味的一种有效手段。然而软件重构活动也需要耗费一定的人力资源。因此,在资源受限条件下可能无法通过重构消除所有的代码坏味。此时,我们应该优先选择和处理那些对软件危害较大的坏味类型才能最大限度地提高软件的质量。为此,本文,从代码坏味危害发生的概率、影响范围、是否对系统安全性构成威胁、是否影响软件的复用、是否影响软件的可理解性等几个方面分析了10种典型的代码坏味。依据分析的结果划分了代码坏味处理的优先级,明确了每个级别的特征(如安全性威胁,影响范围等)。通过实验表明,在资源受限情况下,按照本文推荐的基于优先级的代码坏味处理顺序实施重构能够有效的提高软件重构的整体效果。
其他文献
目的:研究活化的STAT3(pSTAT3)蛋白和STAT3 mRNA在皮肤黑素瘤和色素痣组织中的表达及其临床意义。方法:应用免疫组织化学S-P法检测90例皮肤黑素瘤和43例皮肤色素痣组织pSTAT3
目的 探讨survivin和p53表达水平对直肠癌分级和预后影响分析。方法 选取2010年1月到2015年10月住院治疗的经组织病理确诊的直肠癌患者83例,比较患者不同病理分化程度、TNM分
目的 探讨瑞芬太尼在产科全身麻醉应用中的安全性。方法 选择妊娠合并血小板减少(Plt〈7.0×109/L),术前无胎儿宫内窘迫综合征须行剖宫产手术患者42例,按麻醉方式不同分为
本文分析了高校基层档案工作中存在的问题,提出相应的解决方法,以便使档案工作更好地服务于教学科研管理工作。
沿边民族地区的对外开放,作为中国全方位对外开放整体格局中的一个不可缺少的部分,经过数年精心运作,取得了显著的成效.但所取得的成就与其所具有的潜力和肩负的使命之间,尚
伴随着面向服务架构(Service-Oriented Architecture,SOA)的出现与发展,企业信息系统进入了服务化的时代。近年来云计算、移动计算等新型计算模式改变了信息系统的组织管理模
登革热是世界范围内传播速度最快的蚊传病毒性疾病。目前主要依靠蚊媒控制,切断传播途径以预防和控制登革热。蚊媒控制主要包括幼蚊控制和成蚊控制,幼蚊控制依赖容器管理、容
当前,高校档案管理存在一些不足,主要体现在专业化水平低、管理模式落后、管理人员缺乏等方面。为了应对这些问题,今后在实际工作中,需要推动管理工作的可持续发展,加强各项基础建
[教学片段]师:刚才看了这么多漂亮的钟表,我真想把它们画下来,你们想吗?(指着黑板上贴好的空白钟面)这钟面上该画些什么呢?生:应该有12个数。师:把这12个数娃娃写到钟面上,你
期刊
作为高校教学中的重要组成部分,音乐教学应进行多元化音乐教育的开展,这样可以帮助学生对祖国的音乐文化进行深入的了解,促使音乐教学产生极大的凝聚力,实现音乐教学的最终目标。