首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到19条相似文献,搜索用时 78 毫秒
1.
静态软件缺陷预测方法研究   总被引:7,自引:7,他引:7  
静态软件缺陷预测是软件工程数据挖掘领域中的一个研究热点.通过分析软件代码或开发过程,设计出与软件缺陷相关的度量元;随后,通过挖掘软件历史仓库来创建缺陷预测数据集,旨在构建出缺陷预测模型,以预测出被测项目内的潜在缺陷程序模块,最终达到优化测试资源分配和提高软件产品质量的目的.对近些年来国内外学者在该研究领域取得的成果进行了系统的总结.首先,给出了研究框架并识别出了影响缺陷预测性能的3个重要影响因素:度量元的设定、缺陷预测模型的构建方法和缺陷预测数据集的相关问题;接着,依次总结了这3个影响因素的已有研究成果;随后,总结了一类特殊的软件缺陷预测问题(即,基于代码修改的缺陷预测)的已有研究工作;最后,对未来研究可能面临的挑战进行了展望.  相似文献   

2.
由于静态软件数据之间的关联性较弱,无法形成可用于推理的逻辑关联。在对静态软件中故障数据判别中,预测过程的数据关联性无法被充分利用,缺少针对关联性的判断过程,导致计算的误差大,提出采用Boosting集成k-NN的静态软件中故障数据预测建模方法。先在不同的Boosting抽样数据集中形成一个新的训练集,并迭代训练出一个基本k-NN的静态软件故障预测器集合,利用该预测器集合分别对相应的软件模块进行独立预测,将各个基本预测值相融合形成一个最终的静态软件中故障数据预测结果。根据弥合数据缝隙的K-均值聚类方法将该预测结果表述为故障数据聚类空间的值域,建立了静态软件中故障数据预测模型。仿真结果表明,采用Boosting集成k--N的静态软件中故障数据预测建模方法建立的静态软件中故障数据预测模型可以较早地发现软件故障。  相似文献   

3.

开源软件缺陷预测通过挖掘软件历史仓库的数据,利用与软件缺陷相关的度量元或源代码本身的语法语义特征,借助机器学习或深度学习方法提前发现软件缺陷,从而减少软件修复成本并提高产品质量. 漏洞预测则通过挖掘软件实例存储库来提取和标记代码模块,预测新的代码实例是否含有漏洞,减少漏洞发现和修复的成本. 通过对2000年至2022年12月软件缺陷预测研究领域的相关文献调研,以机器学习和深度学习为切入点,梳理了基于软件度量和基于语法语义的预测模型. 基于这2类模型,分析了软件缺陷预测和漏洞预测之间的区别和联系,并针对数据集来源与处理、代码向量的表征方法、预训练模型的提高、深度学习模型的探索、细粒度预测技术、软件缺陷预测和漏洞预测模型迁移六大前沿热点问题进行了详尽分析,最后指出了软件缺陷预测未来的发展方向.

  相似文献   

4.
磁盘是保存数据的重要载体,提高磁盘的可靠性和数据可用性具有重要意义。现代磁盘普遍支持SMART协议,用来监控磁盘的内部工作状态。采用机器学习方法,分析磁盘的SMART信息,实现对磁盘故障的预测。所采用的机器学习方法包括反向神经网络、决策树、支持向量机以及简单贝叶斯,并采用实际磁盘SMART数据进行验证与分析。基于上述数据,对不同机器学习方法的有效性及其效果进行了对比。结果表明,决策树方法的预测率最好,支持向量机方法的误报率最低。  相似文献   

5.
软件测试中,静态度量和测试的预测,可以有效提高测试的效率,降低测试成本。文章在对软件测试技术研究的基础上,提出了一个基于谓词的静态度量分析法和曲线重心预测法,经实验和数据分析表明效果良好。  相似文献   

6.
针对软件故障数目历史数据的小样本特征,在传统灰色模型基础上,将预测模型的建模问题转换为灰色权因子的搜索问题,建立了变权搜索模型进行故障数目预测;提出用实测和预测序列的均方误差和斜率距离构建搜索指标集,用欧式距离构建计算各指标权重的最优准则函数,对模型的灰色权因子进行全局最优搜索,权因子随故障发展过程实时变化;经实例仿真,预测与实测序列相对误差较小,验证了所提方法的可行性和有效性,对装备软件风险评估提供了有效的决策支持。  相似文献   

7.
本文论述了打印机接口电路的工作原理,详细地介绍了采用DEBUG软件工餐分析、诊断打印机接口电路故障的方法和技巧。采用这种方法能快速准确地找到故障找到障点,甚至能够将故障点确定到某个芯片上。  相似文献   

8.
一类基于支持向量机的软件故障预测方法   总被引:2,自引:0,他引:2  
针对基于神经网络的计算机软件故障预测方法中存在的过学习和泛化能力差的问题,提出一种基于支持向量机(SVM)的软件故障预测方法.该方法应用具有强大非线性逼近能力与优秀泛化能力的支持向量机对软件故障因子与软件隐藏故障数之间的非线性关系进行拟合.采用经典粒子群优化算法(CPSO),在测试样本集均方根误差(RMSE)与平均绝对百分比误差(MAPE)同时最小时,选择和优化支持向量机的参数向量.计算机测控软件故障预测实验验证了该方法的可行性和可靠性.  相似文献   

9.
软件密集型装备是指软件和硬件肾密结合的装备,软件密集型装备中的故障多由软件与硬件相互作用引发.本文对程序流程违反硬件工作时序引起的故障进行了分析,并建立了故障模型,提出了一种静态故障检测方法,该方法通过对程序控制流进行分析,以检测程序流程是否违反硬件工作时序.  相似文献   

10.
复杂软件的级联故障建模   总被引:2,自引:0,他引:2  
王健  刘衍珩  刘雪莲 《计算机学报》2011,34(6):1137-1147
软件复杂性的增加直接导致软件故障的复杂性增加.从系统科学的角度出发,采用复杂网络等方法和技术在整体上研究复杂软件的级联故障特性是研究软件质量的一个新视角.以函数为节点、以调用关系为边,提出了使用有向边和边权表述函数间的调用关系和紧密程度的拓扑模型.通过引入函数容错能力和软件故障强度建立复杂软件的级联故障模型,模拟软件运...  相似文献   

11.
陈曙  叶俊民  刘童 《软件学报》2020,31(2):266-281
软件缺陷预测旨在帮助软件开发人员在早期发现和定位软件部件可能存在的潜在缺陷,以达到优化测试资源分配和提高软件产品质量的目的.跨项目缺陷预测在已有项目的缺陷数据集上训练模型,去预测新的项目中的缺陷,但其效果往往不理想,其主要原因在于,采样自不同项目的样本数据集,其概率分布特性存在较大差异,由此对预测精度造成较大影响.针对此问题,提出一种监督型领域适配(domainadaptation)的跨项目软件缺陷预测方法.将实例加权的领域适配与机器学习的预测模型训练过程相结合,通过构造目标项目样本相关的权重,将其施加于充足的源项目样本中,以实例权重去影响预测模型的参数学习过程,将来自目标项目中缺陷数据集的分布特性适配到训练数据集中,从而实现缺陷数据样本的复用和跨项目软件缺陷预测.在10个大型开源软件项目上对该方法进行实证,从数据集、数据预处理、实验结果多个角度针对不同的实验设定策略进行分析;从数据、预测模型以及模型适配层面分析预测模型的过拟合问题.实验结果表明,该方法性能优于同类方法,显著优于基准性能,且能够接近和达到项目内缺陷预测的性能.  相似文献   

12.
软件缺陷预测可帮助开发人员提前预测缺陷程序,合理分配有限的测试资源。软件缺陷预测的准确度不仅依赖于预测方法的选择,更依赖于软件的度量指标。因此,结合多元度量指标进行软件缺陷预测已成为当前的研究热点。从度量指标出发,对传统度量指标、多元度量指标以及结合多元度量指标的缺陷预测的研究进展进行了系统介绍。主要工作包含:介绍了传统的代码和过程度量指标、基于传统度量指标的软件缺陷预测模型以及影响数据质量的因素;阐述了语义结构度量指标;分析列举了当前用于软件缺陷预测的评价指标;结合预测粒度、传统度量指标、语义结构度量指标、跨项目软件缺陷预测对多元度量指标软件缺陷预测未来的研究趋势进行了展望。  相似文献   

13.
宫丽娜  姜淑娟  姜丽 《软件学报》2019,30(10):3090-3114
随着软件规模的扩大和复杂度的不断提高,软件的质量问题成为关注的焦点,软件缺陷是软件质量的对立面,威胁着软件质量,如何在软件开发的早期挖掘出缺陷模块成为一个亟需解决的问题.软件缺陷预测通过挖掘软件历史仓库,设计出与缺陷相关的内在度量元,然后借助机器学习等方法来提前发现与锁定缺陷模块,从而合理地分配有限的资源.因此,软件缺陷预测是软件质量保证的重要途径之一,近年来已成为软件工程中一个非常重要的研究课题.汇总近8年(2010年~2017年)国内外的缺陷预测技术的研究成果,并以缺陷预测的形式为主线进行分析,首先介绍了软件缺陷预测模型的框架;然后从软件缺陷数据集、构建模型的方法及评价指标这3个方面对已有的研究工作进行分类归纳和比较;最后探讨了软件缺陷预测的未来可能的研究方向、机遇和挑战.  相似文献   

14.
High-assurance and complex mission-critical software systems are heavily dependent on reliability of their underlying software applications. An early software fault prediction is a proven technique in achieving high software reliability. Prediction models based on software metrics can predict number of faults in software modules. Timely predictions of such models can be used to direct cost-effective quality enhancement efforts to modules that are likely to have a high number of faults. We evaluate the predictive performance of six commonly used fault prediction techniques: CART-LS (least squares), CART-LAD (least absolute deviation), S-PLUS, multiple linear regression, artificial neural networks, and case-based reasoning. The case study consists of software metrics collected over four releases of a very large telecommunications system. Performance metrics, average absolute and average relative errors, are utilized to gauge the accuracy of different prediction models. Models were built using both, original software metrics (RAW) and their principle components (PCA). Two-way ANOVA randomized-complete block design models with two blocking variables are designed with average absolute and average relative errors as response variables. System release and the model type (RAW or PCA) form the blocking variables and the prediction technique is treated as a factor. Using multiple-pairwise comparisons, the performance order of prediction models is determined. We observe that for both average absolute and average relative errors, the CART-LAD model performs the best while the S-PLUS model is ranked sixth.  相似文献   

15.
在基于软件产品度量值的缺陷预测中,度量值主要是基于两个层次:类/文件层次和包/组件层次。类级别的预测模型通常会有更好的预测效率,而包级别的模型往往能得到更好的查全率及查准率。提出综合类级别和包级别度量值进行缺陷预测的方法,在类级别预测的基础上,使用包级别预测的信息对类级别进行调整,在类级别预测中融合包级别预测中所隐含的问题域信息。通过基于Eclipse3.0系统的实验发现,该方法能够有效改善缺陷预测的效果。与类级别的缺陷预测模型相比,综合包级别度量值的缺陷预测方法提高了5%到8%的查全率。同时在预测效率上,测试出50%的缺陷,使用该方法可以有效减少3.6%到9.84%的代码检查量。  相似文献   

16.
软件缺陷预测是提高软件测试效率、保证软件可靠性的重要途径,已经成为目前实证软件工程领域的研究热点。在软件工程中,软件的开发过程或技术平台可能随时变化,特别是遇到新项目启动或旧项目重新开发时,基于目标项目数据的传统软件缺陷预测方法无法满足实践需求。基于迁移学习技术采用其他项目中已经标注的软件数据实现跨项目的缺陷预测,可以有效解决传统方法的不足,引起了国内外研究者的极大关注,并取得了一系列的研究成果。首先总结了跨项目软件缺陷预测中的关键问题。然后根据迁移学习的技术特点将现有方法分为基于软件属性特征迁移和软件模块实例迁移两大类,并分析比较了常见方法的特点和不足。最后探讨了跨项目软件缺陷预测未来的发展方向。  相似文献   

17.
为及时了解电子设备的运行状态,实现电子设备未来某时刻故障预测,将“事后维修”转变为“事前预防”,在统计学习理论(SLT)的基础上,采用LIB-SVM支持向量回归方法,对小样本、非线性条件下的数据进行拟合,并根据自动测试设备(ATE)测得的实际数据及专家经验,对该方法进行了验证;经实验证明,该方法是可行的、有效的,对电子设备的故障预测具有较高的准确度.  相似文献   

18.
李韵  黄辰林  王中锋  袁露  王晓川 《软件学报》2020,31(7):2040-2061
软件复杂性的增加,给软件安全性带来极大的挑战.随着软件规模的不断增大以及漏洞形态多样化,传统漏洞挖掘方法由于存在高误报率和高漏报率的问题,已无法满足复杂软件的安全性分析需求.近年来,随着人工智能产业的兴起,大量机器学习方法被尝试用于解决软件漏洞挖掘问题.首先,通过梳理基于机器学习的软件漏洞挖掘的现有研究工作,归纳了其技术特征与工作流程;接着,从其中核心的原始数据特征提取切入,以代码表征形式作为分类依据,对现有研究工作进行分类阐述,并系统地进行了对比分析;最后,依据对现有研究工作的整理总结,探讨了基于机器学习的软件漏洞挖掘领域面临的挑战,并展望了该领域的发展趋势.  相似文献   

19.
软件缺陷预测是根据软件产品中提取的度量信息和已经发现的缺陷来尽早地预测软件可能还存在的缺陷,基于预测结果可合理分配测试和验证资源.基于机器学习的缺陷预测技术能够较全面地、自动地学习模型来发现软件中的缺陷,已经成为缺陷预测的主要方法.为了提高预测的效率和准确性,对机器学习算法的选择和研究是很关键的.对不同的机器学习缺陷预测方法进行对比分析,发现各算法在不同评价指标上有不同的优势,利用这些优势并结合机器学习中的stacking集成学习方法提出了将不同预测算法的预测结果作为软件度量并进行再次预测的基于组合机器学习算法的软件缺陷预测模型,最后用该模型对Eclipse数据集进行实验,表明了该模型的有效性.  相似文献   

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

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