首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 62 毫秒
1.
软件缺陷预测是改善软件开发质量,提高测试效率的重要途径.文中提出一种基于软件度量元的集成k-NN软件缺陷预测方法.首先,该方法在不同的Bootstrap抽样数据集上迭代训练生成一个基本k-NN预测器集合.然后,这些基本预测器分别对软件模块进行独立预测,各基本预测值将被融合生成最终的预测结果.为判别新的软件模块是否为缺陷模块,设计分类阈值的自适应学习方法.集成预测结果大于该阈值的模块将被识别为缺陷模块,反之则为正常模块.NASAMDP及PROMISEAR标准软件缺陷数据集上的实验结果表明集成k-NN缺陷预测的性能较之广泛采用的对比缺陷预测方法有较明显的提高,同时也证明软件度量元在缺陷预测中的有效性.  相似文献   

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

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

4.

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

  相似文献   

5.
基于生命周期的软件缺陷预测技术   总被引:1,自引:0,他引:1  
为保证软件可靠性和软件质量,在基于软件开发周期的基础上,提出了一种利用PCA-BP模糊神经网络的软件缺陷预计方法.针对影响软件可靠性的各种因素,依据相关的标准,结合工程实践,选取了影响软件可靠性的度量元.收集了实际工程中的一类飞行控制软件的度量数据,利用提出的模型进行缺陷预测,并将预测结果与传统的BP神经网络模型计算的结果进行了对比.对比结果表明,与基于BP神经网络的预测方法相比较,结合了主成分分析方法的PCA-BP神经网络预测方法具有更快的收敛速度和更高的预测准确度.  相似文献   

6.
为了能尽早发现软件中存在的缺陷,使用传统的机器学习方法来预测软件模块的缺陷倾向性,选取了NASA公开数据集中的部分数据集,针对软件缺陷预测中类不平衡的问题,分别采取了随机欠采样和随机过采样的方案,再使用逻辑回归算法和随机森林算法分别对数据集进行训练和预测,使用了查准率(Precision)、查全率(Recall)、RO...  相似文献   

7.
软件缺陷度量与软件过程管理方法研究   总被引:1,自引:0,他引:1  
软件能力成熟度模型第4级中要求在项目中定量管理,建立组织级过程性能,构成完整的量化管理,采用统计或其它定量方法管理软件过程,并通过对过程中出现的方法,技术等问题进行因果分析和寻找解决方案。在仔细研究了现有的缺陷度量分类方法和分析指标后,提出了一个基于缺陷度量与分析的软件过程改进模型。应用该模型可以设计缺陷数据管理系统。  相似文献   

8.
软件缺陷预测技术用于定位软件中可能存在缺陷的代码模块,从而辅助开发人员进行测试与修复。传统的软件缺陷特征为基于软件规模、复杂度和语言特点等人工提取的静态度量元信息。然而,静态度量元特征无法直接捕捉程序上下文中的缺陷信息,从而影响了软件缺陷预测的性能。为了充分利用程序上下文中的语法语义信息,论文提出了一种基于混合注意力机制的软件缺陷预测方法 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%。  相似文献   

9.
软件缺陷预测数据集作为预测模型构建及实施缺陷预测的基础设施,面临着两方面问题,一方面因数据源头上采集困难导致可用评测数据集较少;另一方面,已公开的数据集因领域数据不同导致了差异性大、度量标准不适用等问题,鲜有工程应用.结合国内航天领域的真实软件评测数据,对航天器软件度量指标设计方法与航天器软件缺陷预测数据集的构建过程进...  相似文献   

10.
王丹丹  王青 《软件学报》2016,27(12):3014-3029
软件持续演化已经是不争的事实,演化意味着需求的变化,也就必然导致了缺陷的不断产生.现有的缺陷预测技术多偏重于基于软件工作制品,如文档、代码、测试用例等的属性来预测缺陷,但如果把软件看作一种物种,其生命周期内的演化本质上是一个物种的逐步进化,其缺陷的表现也必然带着该物种的特征,而且还受到进化历史中的演化轨迹的影响.已有一些研究人员开始研究软件演化过程,并提出了一些演化度量元.研究和提出了可以刻画软件演化轨迹的两类演化度量元,并通过案例研究,建立缺陷预测模型.在6个著名开源软件数据集上训练和验证了由软件演化度量元建立的缺陷预测模型,获得了良好的预测性能,验证了演化度量元对缺陷预测性能的改进.  相似文献   

11.
总结了近年来挖掘软件开发信息库的研究工作,主要包括研究内容和采用的数据挖掘方法,最后讨论了软件开发信息库研究的未来发展前景.  相似文献   

12.
预测软件质量的技术中,软件建模技术是软件质量评价体系中的关键技术,它可以发现软件中度量数据和软件质量要素之间的非线性关系。BP神经网络能够很好地模拟度量数据和质量要素之间的非线性关系,但是BP网络存在易于陷入局部极小和收敛速度慢的问题,所以提出了用粒子群算法优化BP神经网络,通过优化的BP网络建立软件质量模型,这样能很好地解决BP网络收敛速度慢和局部极小的问题。在实现该进化BP神经网络的基础上,利用28组数据进行实验,并通过与BP模型的结果的比较,验证了该模型。  相似文献   

13.
ContextSoftware defect prediction has been widely studied based on various machine-learning algorithms. Previous studies usually focus on within-company defects prediction (WCDP), but lack of training data in the early stages of software testing limits the efficiency of WCDP in practice. Thus, recent research has largely examined the cross-company defects prediction (CCDP) as an alternative solution.ObjectiveHowever, the gap of different distributions between cross-company (CC) data and within-company (WC) data usually makes it difficult to build a high-quality CCDP model. In this paper, a novel algorithm named Double Transfer Boosting (DTB) is introduced to narrow this gap and improve the performance of CCDP by reducing negative samples in CC data.MethodThe proposed DTB model integrates two levels of data transfer: first, the data gravitation method reshapes the whole distribution of CC data to fit WC data. Second, the transfer boosting method employs a small ratio of labeled WC data to eliminate negative instances in CC data.ResultsThe empirical evaluation was conducted based on 15 publicly available datasets. CCDP experiment results indicated that the proposed model achieved better overall performance than compared CCDP models. DTB was also compared to WCDP in two different situations. Statistical analysis suggested that DTB performed significantly better than WCDP models trained by limited samples and produced comparable results to WCDP with sufficient training data.ConclusionsDTB reforms the distribution of CC data from different levels to improve the performance of CCDP, and experimental results and analysis demonstrate that it could be an effective model for early software defects detection.  相似文献   

14.
基于行为监控和数据挖掘的动态信任模型*   总被引:1,自引:0,他引:1  
实体之间的信任关系发生在一定的上下文中,其信任值与影响信任值的多个行为属性之间的关系复杂而且多变,很难用一个一成不变的函数去描述。根据软件传感器监测到的历史行为数据和目标信任值,利用logistic回归分析方法和成对分类法对行为属性与信任值之间的关系模式进行自适应的数据挖掘与知识发现,不需要任何的先验知识和主观假设,从而有效解决了信任值计算的动态性和客观性等问题。实验结果表明,与已有模型相比,该模型的平均误差率和计算效率都有所提高,能够快速有效地分类出实体间的信任等级。  相似文献   

15.
基于数据挖掘的四维飞行轨迹预测模型   总被引:2,自引:0,他引:2  
吴鹍  潘薇 《计算机应用》2007,27(11):2637-2639
为了解决传统的空气动力学模型在预测四维飞行轨迹上误差较大的问题,提出一种基于数据挖掘的预测模型。该模型挖掘历史飞行时间数据,从中找出影响飞行时间的因素,预测出下一次飞行的全程时间,然后从历史位置数据中分析得出飞机在每个采样周期点上的位置,实现完整的四维轨迹预测。仿真试验验证了该模型预测的准确性和可用性。  相似文献   

16.
The ability to predict the remaining cycle-time in industrial environments is of major concern among production managers. An accurate prediction would enable managers to handle undesired situations with more control, thereby preventing future losses. However, making such predictions is no trivial task: there are many methods available to cope with this problem, including a recent research stream in process mining. Process mining provides tools for automated discovery of process models from event logs, and eventually, extend those models in driving predictions. In general, predictive models in process mining generally deals with business processes, and not directly with the industrial environment, which contains a full prism of particularities. In this paper we propose a hybrid predictive model based on transition-systems and statistical regression which is “product-oriented”, tailored to better predict online cycle-times on industrial environments. We propose a weight for each method, optimized by a linear programming model. We tested our new approach on an artificially created log that emulates an industrial environment, and on a real manufacture log. Results showed that our approach provides better accuracy measures for both test instances.  相似文献   

17.
This paper presents a case study of a software project in the maintenance phase. The case study was based on a sample of modules, representing about 1.3 million lines of code, from a very large telecommunications system. Software quality models were developed to predict the number of faults expected from the coding through operations phases. Since modules from the prior release were often reused to develop a new release, one model incorporated reuse data as additional independent variables. We compare this model's performance to a similar model without reuse data.Software quality models often have product metrics as the only input data for predicting quality. There is an implicit assumption that all the modules have had a similar development history, so that product attributes are the primary drivers of different quality levels. Reuse of software as components and software evolution do not fit this assumption very well, and consequently, traditional models for such environments may not have adequate accuracy. Focusing on the software maintenance phase, this study demonstrated that reuse data can significantly improve the predictive accuracy of software quality models.  相似文献   

18.
数据挖掘技术可以从大量的数据中发现某些有价值的知识.而将软件源码作为一种特殊的数据,在其上应用数据挖掘技术进行源码层次上的信息挖掘,已成为一个新颖而重要的课题.将对软件源码上的数据挖掘技术从各领域的应用、数据挖掘方法以及当前发展水平等主要方面展开介绍,并详细剖析当前此领域的制约因素,提出未来此领域的发展方向.  相似文献   

19.
论述了与软件缺陷相关的几个问题,包括软件缺陷的来源、软件缺陷的分类和分级、软件缺陷数目的预测、软件缺陷的发现及排除效率、软件缺陷的分布等。综合利用这些因素可以大大降低软件缺陷的测试成本,提高软件测试的效率。  相似文献   

20.
This paper presents an empirical case study that predicted faults in modules based on the total information content of the operators. This metric is closely related to Harrison's average information content classification (AICC), which is the entropy of the operators. Most information theory-based metrics proposed in the literature have not been subjected to empirical predictive studies of real-world software systems. In contrast, this study shows that a simple information theory-based metric can be more useful for prediction of software quality than comparable metrics based on counts in the context of a commercial software development organization.Three models were considered, all based on operators as an abstraction of software. The model based on information content of the operators made more accurate predictions than two similar models based on the number of operators and the number of unique operators. The purpose of this paper is a fair comparison of the three metrics, rather than developing an optimal model. We have long advocated multivariate models for industrial use. The case study considered three large commercial systems, written in assembly language, and developed consecutively by professional programmers. The first system was used to estimate parameters of the models. The subsequent two were used to evaluate the accuracy of model predictions.  相似文献   

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

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