【技术实现步骤摘要】
一种基于模糊聚类的软件老化交叠点清理方法及系统
[0001]本专利技术属于软件老化领域,具体涉及一种基于模糊聚类的软件老化交叠点清理方法及系统。
技术介绍
[0002]在长时间运行的系统中,由软件老化相关缺陷(Aging Related Bug,ARB)引起的软件老化现象往往会导致系统性能下降、软件执行过程中故障率增加。软件老化现象据统计已经在很多系统中持续出现,例如:Linux系统、Web服务、Android系统、Java虚拟机和军事系统。虽然软件老化是一个渐进的现象,但其影响不可忽视,如软件老化导致的系统偶尔宕机可能会造成严重的经济损失甚至生命损失。因此,有必要在测试阶段发现包含老化bug的文件。
[0003]ARB预测(Aging Related Bug Prediction,ARBP)已被证明是一种避免软件老化的有效方法,它可以预测源代码中是否存在老化bug。它们通过分类源文件在测试阶段是否包含bug来消除老化bug的发生。随着机器学习方法的发展,越来越多的分类模型被用于检测老化bug。然而,机器学习算法在很大程度上依赖于训练数据的质量,以往的研究主要集中在类不平衡和特征冗余的质量问题上。它们都忽略了一个数据集中的一些代码文件虽然属于不同的类别,但其在分布空间中是接近甚至交叠的,这可能也会影响训练集的质量。这种现象被称为类交叠,类交叠已被证实会导致类之间的边界更加模糊,最终影响分类器的分类能力,因此有必要在进行ARBP(软件老化相关缺陷预测)前对交叠点进行清理以提高分类器的性能。
[0004] ...
【技术保护点】
【技术特征摘要】
1.一种基于模糊聚类的软件老化交叠点清理方法,其特征在于,包括:对软件老化缺陷数据集进行数据归一化;采用Fuzzy
‑
C
‑
means对归一化后的软件老化缺陷数据集进行模糊聚类,将特征相似度高的样本聚类到相同的堆中,并获得每个样本对每个聚类堆的隶属度值;且采用手肘部优化法对Fuzzy
‑
C
‑
means的聚类堆值k进行优化以得到最优聚类结果;基于得到的聚类结果,对每个聚类堆中的样本根据隶属度值进行交叠点判断,并对每个聚类堆中的交叠点进行清理;所述交叠点判断包括:对于每个样本,得到其隶属于每个聚类堆的隶属度矩阵[π1,
…
,π
k
];将隶属度矩阵二值化;定义超参数Threshold,当π
k
≥Threshold时,将样本在Cluster
k
的隶属度值二值化为1,反之,当π
k
<Threshold时,将该样本在Cluster
k
的隶属度值二值化为0;π
k
表示该样本对第k个聚类堆的隶属度值,Cluster
k
表示第k个聚类堆;根据二值化矩阵计算每个样本的二值化矩阵的和sum;当sum>1时,该样本为交叠点,仅对无老化缺陷的交叠点进行清理;当sum≤1时,该样本为非交叠点;将清理交叠点后的样本进行合并得到最终的软件老化缺陷数据集。2.根据权利要求1所述的基于模糊聚类的软件老化交叠点清理方法,其特征在于,采用Z
‑
score标准化方法对软件老化缺陷数据集进行数据归一化,包括:设软件老化缺陷数据集D={(x
1j
,y
1j
),(x
2j
,y
2j
)
…
(x
nj
,y
nj
)},其中x
nj
表示软件老化缺陷数据集第n个样本的第j个特征值,y
nj
={0,1}是样本的标签,0表示该样本为无老化缺陷样本,1表示该样本为有老化缺陷样本;归一化公式如下:其中,x
ij
为第i个样本的第j个特征值,x
′
ij
为归一化后第i个样本的第j个特征值,mean(x
.j
)为数据集所有样本第j个特征的均值,std(x
.j
)为数据集所有样本第j个特征的方差。3.根据权利要求1所述的基于模糊聚类的软件老化交叠点清理方法,其特征在于,模糊聚类公式如下:其中,J
FCM
为模糊聚类函数;参数β控制隶属度的模糊性;π为模糊隶属度矩阵,表示约束条件下样本与每个聚类堆中心的接近系数;C为聚类堆中心;N为样本总数;x
i
为第i个样本的特征值;m
c
为每次聚类的聚类堆中心;对于以及满足π
ic
∈[0,1],且对于满足4.根据权利要求1所述的基于模糊聚类的软件老化交叠点清理方法,其特征在于,手肘部优化法对Fuzzy
‑
C
‑
means的聚类堆值k进行优化包括:式中,Loss为损失,n为样本总数,x
t
为第t个样本,μ
i
为第i个聚类堆中心,c
t
为第t个样
本所属的聚类堆标签。5.根据权利要求1至4中任意一项所述的基于模糊聚类的软件老化交叠点清理方法,其特征在于,超参数Thh为0.3。6.一种基于模糊聚类的软件老化交叠点清理系统,其特...
【专利技术属性】
技术研发人员:向剑文,张晨,谢文智,赵冬冬,胡文华,田璟,
申请(专利权)人:武汉理工大学重庆研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。