首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 187 毫秒
1.
周丰  马力 《计算机工程与设计》2011,32(1):210-212,300
为了确切地估计软件缺陷分布,提出了基于AODE和再抽样的软件缺陷预测模型。分析了几种常用贝叶斯分类器的优缺点,以及软件缺陷度量元和再抽样方法,设计了多AODE分类器,该分类器是由多个AODE二分类器组成的。在以上基础上,建立了采用多AODE分类器和再抽样方法的软件缺陷预测模型,实验结果表明,该分类器的分类准确度较常用贝叶斯分类器高。通过收集到的缺陷数据样本比较结果表明,该模型比一些常用贝叶斯模型具有更好的预测准确性和稳定性。  相似文献   

2.
李政亮  陈翔  蒋智威  顾庆 《软件学报》2021,32(2):247-276
基于信息检索的软件缺陷定位方法是当前软件缺陷定位领域中的一个研究热点.该方法主要分析缺陷报告文本和程序模块代码,通过计算缺陷报告和程序模块间的相似度,选取与缺陷报告相似度最高的若干程序模块,将其推荐给开发人员.对近些年国内外研究人员在该综述主题上取得的成果进行了系统的梳理和总结.首先,给出研究框架并阐述影响方法性能的3...  相似文献   

3.
针对Bugzilla缺陷跟踪系统的Eclipse项目软件缺陷报告数据集,使用特征选择和机器学习算法对向量化的原始数据进行特征降维、权重优化等处理,得到数据维度较低的优化数据集,并采用分类算法评估软件缺陷报告严重程度。通过对4种特征选择算法及4种机器学习算法处理结果的交叉对比表明,使用信息增益特征选择算法对原始数据集进行特征优化,并结合多项式贝叶斯算法对优化数据集进行训练与测试,可使软件缺陷报告严重性预测的AUROC值提高至0.767。  相似文献   

4.
提出一种基于K-Means和主题模型的软件缺陷分析方法,对软件缺陷的类别和关键词进行研究.获取缺陷报告进行预处理,获取有效特征,利用向量空间模型进行文本表示,计算权重,根据最终特征向量进行聚类;提取每一类缺陷的主题和关键词,帮助修复人员快速找到对应的修复方式.关键词提取结果以单词形式呈现给修复人员.实验结果表明,所提方法在bugzilla、firefox和SeaM onkey这3款软件的缺陷报告共1500条缺陷信息上最终聚类平均准确率能达到81%.  相似文献   

5.
提出一种基于K-Means和主题模型的软件缺陷分析方法,对软件缺陷的类别和关键词进行研究.获取缺陷报告进行预处理,获取有效特征,利用向量空间模型进行文本表示,计算权重,根据最终特征向量进行聚类;提取每一类缺陷的主题和关键词,帮助修复人员快速找到对应的修复方式.关键词提取结果以单词形式呈现给修复人员.实验结果表明,所提方法在bugzilla、firefox和SeaM onkey这3款软件的缺陷报告共1500条缺陷信息上最终聚类平均准确率能达到81%.  相似文献   

6.
为了提高软件的可靠性,软件缺陷预测已经成为软件工程领域中一个重要的研究方向.传统的软件缺陷预测方法主要是设计静态代码度量,并用机器学习分类器来预测代码的缺陷概率.但是,静态代码度量未能充分考虑到潜藏在代码中的语义特征.根据这种状况,本文提出了一种基于深度卷积神经网络的软件缺陷预测模型.首先,从源代码的抽象语法树中选择合适的结点提取表征向量,并构建字典将其映射为整数向量以方便输入到卷积神经网络.然后,基于GoogLeNet设计卷积神经网络,利用卷积神经网络的深度挖掘数据的能力,充分挖掘出特征中的语法语义特征.另外,模型使用了随机过采样的方法来处理数据分类不均衡问题,并在网络中使用丢弃法来防止模型过拟合.最后,用Promise上的历史工程数据来测试模型,并以AUC和F1-measure为指标与其他3种方法进行了比较,实验结果显示本文提出的模型在软件缺陷预测性能上得到了一定的提升.  相似文献   

7.
针对传统电压频控软件缺陷检测技术未考虑软件缺陷分类,存在检测精度低的问题,提出一种电压频控中抗强干扰软件关联缺陷检测技术。对软件关联缺陷检测原理进行分析,采用判别函数对待测软件样本进行识别,引入统计模式识别算法处理软件原始数据,依据关联缺陷概率分配,确定关联缺陷类别,计算缺陷特征值,利用贝叶斯分类器对关联缺陷进行划分,完成抗强干扰软件关联缺陷的分类,从而实现关联缺陷的高精度检测。实验结果表明,该检测技术对软件缺陷进行准确分类,在保证强抗干扰性的前提下,有效提高了检测精度。  相似文献   

8.
传统的基于向量空间模型的软件缺陷分派方法,由于存在特征空间维度高、数据稀疏且包含噪音等问题,分派准确率较低。为此,提出一种基于隐含狄利克雷分配(LDA)主题模型的软件缺陷分派方法,将缺陷报告从原始的高维文本单词空间映射到低维语义主题空间,在新的低维主题空间上进行分派。实验结果表明,在使用SVM和KNN分类器时,该方法的分派准确率较高。  相似文献   

9.
特征提取是软件缺陷预测中的关键步骤,特征提取的质量决定了缺陷预测模型的性能,但传统的特征提取方法难以提取出软件缺陷数据的深层本质特征。深度学习理论中的自动编码器能够从原始数据中自动学习特征,并获得其特征表示,同时为了增强自动编码器的鲁棒性,本文提出一种基于堆叠降噪稀疏自动编码器的特征提取方法,通过设置不同的隐藏层数、稀疏性约束和加噪方式,可以直接高效地从软件缺陷数据中提取出分类预测所需的各层次特征表示。利用Eclipse缺陷数据集的实验结果表明,该方法较传统特征提取方法具有更好的性能。  相似文献   

10.
移动应用(APP)软件的版本更新速度正在加快,对软件缺陷的有效分析可以帮助开发人员理解和及时修复软件缺陷。然而,现有研究的分析对象大多较为单一,存在信息孤立、零散、质量差等问题,并且没有充分考虑数据验证及版本失配问题,分析结果存在较大误差,导致无效的软件演化。为了提供更有效的缺陷分析结果,提出一种面向版本演化的APP软件缺陷跟踪分析方法(ASD-TAOVE),首先从多源、异构的APP软件数据中抽取APP软件缺陷内容并挖掘缺陷事件的因果关系,接着设计了一种APP软件缺陷内容验证方法,基于信息熵结合文本特征和结构特征定量分析缺陷怀疑度用于缺陷内容验证并构建APP软件缺陷内容异构图。此外,为考虑版本演化带来的影响,设计了一个APP软件缺陷跟踪分析方法用于在版本演化中分析缺陷的演化关系,并将其转化为缺陷/演化元路径,最后通过一个基于深度学习的异构信息网络完成APP软件缺陷分析。针对4个研究问题(RQ)的实验结果证实了ASD-TAOVE方法在面向版本演化过程中对缺陷内容验证与跟踪分析的有效性,缺陷识别准确率分别提升约9.9%及5%(平均7.5%)。相较于同类基线方法,ASD-TAOVE方法可分析丰富的APP软件数据,提供有效的缺陷信息。  相似文献   

11.
在软件仓库挖掘领域, 通常 将软件工程任务转换成数据挖掘问题进行解决。领域特征的使用严重影响了软件任务的解决效果。然而,如何根据特定任务从软件仓库数据中提取有价值的特征,在软件仓库挖掘领域尚缺乏系统的研究。数据驱动特征提取方法是一种新的特征提取方法。对于给定的软件工程任务,该方法从任务的数据集中选取部分数据(如源代码、缺陷报告等),招募若干志愿者人工完成该任务,并要求志愿者说明在人工完成特定软件工程任务时所考虑的因素。通过分析这些因素,可以提取所需的领域特征。以缺陷报告摘要任务为例进行实验,结果表明新方法能够发现高效的领域特征,并取得比现有方法更好的预测效果。  相似文献   

12.
The large number of new bug reports received in bug repositories of software systems makes their management a challenging task.Handling these reports manually is time consuming,and often results in delaying the resolution of important bugs.To address this issue,a recommender may be developed which automatically prioritizes the new bug reports.In this paper,we propose and evaluate a classification based approach to build such a recommender.We use the Na¨ ve Bayes and Support Vector Machine (SVM) classifiers,and present a comparison to evaluate which classifier performs better in terms of accuracy.Since a bug report contains both categorical and text features,another evaluation we perform is to determine the combination of features that better determines the priority of a bug.To evaluate the bug priority recommender,we use precision and recall measures and also propose two new measures,Nearest False Negatives (NFN) and Nearest False Positives (NFP),which provide insight into the results produced by precision and recall.Our findings are that the results of SVM are better than the Na¨ ve Bayes algorithm for text features,whereas for categorical features,Na¨ ve Bayes performance is better than SVM.The highest accuracy is achieved with SVM when categorical and text features are combined for training.  相似文献   

13.
郑炜  陈军正  吴潇雪  陈翔  夏鑫 《软件学报》2020,31(5):1294-1313
软件安全问题的发生在大多数情况下会造成非常严重的后果,及早发现安全问题,是预防安全事故的关键手段之一.安全缺陷报告预测可以辅助开发人员及早发现被测软件中潜藏的安全缺陷,从而尽早得以修复.然而,由于安全缺陷在实际项目中的数量较少,而且特征复杂(即安全缺陷类型繁多,不同类型安全缺陷特征差异性较大),这使得手工提取特征相对困难,并随后造成传统机器学习分类算法在安全缺陷报告预测性能方面存在一定的瓶颈.针对该问题,提出基于深度学习的安全缺陷报告预测方法,采用深度文本挖掘模型TextCNN和TextRNN构建安全缺陷报告预测模型;针对安全缺陷报告文本特征,使用skip-grams方式构建词嵌入矩阵,并借助注意力机制对TextRNN模型进行优化.所构建的模型在5个不同规模的安全缺陷报告数据集上展开了大规模实证研究,实证结果表明:深度学习模型在80%的实验案例中都要优于传统机器学习分类算法,性能指标F1-score平均可提升0.258,在最好的情况下甚至可以提升0.535.除此之外,针对安全缺陷报告数据集存在的类不均衡问题,对不同采样方法进行了实证研究,并对结果进行了分析.  相似文献   

14.
张芸  刘佳琨  夏鑫  吴明晖  颜晖 《软件学报》2020,31(8):2432-2452
缺陷定位是软件工程研究最活跃的领域之一.大部分软件缺陷都会被提交到类似于Bugzilla和Jira的缺陷追踪系统中.由于提交的缺陷报告数量过多,开发人员不能及时地处理,因而迫切需要一个自动化工具来帮助开发人员识别缺陷相关源代码文件.研究人员已经提出了大量的缺陷定位技术.基于信息检索的软件缺陷定位技术(Information Retrieval-based Bug Localization,简称IRBL)利用了缺陷报告的文本特性,并且由于计算成本低、对不同的程序语言更具有普适性,成为缺陷定位领域的研究热点,取得了一系列研究成果.然而,IRBL技术也在数据预处理、相似度计算和工程应用等方面存在诸多挑战.鉴于此,本文对现有的IRBL技术进行梳理总结.主要内容包括:(1)梳理了IRBL中数据预处理的过程和信息检索通用方法;(2)对IRBL技术中利用的数据特征进行了详细的分类和总结;(3)总结了技术评估中使用的性能评估指标;(4)归纳出了IRBL技术的关键问题;(5)最后展望了IRBL技术的未来发展.  相似文献   

15.
软件缺陷在软件开发过程中不可避免,提交的缺陷报告则是分析和修复缺陷的重要信息来源。开发人员常通过借鉴相似的历史缺陷报告和修复信息来辅助对当前新缺陷的分析和修复。文中提出了一种知识驱动的相似缺陷报告推荐方法。该方法首先利用信息检索和Word Embedding技术构建缺陷知识图谱;然后利用TF-IDF和Word Embedding技术计算缺陷报告之间的文本相似度,同时综合考虑缺陷的各项属性,从而得到缺陷报告之间的主次要属性相似度;最后将上述相似度融合成综合相似度,利用综合相似度推荐相似缺陷报告。实验结果表明,与基线方法相比,在Firefox数据集上所提方法的性能平均提高了12.7%。  相似文献   

16.
在开源软件开发的维护阶段, 开源软件缺陷报告为开发人员解决缺陷提供了大量帮助。然而, 开源软件缺陷报告通常是以用户对话的形式编写, 一个软件缺陷报告可能含有数十条评论和上千个句子, 导致开发人员难以阅读或理解软件缺陷报告。为了缓解这个问题, 人们提出了开源软件缺陷报告自动摘要, 缺陷报告自动摘要可以减少开发人员阅读冗长缺陷报告的时间。本文以综述的方式对开源软件缺陷报告自动摘要的研究做了系统的归纳总结。首先, 根据摘要的表现形式, 将开源软件缺陷报告摘要分类为固定缺陷报告摘要和可视化缺陷报告摘要, 再将固定缺陷报告摘要研究方法分类为基于监督学习方法和基于无监督学习方法, 之后总结了基于监督学习和无监督学习的开源软件缺陷报告摘要生成的工作框架, 并介绍了开源软件缺陷报告摘要领域常用数据集、预处理技术和摘要评估指标。其次, 本文以无监督学习为切入点, 分类阐述和归纳了无监督开源软件缺陷报告摘要方法, 将无监督开源软件缺陷报告摘要方法分类为: 基于特征评分方法、基于深度学习方法、基于图方法和基于启发式方法, 并对每类方法进行讨论与分析。再次, 从缺陷报告摘要的实用性出发, 对现有的缺陷报告可视化摘要研究成果进行总结,并对固定缺陷报告摘要和可视化缺陷报告摘要的实用性做出分析。最后, 对现有研究成果及综述进行讨论和分析, 指出了开源软件缺陷报告摘要领域在缺陷报告数据集、抽取式摘要和黄金标准摘要三个方面面临的挑战和对未来研究的展望。  相似文献   

17.
重复缺陷报告的自动化检测可以减少开发冗余和维护成本,最近重复缺陷报告的检测倾向于利用深度神经网络,并考虑结构化和非结构化信息来生成混合表示特征。为了更有效获得缺陷报告的非结构化信息的特征,提出一种D_BBAS(Doc2vec and BERT BiLSTM-attention similarity)方法,它基于大规模缺陷报告库训练特征提取模型,生成能反映深层次语义信息的缺陷摘要文本表示集和缺陷描述文本表示集;利用这两个分布式的表示集计算出缺陷报告对的相似度,从而得到两个新的相似度特征;这两个新特征将与基于结构化信息生成的传统特征结合后参与重复缺陷报告的检测。在著名开源项目Eclipse、NetBeans 和Open Office的缺陷报告库上验证了D_BBAS方法的有效性,其中包含超过50万个缺陷报告。实验结果表明,相比于代表性方法,该方法的F1值平均提升了1.7%,证明了D_BBAS方法的有效性。  相似文献   

18.
缺陷的及时反馈与修复是开源软件长久健康发展的基本保障, 面对每天提交的大量、包含多方面因素的开源软件缺陷报告, 很多缺陷报告因为描述遗漏或不准确, 而影响缺陷有效判定和缺陷修复进程; 而面对需要填报的复杂缺陷报告信息, 报告提交者也无法确定哪些属性是关键的、哪些需要重点描述致使提交缺陷报告质量不高. 综合文献对缺陷报告描述的5个维度28种特征进行分析, 按照维度间和维度内多特征两个角度对缺陷报告特征进行重要度排序对比, 结果显示按照维度分析: 文本特征和报告者经验特征两个维度的F1值和准确率指标最高, 而每个维度内特征也显示了不同重要度, 从而可以指导缺陷提交者规范缺陷报告提交, 也可以指导修复者进行缺陷判定和缺陷修复.  相似文献   

19.
张文  李自强  杜宇航  杨叶 《软件学报》2019,30(2):195-210
当软件缺陷报告在跟踪系统中被指派给开发人员进行缺陷修复之后,缺陷修复人员就需要根据提交的缺陷报告来进行软件缺陷定位,并做出相应的代码变更,以修复该软件缺陷.在缺陷修复的整个过程中,软件缺陷定位占用了开发人员大量的时间.提出了一种方法级别的细粒度软件缺陷定位方法MethodLocator,以提高软件修复人员的工作效率.MethodLocator首先对缺陷报告和源代码方法体利用词向量(word2vec)和TF-IDF结合的方法进行向量表示;然后,根据源代码文件中方法体之间的相似度对方法体进行扩充;最后,通过对扩充后的方法体和缺陷报告计算其余弦距离并排序,来定位为修复软件缺陷所需做出变更的方法.在4个开源软件项目ArgoUML、Ant、Maven和Kylin上的实验结果表明,MethodLocator方法优于现有的缺陷定位方法,它能够有效地将软件缺陷定位到源代码的方法级别上.  相似文献   

20.
基于自助平均的朴素贝叶斯文本分类器   总被引:1,自引:1,他引:1       下载免费PDF全文
针对单词簇上训练朴素贝叶斯文本分类器概率估计偏差较大所导致的分类精度较低问题,在概率分布聚类算法得到的单词簇的基础上,根据单词与簇间互信息建立有序单词子序列,采用有放回随机抽样对序列构造规模相当的样本集,并将估计出的参数的平均值作为训练得到的参数对未知文本进行分类。公共文本实验数据集上的实验结果表明,该文提出的训练方法相对于传统的朴素贝叶斯分类器训练方法能够获得更高的分类精度且过程相对简单。  相似文献   

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

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