共查询到20条相似文献,搜索用时 62 毫秒
1.
基于函数调用路径关联分析的缺陷定位方法研究 总被引:1,自引:0,他引:1
缺陷关联使得目前的缺陷定位方法面临着严峻挑战,为了快速准确定位软件缺陷,保证软件产品质量,对定位方法的改进势在必行。基于函数调用路径(Function Calling Path, FCP)技术,把缺陷定位的整体粒度由语句级提升到函数级。依据失效原理和FP-树分析缺陷关联,逐步缩减缺陷定位问题空间为“执行路径-路径结点-结点语句”,获得缺陷关联拓扑图,局部细化缺陷函数到细粒度,并提出了基于函数排名的评价方法。实验结果表明,FCP缺陷定位方法可有效缩减查找缺陷时的代码审查范围,提高软件缺陷定位的精度和效率。该方法为基于路径分析的缺陷定位提供了理论依据和实践方法,并保证测试的安全进行。 相似文献
2.
当软件缺陷报告在跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位,并做出相应的代码变更,以修复该软件缺陷.在缺陷修复的整个过程中,软件缺陷定位占用了开发人员大量的时间.提出了一种方法级别的细粒度软件缺陷定位方法MethodLocator,以提高软件修复人员的工作效率.MethodLocator首先对缺陷报告和源代码方法体利用词向量(word2vec)和TF-IDF结合的方法进行向量表示;然后,根据源代码文件中方法体之间的相似度对方法体进行扩充;最后,通过对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法.在4个开源软件项目ArgoUML、Ant、Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够有效地将软件缺陷定位到源代码的方法级别上. 相似文献
3.
随着软件项目规模的扩大以及软件复杂性的增加,缺陷修复的难度越来越大.其中,绝大多数缺陷问题都是由代码的错误编写导致的,在软件缺陷修复过程中开发维护人员需要花费大量的时间定位并修改缺陷代码.针对这个问题,对缺陷报告以及对应的项目变更信息进行整合,根据代码抽象语法树结构信息计算代码块与缺陷报告之间的关系,从而构建缺陷-代码知识库.在此知识库的基础上构建面向缺陷定位的代码搜索引擎,以向用户推荐更全面的缺陷定位信息,包括相似缺陷报告、相关缺陷代码文件以及缺陷代码块,从而帮助开发和维护人员及时有效地定位缺陷.实验结果说明,相比现有的缺陷定位方法,所提方法能够更准确地定位缺陷代码文件,并且可有效定位到代码粒度. 相似文献
4.
在大型软件项目的开发与维护中,从大量的代码文件中定位软件缺陷费时、费力,有效地进行软件缺陷自动定位,将能极大地降低开发成本.软件缺陷报告通常包含了大量未发觉的软件缺陷的信息,精确地寻找与缺陷报告相关联的代码文件,对于降低维护成本具有重要意义.目前,已有一些基于深度神经网络的缺陷定位技术相对于传统方法,其效果有所提升,但相关工作大多关注网络结构的设计,缺乏对训练过程中损失函数的研究,而损失函数对于预测任务的性能会有极大的影响.在此背景下,提出了代价敏感的间隔分布优化(cost-sensitive margin distribution optimization,简称CSMDO)损失函数,并将代价敏感的间隔分布优化层应用到深度卷积神经网络中,能够良好地处理软件缺陷数据的不平衡性,进一步提高缺陷定位的准确度. 相似文献
5.
软件缺陷预测技术用于定位软件中可能存在缺陷的代码模块,从而辅助开发人员进行测试与修复。传统的软件缺陷特征为基于软件规模、复杂度和语言特点等人工提取的静态度量元信息。然而,静态度量元特征无法直接捕捉程序上下文中的缺陷信息,从而影响了软件缺陷预测的性能。为了充分利用程序上下文中的语法语义信息,论文提出了一种基于混合注意力机制的软件缺陷预测方法 DP-MHA(Defect Prediction via Mixed Attention Mechanism)。DP-MHA首先从程序模块中提取基于AST树的语法语义序列并进行词嵌入编码和位置编码,然后基于多头注意力机制自学习上下文语法语义信息,最后利用全局注意力机制提取关键的语法语义特征,用于构建软件缺陷预测模型并识别存在潜在缺陷的代码模块。为了验证DP-MHA的有效性,论文选取了六个Apache的开源Java数据集,与经典的基于RF的静态度量元方法、基于RBM+RF、DBN+RF无监督学习方法和基于CNN和RNN深度学习方法进行对比,实验结果表明,DP-MHA在F1值分别提升了16.6%、34.3%、26.4%、7.1%、4.9%。 相似文献
6.
7.
软件缺陷预测通常针对代码表面特征训练预测模型并对新样本进行预测,忽视了代码背后隐藏的不同技术方面和主题,从而导致预测不准确。针对这种问题,提出了一种基于主题模型的软件缺陷预测方法。将软件代码库视为不同技术方面和主题的集合,不同的主题或技术方面有不同的缺陷倾向。采用LDA主题模型对不同主题及其缺陷倾向进行建模,根据建模结果计算主题度量,并将传统度量方式和主题度量结合进行模型训练和预测。实验结果显示,该方法相对传统的软件缺陷预测技术有高的准确性,并且可以在软件演化中保证模型相对稳定,可以适用于各种缺陷预测任务。 相似文献
8.
基于信息检索的缺陷定位技术,利用跨语言的语义相似性构造检索模型,通过缺陷报告定位源代码错误,具有方法直观、通用性强的特点.但是由于传统基于信息检索的缺陷定位方法将代码作为纯文本进行处理,只利用了源代码的词汇语义信息,导致在细粒度缺陷定位中面临候选代码语义匮乏产生的准确性低的问题,其结果有用性还有待改进.通过分析程序演化场景下代码改动与缺陷产生间的关系,提出一种基于源代码扩展信息的细粒度缺陷定位方法,以代码词汇语义显性信息及代码执行隐性信息共同丰富源代码语义实现细粒度缺陷定位.利用定位候选点的语义相关上下文丰富代码量,以代码执行中间形式的结构语义实现细粒度代码的可区分,同时以自然语言语义指导基于注意力机制的代码语言表征生成,实现细粒度代码与自然语言间的语义映射,从而实现细粒度缺陷定位方法FlowLocator.实验分析结果表明:与经典的IR缺陷定位方法相比,该方法定位准确性在Top-N排名、平均准确率及平均倒数排名上都有显著提高. 相似文献
9.
在实际软件项目开发过程中,软件缺陷预测能辅助测试人员找到项目中可能存在缺陷的位置,并通过抽象语法树(AST)获取项目模块中隐藏的结构和语义信息,此类信息有助于提高缺陷预测精度。提出基于重子节点抽象语法树的缺陷预测方法,在提取节点信息时保留节点的类型信息和对应代码语义的值信息,并使用特殊字符串代替没有值信息的节点。通过树链剖分思想将AST分割为重子节点和轻子节点,优先选择重子节点作为序列化向量中的节点,同时利用深度学习网络学习节点序列中的源代码结构和语言实现软件缺陷预测。实验结果表明,与DFS方法相比,该方法在基于注意力机制的循环神经网络深度学习模型上的F1值和AUC值平均提升约3%和4%,具有更好的缺陷预测效果。 相似文献
10.
近年来,随着不同编程语言代码自动转换工具的出现,跨语言的代码抄袭检测问题受到了越来越多的关注.现有跨语言代码抄袭检测主要包括传统的基于中间特征的检测方法和近年来出现的基于机器学习的检测方法,后者在检测模型训练完成之后具有更好的检测速度,是当前跨语言代码抄袭检测的研究热点.然而,现有的基于机器学习的跨语言抄袭检测方法大多将代码作为文本来处理,未考虑代码的结构特征.结合代码基于抽象语法树的结构特征,本文提出了一个基于伪孪生神经网络框架的跨语言抄袭检测工具CLPDetector.该工具将训练数据中的源代码对转换成对应的抽象语法树,基于抽象语法树生成代码的向量表示,然后将结合BiLSTM、CNN和Attention的深度神经网络嵌入到伪孪生网络架构中训练抄袭检测模型,从而实现了跨语言代码抄袭的检测.为了提高检测精度,首先,在训练检测模型前,利用基于抽象语法树的skip-gram算法对词向量进行了预训练,并基于程序依赖图删除了训练数据集代码中的冗余代码.其次,在代码抄袭检测阶段,提出了一个基于属性计数的过滤器,用以排除不可能抄袭的代码对,提高检测效率.实验中基于一个开源的数据集,以Java代码和... 相似文献
11.
12.
13.
14.
分析现有软件缺陷分类方法,针对现有缺陷分类方法不能完全适用于航空机载软件缺陷管理的问题,结合机载软件研制阶段和特点,以现有软件缺陷分类方法为基础,综合考虑缺陷度量分析的要求,提出一种符合航空机载软件研制特点的缺陷分类方法,并给出了“缺陷类别”详细的分类.将其应用于实际软件研制过程中,应用结果表明,该方法满足机载软件缺陷分类原则. 相似文献
15.
软件缺陷发现时序过程的叠加双阻尼振荡模型 总被引:2,自引:0,他引:2
在软件测试实践中,被测软件通常要经历多轮次的测试和修改过程.由于受到被测软件的缺陷分布、迭代式的开发与测试过程、测试者发现缺陷的能力等诸多非确定性因素的影响,使得软件缺陷发现的时序过程呈现出相应的周期性、随机振荡性和阻尼衰减等时序特征.通过对以软件缺陷发现为目标、测试过程管理规范的软件测试过程基本特征和关键影响因素的深入分析,提出了一种描述软件缺陷发现时序过程特征的叠加双阻尼振荡模型(accumulative bi-damped oscillation model,简称ABDOM).采用从两个真实软件测试项目中采集的缺陷发现过程数据,检验了ABDOM模型的有效性,定义了ABDOM模型的适用范围,并对ABDOM模型的应用进行了初步讨论. 相似文献
16.
17.
钢板作为钢铁工业的主要产品形式之一,已成为汽车、机械制造、化工、航空、航天和造船等工业不可缺少的原材料,其表面质量的优劣将直接影响最终产品的性能和质量。针对目前国内钢板表面缺陷检测方法比较落后、检测效果较差的情况,提出了钢板表面缺陷检测系统的设计与实现方案,包括硬件和软件的组成和部署;采用了串、并口编程和图像模式匹配等技术,实现了钢板表面的自动拍照、缺陷检测及生产和缺陷信息的保存;依据图片的几何学特征和光学特征等,实现了缺陷检测算法,包括缺陷识别和缺陷分类。在此基础上开发的钢板表面缺陷检测系统已经成功地应用到了现实的钢板生产中。 相似文献
18.
提出一种用于管道检测中内外缺陷识别装置方案及识别方法,分别通过三轴正交霍尔传感器和电涡流传感器对管道进行检测,将采集的电压信号经由放大滤波、A/D转换进行信号处理后,将漏磁数据存储下来,将存储数据导入上位机软件,训练出SVM分类机后对这些数据进行分类,甄别出缺陷信号,剔除由于管道自身结构影响所产生的干扰信号。再判断漏磁检测出现缺陷异常时,电涡流是否同样检测到缺陷异常,若电涡流的检测未出现异常,则证明管道有外部缺陷;若电涡流的检测出现异常,则证明管道有内部缺陷。利用本方法进行管道缺陷内检测时,可以更准确地识别内外缺陷。 相似文献
19.
20.
能通过编译的C/C++程序代码可能依然隐含安全、设计或风格上缺陷,从而导致运行时出现内存泄露、运行异常等现象,难以完成软件需求所预期的目标。针对开源软件缺陷检测工具Cppcheck软件存在的不足,主要分析了Cppcheck架构、缺陷模式表示与实现,在对已收集350个缺陷模式分析总结基础上,对其完善,提高缺陷检测能力。通过两组实验验证改进Cppcheck工作的有效性。 相似文献