一种基于模块依赖图的软件缺陷预测方法技术

技术编号:24409537 阅读:40 留言:0更新日期:2020-06-06 08:34
本公开提出的一种基于模块依赖图的软件缺陷预测方法,通过根据待分析软件的版本信息识别软件模块的缺陷信息;根据软件模块之间的依赖关系建立软件模块依赖图,并将开发人员作为模块依赖图中的节点;提取所述软件模块的内部特征,采用网络表示学习方式提取软件模块依赖图中的每个节点的依赖特征,将内部特征和模块之间的依赖特征构成度量元组,根据所述度量元组以及所述模块的缺陷信息建立所述软件的历史缺陷库;利用历史缺陷库训练缺陷预测模型用于后续软件缺陷的预测,缺陷预测采用基于局部最优的分类器动态选择模型,对缺陷预测模型的参数自动优化,将软件模块缺陷预测模型的结果作为待分析软件的缺陷预测结果。该方法能够提高构建网络节点度量元的灵活性,提高软件缺陷预测的效果。

A software defect prediction method based on module dependency graph

【技术实现步骤摘要】
一种基于模块依赖图的软件缺陷预测方法
本专利技术属于软件质量保证
,特别涉及一种基于模块依赖图的软件缺陷预测方法。
技术介绍
软件缺陷预测是软件工程中的一个非常重要的研究课题,基于度量的静态软件缺陷预测技术借助从已有的软件模块中获得的历史数据,对新的软件模块进行缺陷预测,以判断新的软件模块是否存在缺陷,从而为软件项目提供决策支持。现有的软件缺陷预测研究大多采用机器学习技术,软件缺陷预测一般包括如下步骤:1)标记模块类别,软件模块可以被划分为有缺陷模块和无缺陷模块两个类别;2)提取模块属性,利用McCabe度量、McCabe度量、Halstead度量等方法对软件模块进行度量,得到软件模块的属性;3)建立预测模型,根据软件模块的类别和属性信息,利用机器学习的方法,通过学习获得一个分类器;4)对新模块进行预测,利用该分类器,根据新软件模块的属性,对它的属性进行预测,从而判断该模块是否含有缺陷。设置与软件缺陷存在强相关的度量元,是构建高质量缺陷预测模型的关键。模块之间的依赖关系越复杂越可能发生缺陷,因此可以利用模块的网络度量元进行缺陷预测本文档来自技高网...

【技术保护点】
1.一种基于模块依赖图的软件缺陷预测方法,其特征在于,所述方法包括:/nS1:根据待分析软件的版本信息识别软件模块的缺陷信息;/nS2:根据软件模块之间的依赖关系建立软件模块依赖图,并将开发人员作为模块依赖图中的节点;/nS3:提取所述软件模块的内部特征,采用网络表示学习方式提取所述软件模块依赖图中的每个节点的依赖特征,将所述内部特征和所述依赖特征构成度量元组,根据所述度量元组以及所述模块的缺陷信息建立所述软件的历史缺陷库;/nS4:利用历史缺陷库训练缺陷预测模型用于后续软件缺陷的预测,软件模块缺陷预测模型采用基于局部最优的分类器动态选择,对所述模块缺陷预测模型的参数自动优化,将所述软件模块缺...

【技术特征摘要】
1.一种基于模块依赖图的软件缺陷预测方法,其特征在于,所述方法包括:
S1:根据待分析软件的版本信息识别软件模块的缺陷信息;
S2:根据软件模块之间的依赖关系建立软件模块依赖图,并将开发人员作为模块依赖图中的节点;
S3:提取所述软件模块的内部特征,采用网络表示学习方式提取所述软件模块依赖图中的每个节点的依赖特征...

【专利技术属性】
技术研发人员:原仓周柯鑫鑫
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1