首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
目前许多研究人员对自动化软件重构进行了探索并开发了一系列重构工具,旨在帮助程序员更高效地完成软件重构任务、提升代码质量。然而,现有的软件重构工具多侧重于局部的设计或编码问题,而非设计层面的问题。另一方面,基于搜索的重构方法往往将改进某一项代码度量指标作为重构目标,而非面向软件的层次化设计。针对这种情况,提出一种新的基于搜索的软件自动化重构方法,该方法使用了基于设计结构矩阵(DSM)的软件模块层次化度量方法,能够自动生成可以得到最优软件模块化设计的重构建议。在此基础上,实现了自动化重构工具DSMRefactoring,并将DSMRefactoring应用于开源系统进行案例研究,初步验证了方法和工具的有效性。  相似文献   

2.
克隆代码检测技术综述   总被引:2,自引:1,他引:2  
克隆代码通常是指软件系统中存在的相同或相似的代码片段,会严重影响软件的可维护性.克隆代码检测技术致力于自动发现软件系统中的克隆现象并协助开发者消除它们.本文介绍了克隆代码自动检测的研究意义与发展历程,阐述了本领域相关的概念模型,分析了已有的自动检测克隆代码的不同思路并归纳总结了几大技术流派各自的优缺点,同时探讨了基于克隆检测技术的软件重构与再工程、软件维护改进、方面挖掘等相关研究,最后总结和展望了本领域研究的发展趋势.  相似文献   

3.
《计算机科学与探索》2017,(10):1591-1598
开发人员通常通过问答网站的搜索引擎进行相关软件问答文档的搜索。在检索结果中,包含优质代码片段(使用示例)的问答文档往往更受青睐,但如何度量这些文档中代码片段的质量仍是个巨大的挑战。针对这个问题,提出了一种基于代码模式的软件问答文档检索优化方法。该方法能够基于当前检索结果,抽取文档中的代码片段,分析代码片段中的公共代码模式,并基于代码模式度量文档中代码片段的质量,从原有检索结果中向用户推荐高质量的软件问答文档。以软件开发人员在实践过程中遇到的真实问题为基础进行了实验,对比Stack Overflow的搜索结果,所提方法在准确率指标NDCG@5上提升了40%。  相似文献   

4.
软件测试是提高软件产品质量和降低软件维护成本的重要手段。针对高安全关键航空机载软件测试质量评价难题,结合航空机载设备研制生存周期、航空机载软件研制生存周期和航空机载软件测试阶段,提出一种全生存周期航空机载软件测试质量评价方法,并建立了基于软件研制过程测试、三方测评、定型/鉴定测评和用户使用四个阶段的质量评价模型,包括测试需求分析和策划质量、测试设计和实现质量、测试执行质量和测试总结质量4项活动和18种度量元。通过工程实践证明,该方法技术实现上可行,具有评价要素更完整、评价模型更合理、评价结果更客观的特点,为解决航空机载软件测试质量评价提供了一种新方法,最终能达到降低软件维护成本和提高软件测试质量的目的。  相似文献   

5.
李勇  左志宏 《微机发展》2007,17(4):125-127
逆向工程领域的进步,一方面提升了软件分析能力,另一方面,给软件安全带来更大的挑战。目标代码混淆技术是对软件进行保护的一种有力手段,能够有效地阻挡对软件的恶意分析。文中从逆向分析的角度出发介绍了目标代码混淆技术的分类及几种典型的目标代码混淆技术的实现及混淆效果。  相似文献   

6.
目标代码混淆技术综述   总被引:3,自引:0,他引:3  
逆向工程领域的进步,一方面提升了软件分析能力,另一方面,给软件安全带来更大的挑战。目标代码混淆技术是对软件进行保护的一种有力手段,能够有效地阻挡对软件的恶意分析。文中从逆向分析的角度出发介绍了目标代码混淆技术的分类及几种典型的目标代码混淆技术的实现及混淆效果。  相似文献   

7.
折蓉蓉  张丽萍  侯敏  闫盛 《计算机应用》2018,38(7):2037-2043
针对克隆代码的大量使用会导致长期软件维护问题甚至引入错误,提出了一种基于决策树的分类器来推荐克隆进行重构。首先,使用NiCad进行克隆检测;其次,收集了与克隆关系、克隆代码段和克隆上下文都相关的特征;然后,利用决策树分类器训练;最后,利用K折交叉评估分类结果。在5款开源软件中对近600多个克隆实例进行实验,实验结果表明所提方法为每个目标系统推荐克隆重构实例时达到80%的精度。  相似文献   

8.
在对IBM—PC的软件代码进行分析时,若有一个功能完善的工具,将会给代码软件维护、修改及移植带来莫大的帮助。  相似文献   

9.
刘阳  刘秋荣  刘辉 《计算机科学》2015,42(12):105-107
软件重构历史的自动检测是目前软件重构领域的一个研究热点。其主要目的是方便程序员或软件维护人员理解 软件演化的历史,也便于根据服务代码重构历史对其客户代码进行相应的重构操作。虽然相关研究人员已经提出了多种自动化的重构历史检测方法,但目前未见关于函数提取重构历史检测的方法或工具。为此,提出了一种基于版本比较的函数抽取重构自动检测方法,实现并验证了该方法的有效性。在8个开源项目上进行了实验验证,结果表明其查准率为65%~90%。此外,在一个小型项目上通过监控程序员的重构操作获得了全部的函数提取重构操作,进而计算出检测算法的查全率和查准率均为85%。  相似文献   

10.
正确建立软件文档与代码间的可追踪关系对程序理解、软件维护等非常重要。近年来,软件文档与代码间的可追踪性研究大多基于文本词汇相似度,没有充分利用软件文档和代码所蕴含的结构信息,针对这一问题提出了将软件结构信息与信息检索模型相结合进行文档与代码间可追踪性分析的方法。通过对文档和代码结构信息的分析,改善预处理效果,优化相似度计算过程,进而提高整体方法的有效性。实验结果表明,该方法比单纯基于信息检索的方法在查全率和查准率上都有所提高,而且能提取到更多的可追踪性链。  相似文献   

11.
主动目标几何建模研究方法综述   总被引:1,自引:0,他引:1       下载免费PDF全文
目的 目标建模是机器视觉领域的主要研究方向之一,主动目标建模是在保证建模完整度的情况下,通过有计划地调节相机的位姿参数,以更少的视点和更短的运动路径实现目标建模的智能感知方法。为了反映主动目标建模的研究现状和最新进展,梳理分析了2004年以来的相关文献,对国内外研究方法做出概括性总结。方法 以重构模型类型和规划视点所用信息作为划分依据,将无模型的主动目标建模方法分为基于表面的主动目标建模方法、基于搜索的目标建模方法和两者相结合的方法3大类,重点对前两类方法进行综述,首先解释了每类方法的基本思想,总结每类方法涉及的问题,然后对相关问题的主要研究方法进行归纳和分析,最后将各个问题的解决方法进行合理的搭配组合,形成不同的主动目标建模方法,并对各类方法的优势和局限性进行了总结。结果 各类主动目标建模算法在适用场景范围、计算复杂度等方面存在差异,但相对于传统的被动目标建模方法,当前的主动目标建模算法已经能够极大程度地提高建模任务的质量和降低建模所需代价。结论 基于表面的主动目标建模方法思想相对简单,但仅适用于表面简单的目标建模。基于搜索的目标建模方法能够量化地评价每一个候选视点,适用广泛且涉及的问题相对于基于表面的方法有更大的解决空间,有更多的研究成果产生。将二者涉及问题的不同研究方法相搭配,可以构成不同的主动目标建模方法子类。  相似文献   

12.
软件维护是软件生命周期的最后一个阶段,并且软件维护的成本大约占总开发成本70%以上,软件维护的巨大成本使得软件工程研究人员不得不对它更加重视。本文以软件工程原理为基础,分析了软件维护的类型和影响因素,提出了一些软件维护策略和未来的努力目标。  相似文献   

13.
在软件开发的过程中,开发人员通过复制粘贴式的开发方式或者模块化的开发方式来完成需求是十分常见的,这两种开发方式可以提高开发效率,但同时会导致软件系统中出现大量的相同代码或者相似代码,大量的相似代码会给软件维护等方面带来很大的困难,这也是最常见的重构对象。源代码相似性度量是指利用一定的检测方法分析程序源代码间的相似程度。该技术被应用于代码抄袭检测、代码克隆检测、软件知识产权保护、代码复用等多个领域。为了提高代码相似性度量的准确性,提出了一种基于多特征值的源代码相似性检测技术。构建了源代码注释、型构、代码文本语句与结构中特征提取的方法,并给出了源代码相似度检测的度量模型。通过与权威的代码相似检测系统Moss进行对比实验,结果表明该方法可以更准确地检测出相似代码。  相似文献   

14.
随着软件生态系统和开源社区的发展,代码常在多个软件系统中复制、传播和演化,给软件系统带来了软件质量的不确定性和风险,因此,高效地查找软件系统代码可能的来源是当前研究的热点之一。提出一种基于代码克隆检测的代码来源分析方法,将目标软件代码以方法为单位切割为代码片段,转换为词袋后,在大规模代码资源库中进行并行化代码克隆检测,从而实现方法粒度的代码来源分析。基于该方法,设计并实现了一个代码来源分析工具。该工具能自动分析被测软件项目代码与代码资源库中多个项目以及版本之间的可能来源。实验结果表明,该系统能够有效地找出目标项目在大规模代码库中的代码来源信息,辅助软件维护人员理解和维护代码。  相似文献   

15.
李阵  钮俊  王奎  辛园园 《计算机应用》2018,38(3):812-817
对开源代码进行准确搜索是实现代码复用的前提。在基于关键字搜索的研究中,目前只关注匹配方法签名。结合源代码注释对方法功能的语义描述,提出结合代码注释的关键字搜索方法。通过生成源代码抽象语法树,从中识别方法签名与各类型注释等组合代码特征;将代码特征与查询语句分别用向量表示,并计算向量间的余弦相似度,然后制定针对搜索结果多特征权重分配的评分机制。根据评分对搜索结果进行排序,得到与查询语句相关的结果序列。实验结果表明,多个代码特征在不同权重影响下可以提升源代码搜索准确度。  相似文献   

16.
使用抽象语法树和静态分析的克隆代码自动重构方法   总被引:4,自引:0,他引:4  
单个软件系统中以及若干个相似系统之间的代码克隆给软件维护增加了很大困难.本文针对运用克隆侦测发现的相似代码片断,提出一种基于抽象语法树和静态分析的代码自动重构方法.该方法首先为克隆代码分别构造抽象语法树,然后运用语句差异度指标建立起语法树之间流程控制语句的对应关系.在此基础上,该方法根据控制流程和基本语句块两个层次上的差异性分析,最终通过代码可变点提取实现克隆代码的自动合并.针对Java代码开发了克隆代码重构支持工具原型,并分别针对JDK1.5和一个业务系统进行了自动重构实验.初步的结果表明,该方法能够准确、有效地辅助开发者实现克隆代码的自动重构.  相似文献   

17.
介绍软件代码质量的重要性以及当前代码质量教育方面工作的不足,提出将代码坏味检测工具引入程序设计课程实践教学可以提高代码质量教育的观点。文章设计一个实验方案对基于传统说教和代码坏味检测工具两种方式的代码质量教育效果进行了对比研究,最后对实验结果进行分析和总结。  相似文献   

18.
时间、成本和质量三大目标综合优化是一个富有应用价值的研究热点和难点。为了分析研究复杂大规模三大目标优化问题,按照三大目标内在关系机理建立了时间、成本和质量关系模型。根据随机搜索思想,提出了三种群遗传算法。该算法采用不同种群执行并行搜索实现快速优化。最后将该方法应用于飞机零件生产实例,并且得到一系列优化结果。实例应用验证了该模型的正确性和算法的有效性。  相似文献   

19.
在多核时代,为了发挥多核处理器最大性能,软件维护人员的一个重要任务是对代码进行面向并发重构,即将顺序代码重构为并发代码和将并发代码重构更优为并发代码。针对C++语言的三种并发设施:POSIX Pthread、Open MP、C++0x并发库,详细阐述了C++面向并发重构的三类重构模式,以及每种模式的重构方法。  相似文献   

20.
针对软件中克隆代码的质量进行研究,评价软件当前所有版本中克隆代码的质量。在此基础上使用贝叶斯网络训练已有样本数据,得到克隆代码质量预测模型,其能预测软件未发布版本中克隆代码的质量,根据评价和预测结果给开发人员提供克隆代码重构和有效复用的建议,防止有害克隆代码的大量繁殖。 实验表明,该方法能够较准确地预测软件中克隆代码的质量。  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号