共查询到19条相似文献,搜索用时 62 毫秒
1.
随着规模和复杂性的迅猛膨胀,软件系统中不可避免地存在缺陷.近年来,基于深度学习的缺陷预测技术成为软件工程领域的研究热点.该类技术可以在不运行代码的情况下发现其中潜藏的缺陷,因而在工业界和学术界受到了广泛的关注.然而,已有方法大多关注方法级的源代码中是否存在缺陷,无法精确识别具体的缺陷类别,从而降低了开发人员进行缺陷定位及修复工作的效率.此外,在实际软件开发实践中,新的项目通常缺乏足够的缺陷数据来训练高精度的深度学习模型,而利用已有项目的历史数据训练好的模型往往在新项目上无法达到良好的泛化性能.因此,本文首先将传统的二分类缺陷预测任务表述为多标签分类问题,即使用CWE(common weakness enumeration)中描述的缺陷类别作为细粒度的模型预测标签.为了提高跨项目场景下的模型性能,本文提出一种融合对抗训练和注意力机制的多源域适应框架.具体而言,该框架通过对抗训练来减少域(即软件项目)差异,并进一步利用域不变特征来获得每个源域和目标域之间的特征相关性.同时,该框架还利用加权最大均值差异作为注意力机制以最小化源域和目标域特征之间的表示距离,从而使模型可以学习到更多的域无关特征.最后在八个真实世界的开源项目上与最先进的基线方法进行大量对比实验验证了所提方法的有效性. 相似文献
2.
针对域适应技术在源域数据集子类距离过近以及样本数量少时分类精度低的问题,提出一种基于深度卷积生成对抗网络(DCGAN)数据扩充的深度多源子域适应网络(DMSAN)故障诊断方法.首先,针对目标域样本少的问题,引入深度卷积生成对抗网络对其进行数据扩充;其次,通过网络分支结构获取多源域的共享特征;再次,使用局部最大均值差异(LMMD)进行特征映射,对齐每个源域和目标域的子领域;最后,采用加权模块实现全局损失的最小化,以及多源域联合诊断.引入美国凯斯西储大学(CWRU)数据集和搭建故障诊断平台测得的轴承故障数据集进行实验,结果表明所提出模型的跨域故障诊断精度高于其他域适应对比模型,在目标域数据较少时优势尤为明显. 相似文献
3.
域适应是解决源域样本和目标域样本不满足独立同分布问题的迁移学习范式,是当下研究的重点方法。然而实际情况下获取源域样本的渠道和方法并不唯一,这会导致源域中存在多种不同分布的样本。多源域适应方法是解决源域样本分布多样性问题的有效途径,其主要研究各源域分布间的关系和与目标域分布对齐的策略,进一步减轻各域之间的域偏移,具有实用意义和挑战价值。随着深度学习技术的不断进步,多源域适应方法主要使用深度神经网络提取各域的域不变特征作为分布对齐的依据,结合使用度量准则衡量分布差异或者利用对抗思想对齐域间分布。经过理论证明和实验验证,多源域适应方法训练的模型比单源域方法训练的模型具有更好的泛化性能,更符合现实需求。通过介绍多源域适应的研究现状和相关概念,对现有算法进行总结和综述,按照迁移方式不同对多源域适应方法进行分类,进一步分析多源域适应方法性能的实验结果,阐述其存在的不足和缺点,并对多源域适应领域的发展和趋势进行预测。 相似文献
4.
《计算机科学与探索》2016,(1):43-55
跨项目软件缺陷预测是解决项目初期缺陷预测缺乏数据集的有效途径,但是项目间的差异性降低了预测准确率。针对这一问题,研究提出了基于实例迁移的跨项目缺陷预测方法。该方法采用迁移学习和自适应增强技术,从其他项目数据集中提取并迁移转化出与目标数据集关联性高的训练数据集,训练出更有效的预测模型。使用PROMISE数据集进行了对比实验,结果表明所提出的新方法有效避免了单源单目标缺陷预测两极分化问题,获得了更高的预测准确率和查全率;在目标项目数据集不足的情况下,能达到甚至超过数据集充足时项目内缺陷预测的预测效果。 相似文献
5.
标准域无监督域适应学习是从相关的源域学习知识迁移到目标域,通常假设源域数据在训练阶段是可直接使用的。但是由于隐私和安全问题,在一些现实的应用中,源域数据往往是不可直接获取的,如何有效利用目标域数据从而减少噪声类的输出或特征的产生是源域无关域适应学习的巨大挑战。为解决这个问题,提出了一个基于双矫正机制的源域无关域适应学习模型(source-free domain adaptation with dual-correction mechanism,DCM)。首先,探索目标域样本信息结构,对噪声类输出进行矫正;其次,采用教师—学生模型指导特征的学习,最大化高置信度特征间的一致性以及低置信度特征间的差异性。最后,在数字集、Office-31和Office-Home数据集上的实验结果证实了DCM的有效性。 相似文献
6.
作为机器学习的一个新兴领域,多源部分域适应(MSPDA)问题由于其源域自身的复杂性、领域之间的差异性以及目标域自身的无监督性,给相关研究带来了挑战,以致目前鲜有相关工作被提出.在该场景下,多个源域中的无关类样本在域适应过程中会造成较大的累积误差和负迁移.此外,现有多源域适应方法大多未考虑不同源域对目标域任务的贡献度不同.因此,提出基于自适应权重的多源部分域适应方法(AW-MSPDA).首先,构建了多样性特征提取器以有效利用源域的先验知识;同时,设计了多层次分布对齐策略从不同层面消除了分布差异,促进了正迁移;此外,为量化不同源域贡献度以及过滤源域无关类样本,利用相似性度量以及伪标签加权方式构建自适应权重;最后,通过大量实验验证了所提出AW-MSPDA算法的泛化性以及优越性. 相似文献
7.
在新领域中,常常存在样本不充分或标记不足的问题。针对此问题,人们提出了域适应,该方法利用相关领域(源域)的知识来提高当前领域(目标域)学习性能。单个源域的知识往往不充分且类别完全相同的多个源域难以满足,同时域之间存在漂移问题。而现有的多源域适应模型难以解决类别不完全一致的问题,因此给多源域适应带来了较大的挑战。为此提出了一种基于模型参数自适应迁移的方法(Adaptive Transfer for ModelParameter,ATMP),通过对每个源域的模型参数进行私有和公有模型参数字典学习,同时将多个源域中所学的模型参数字典作为目标域的模型参数字典,然后通过对字典系数的行稀疏约束实现源域和目标域模型参数的自适应选择。除此之外,该方法迁移的是模型参数而不是数据本身,因此有效实现了对源域数据的隐私保护。经过一系列实验表明,在相关数据集上的实验显示了本文所提方法在聚类性能上的显著有效性。 相似文献
8.
股票价格预测是金融和计算机学科交叉领域的经典问题,由于股票市场的复杂性和高波动性等特征,及时预测股票价格被认为是最具挑战性的问题之一.长短期记忆(LSTM)神经网络在时间序列预测问题中表现出良好的性能.然而,该模型及其改进模型专注于顺序捕获序列信息,在学习输入数据之间非序列性的内部关联方面没有优势.此外,模型在输入数据的融合方面往往并不全面.针对上述问题,提出了融合多源数据、具有自注意力机制的长短期记忆神经网络(SA-LSTM)股票价格预测模型.SA-LSTM模型具有自注意力单元,在学习序列特征时能够快速捕获长距离依赖关系,有效学习数据之间的相关性.在多源数据的融合方面,同时融合与目标股票直接间接相关的数据,解决输入数据不全面的问题.通过对股票次日收盘价预测的实验表明,与其他基准预测模型相比,该模型取得了最佳性能,在不同数据集上均具有最小预测误差. 相似文献
9.
在软件缺陷预测任务中,通常基于C&K等静态软件特征数据集,使用机器学习分类算法来构建软件缺陷预测(SDP)模型。然而,大多数静态软件特征数据集中缺陷数较少,数据集的类不平衡问题较为严重,导致学习到的SDP模型的预测性能较差。文中基于生成对抗网络(GAN),并利用FID得分筛选生成正例样本数据,增强正例样本量,然后在组块正则化m×2交叉验证(m×2BCV)框架下,通过众数投票法聚合多个子模型的结果,最终构成SDP模型。以PROMISE数据库下的20个数据集为实验数据集,采用随机森林算法构建SDP聚合模型。实验结果表明,与传统的随机上采样、SMOTE、随机下采样相比,所提SDP聚合模型的F1平均值分别提高了10.2%,5.7%,3.4%,且F1的稳定性也得到相应提高;所提SDP聚合模型在20个数据集的评测中,有17个F1值最高。从AUC指标来看,所提方法与传统的采样方法没有明显差异。 相似文献
10.
针对滚动轴承故障在噪声环境下诊断效果不佳的问题,提出了一种多源传感器数据下基于注意力机制与长短期记忆(long short-term memory, LSTM)网络的轴承故障诊断新方法。首先,将多源传感器采集的1维数据进行归一化处理,通过构建带AdaBN(Adaptive Batch Normalization)技术的双通道孪生卷积网络提取有效特征并进行数据融合。其次,将融合数据输入具有同时考虑通道间关系和位置信息功能的改进1维CoordAtt(Coordinate Attention)中。再次,通过LSTM层提取时间特征,通过标签平滑正则化改进后的损失函数来评估诊断效果,使用新型优化器Adan进行优化。最后,将得到的诊断模型应用于测试集,输出故障类别诊断结果。将模型在不同测试集比例下进行诊断精度对比实验,判断出最佳比例为0.3,并在噪声环境下进行测试。实验结果表明,所提方法能更好地对抗噪声环境的影响。在C-MAPSS数据集上的实验结果验证了CoordAtt-LSTM模型在寿命预测中的有效性。 相似文献
11.
软件缺陷预测旨在帮助软件开发人员在早期发现和定位软件部件可能存在的潜在缺陷,以达到优化测试资源分配和提高软件产品质量的目的.跨项目缺陷预测在已有项目的缺陷数据集上训练模型,去预测新的项目中的缺陷,但其效果往往不理想,其主要原因在于,采样自不同项目的样本数据集,其概率分布特性存在较大差异,由此对预测精度造成较大影响.针对此问题,提出一种监督型领域适配(domainadaptation)的跨项目软件缺陷预测方法.将实例加权的领域适配与机器学习的预测模型训练过程相结合,通过构造目标项目样本相关的权重,将其施加于充足的源项目样本中,以实例权重去影响预测模型的参数学习过程,将来自目标项目中缺陷数据集的分布特性适配到训练数据集中,从而实现缺陷数据样本的复用和跨项目软件缺陷预测.在10个大型开源软件项目上对该方法进行实证,从数据集、数据预处理、实验结果多个角度针对不同的实验设定策略进行分析;从数据、预测模型以及模型适配层面分析预测模型的过拟合问题.实验结果表明,该方法性能优于同类方法,显著优于基准性能,且能够接近和达到项目内缺陷预测的性能. 相似文献
12.
Software metrics rarely follow a normal distribution. Therefore, software metrics are usually transformed prior to building a defect prediction model. To the best of our knowledge, the impact that the transformation has on cross-project defect prediction models has not been thoroughly explored. A cross-project model is built from one project and applied on another project. In this study, we investigate if cross-project defect prediction is affected by applying different transformations (i.e., log and rank transformations, as well as the Box-Cox transformation). The Box-Cox transformation subsumes log and other power transformations (e.g., square root), but has not been studied in the defect prediction literature. We propose an approach, namely Multiple Transformations (MT), to utilize multiple transformations for cross-project defect prediction. We further propose an enhanced approach MT+ to use the parameter of the Box-Cox transformation to determine the most appropriate training project for each target project. Our experiments are conducted upon three publicly available data sets (i.e., AEEEM, ReLink, and PROMISE). Comparing to the random forest model built solely using the log transformation, our MT+ approach improves the F-measure by 7, 59 and 43% for the three data sets, respectively. As a summary, our major contributions are three-fold: 1) conduct an empirical study on the impact that data transformation has on cross-project defect prediction models; 2) propose an approach to utilize the various information retained by applying different transformation methods; and 3) propose an unsupervised approach to select the most appropriate training project for each target project. 相似文献
13.
跨项目缺陷预测(cross-project defect prediction, CPDP)已经成为软件工程和数据挖掘领域的一个重要研究方向, 利用其他数据丰富项目的缺陷代码来建立预测模型, 解决了模型构建过程中的数据不足问题. 然而源项目和目标项目的代码文件之间存在的分布差异, 导致跨项目预测效果不佳. 大多数研究采用域适应方法来解决这一问题, 但是现有的方法一方面只考虑了条件分布或边缘分布对缺陷预测的影响, 忽视了其动态性; 另一方面没有选择合适的伪标签. 基于上述两个方面, 本文提出了一种基于动态分布对齐和伪标签学习的跨项目缺陷预测方法(DPLD). 具体来说, 我们通过对抗域适应方法分别在域对齐和类别对齐模块中减小项目间的边缘分布差异和条件分布差异, 并借助动态分布因子动态、定量地描述了两种分布的相对重要性. 此外, 本文也提出了一种伪标签学习方法, 通过数据间的几何相似性来增强伪标签作为真实标签的准确性. 本文在PROMISE数据集上进行了实验, F-measure和AUC的值分别提升了22.98%、15.21%, 表明了本文方法在减小项目间分布差异、提升跨项目缺陷预测性能上的有效性. 相似文献
14.
软件缺陷预测是提高软件测试效率、保证软件可靠性的重要途径,已经成为目前实证软件工程领域的研究热点。在软件工程中,软件的开发过程或技术平台可能随时变化,特别是遇到新项目启动或旧项目重新开发时,基于目标项目数据的传统软件缺陷预测方法无法满足实践需求。基于迁移学习技术采用其他项目中已经标注的软件数据实现跨项目的缺陷预测,可以有效解决传统方法的不足,引起了国内外研究者的极大关注,并取得了一系列的研究成果。首先总结了跨项目软件缺陷预测中的关键问题。然后根据迁移学习的技术特点将现有方法分为基于软件属性特征迁移和软件模块实例迁移两大类,并分析比较了常见方法的特点和不足。最后探讨了跨项目软件缺陷预测未来的发展方向。 相似文献
15.
在实际软件开发中,需要进行缺陷预测的项目可能是一个新启动项目,或者这个项目的历史训练数据较为稀缺.一种解决方案是利用其他项目(即源项目)已搜集的训练数据来构建模型,并完成对当前项目(即目标项目)的预测.但不同项目的数据集间会存在较大的分布差异性.针对该问题,从特征迁移和实例迁移角度出发,提出了一种两阶段跨项目缺陷预测方法FeCTrA.具体来说,在特征迁移阶段,该方法借助聚类分析选出源项目与目标项目之间具有高分布相似度的特征;在实例迁移阶段,该方法基于TrAdaBoost方法,借助目标项目中的少量已标注实例,从源项目中选出与这些已标注实例分布相近的实例.为了验证FeCTrA方法的有效性,选择Relink数据集和AEEEM数据集作为评测对象,以F1作为评测指标.首先,FeCTrA方法的预测性能要优于仅考虑特征迁移阶段或实例迁移阶段的单阶段方法;其次,与经典的跨项目缺陷预测方法TCA+、Peters过滤法、Burak过滤法以及DCPDP法相比,FeCTrA方法的预测性能在Relink数据集上可以分别提升23%、7.2%、9.8%和38.2%,在AEEEM数据集上可以分别提升96.5%、108.5%、103.6%和107.9%;最后,分析了FeCTrA方法内的影响因素对预测性能的影响,从而为有效使用FeCTrA方法提供了指南. 相似文献
16.
软件缺陷预测是软件工程领域中的一个研究热点.跨项目缺陷预测(Cross-Project Defect Prediction, CPDP)采用源项目的缺陷数据来预测目标项目的缺陷倾向性.然而,源项目和目标项目的特征可能会有所不同.因此,研究人员提出了异质缺陷预测(Heterogeneous Defect Prediction, HDP).为了提高HDP模型的性能,本文提出了一种基于特征迁移和域自适应的异质缺陷预测(Feature Transfer and Domain Adaptation, FTDA)方法.首先,FTDA使用基于相关性的特征选择算法从源项目的特征集中选择最优的特征子集.随后,使用欧氏距离进行匹配特征,并为每个目标项目选择最合适的源项目.再次,使用TCA算法解决不同项目之间的分布差异问题.最后,使用SMOTETomek算法处理类不平衡问题.为了验证FTDA方法的有效性,本文对AEEEM,PROMISE,NASA和Relink数据集中的24个项目进行了实证研究.实证研究表明,FTDA显著提高了异质缺陷预测的性能. 相似文献
17.
18.
J. Harikiran B. Sai Chandana B. Srinivasarao B. Raviteja Tatireddy Subba Reddy 《计算机系统科学与工程》2023,45(3):2313-2331
Software systems have grown significantly and in complexity. As a result of these qualities, preventing software faults is extremely difficult. Software defect prediction (SDP) can assist developers in finding potential bugs and reducing maintenance costs. When it comes to lowering software costs and assuring software quality, SDP plays a critical role in software development. As a result, automatically forecasting the number of errors in software modules is important, and it may assist developers in allocating limited resources more efficiently. Several methods for detecting and addressing such flaws at a low cost have been offered. These approaches, on the other hand, need to be significantly improved in terms of performance. Therefore in this paper, two deep learning (DL) models Multilayer preceptor (MLP) and deep neural network (DNN) are proposed. The proposed approaches combine the newly established Whale optimization algorithm (WOA) with the complementary Firefly algorithm (FA) to establish the emphasized metaheuristic search EMWS algorithm, which selects fewer but closely related representative features. To find the best-implemented classifier in terms of prediction achievement measurement factor, classifiers were applied to five PROMISE repository datasets. When compared to existing methods, the proposed technique for SDP outperforms, with 0.91% for the JM1 dataset, 0.98% accuracy for the KC2 dataset, 0.91% accuracy for the PC1 dataset, 0.93% accuracy for the MC2 dataset, and 0.92% accuracy for KC3. 相似文献
19.
为了提高软件的可靠性,软件缺陷预测已经成为软件工程领域中一个重要的研究方向.传统的软件缺陷预测方法主要是设计静态代码度量,并用机器学习分类器来预测代码的缺陷概率.但是,静态代码度量未能充分考虑到潜藏在代码中的语义特征.根据这种状况,本文提出了一种基于深度卷积神经网络的软件缺陷预测模型.首先,从源代码的抽象语法树中选择合适的结点提取表征向量,并构建字典将其映射为整数向量以方便输入到卷积神经网络.然后,基于GoogLeNet设计卷积神经网络,利用卷积神经网络的深度挖掘数据的能力,充分挖掘出特征中的语法语义特征.另外,模型使用了随机过采样的方法来处理数据分类不均衡问题,并在网络中使用丢弃法来防止模型过拟合.最后,用Promise上的历史工程数据来测试模型,并以AUC和F1-measure为指标与其他3种方法进行了比较,实验结果显示本文提出的模型在软件缺陷预测性能上得到了一定的提升. 相似文献