软件测试 第2版 第十一章 智能软件测试技术.pptxVIP

  • 0
  • 0
  • 约6.81千字
  • 约 55页
  • 2023-02-28 发布于甘肃
  • 举报

软件测试 第2版 第十一章 智能软件测试技术.pptx

第十一章智能软件测试技术11.1 基于机器学习的软件缺陷报告分析基于机器学习的软件缺陷报告分析的目的和意义安全缺陷检测数据集的构造基于深度学习的安全缺陷报告检测基于软件度量的软件缺陷预测方法基于软件度量的软件缺陷预测的目的和意义软件缺陷预测模型的构建111.3 基于搜索的软件测试方法智能搜索算法搜索技术在软件测试中的应用11.4 小结211.1.1 基于机器学习的软件缺陷报告分析的目的和意义软件缺陷报告是软件设计、开发、维护过程中发现的软件问题的记录, 是测试人员和开发人员之间重要的沟通工具。常见的软件缺陷报告管理过程如图11-1所示,该过程包括重复检测、设 置严重性和优先级、分配合适的开发人员、软件缺陷定位、软件缺陷修复, 以及回归验证这几个关键步骤。3为了提高软件缺陷报告管理效率、降低软件缺陷管理成本,需要进 行自动化软件缺陷报告分析。1.自动化软件缺陷报告分析涉及的主要方面针对软件缺陷报告的一系列分析研究,主要涉及以下5个方面。(1)重复软件缺陷报告检测(2)高影响力软件缺陷报告识别(3)软件缺陷报告优先级和严重性预测(4)软件缺陷/故障定位(5)自动程序修复42.安全缺陷报告分析的背景互联网的快速发展导致各种网络安全事件频繁发生。软件因为自 身存在缺陷而遭受外界利用攻击导致隐私泄露、非法提权、勒索等严 重后果,从而给个人、企业、社会和国家造成严重威胁。研究表明,互联网面临的安全攻击(如拒绝服务攻击、缓冲区溢 出、SQL 注入、病毒、数据篡改等)几乎都是利用软件中存在的安全 漏洞实施的。5图1 -2所示的是从2010年到2019年CVE网站每年新增的漏洞数量。从2010 年开始每年至少新增4000条记录,特别地,从2017年开始数量出现猛烈增长, 近三年(2017年—2019年)产生数据总量为43444条记录,占近十年(2010 年—2019年)数据总量的52%。611.1.2 安全缺陷检测数据集的构造数据是机器学习应用的基础,基于机器学习的软件缺陷报告分析,首先 需要有大规模带标记的软件缺陷报告数据的支持。用于安全缺陷检测的数据集构造主要以开源的软件缺陷报告数据仓库(如JIRA、Bugzilla、LaunchPad)和开源漏洞数据库(如CVE、NVD、SARD)为数据源。1.安全漏洞数据库CVE对于开源项目,CVE详细信息页面的“参考”部分列出了相关源软件缺 陷报告的链接,这些链接连接了CVE条目和源软件缺陷报告,因此,为安全 缺陷检测数据集的构造提供了极大的便利。72.人工样本标记当前,在软件工程领域,许多样本数据的标记依然在很大程度上 依赖领域专家知识,主要靠人工标记的方式来完成,面向安全缺陷报 告分析的样本标记亦是如此。安全缺陷报告检测自动化过程中,通常将安全缺陷报告检测形式 化为一个二分类问题。即,与安全相关的软件缺陷报告(Security Bug Report,SBR),标记为“1”;与安全不相关的缺陷报告(Non-Security Bug Report,NSBR),标记为“0”。8通常采用“卡片分类法”来进行样本标记,并通过Fleiss Kappa系数衡 量不同成员标记结果之间的差异性。卡片分类法:组织至少两名成员对样本数据进行独立标记;然后,根据各成员标记结 果判断最终样本标签,如果不同成员的标记结果一致,则该标签为该样本的 最终标签;如果各成员标记结果不同,则成员进行沟通讨论,直到达成一致 标记结果为止。Fleiss Kappa系数是检验实验标注结果数据一致性的一个重要指标。FleissKappa对于评定条件属性与条件属性之间的相关程度有很大帮助。9设N为被评定对象的总数,n为评定对象的总数,k为评定的等级数,nij 为第j个评定对象对第i个被评对象划分的等级数,则系数的计算公式为:103.自动化样本标记预处理面向软件缺陷报告分析的自动化样本标记方法的相关研究目前尚 处于初期探索阶段。具体的自动化样本标记预处理过程主要涉及数据 析取、数据清洗及数据融合3个主要阶段。(1)数据析取首先从软件缺陷跟踪系统(如JIRA、Bugzilla、LaunchPad)获取 软件项目的缺陷报告数据极其详细信息,一般而言,一个软件缺陷报 告主要包括:ID、标题(Title)、提交人员(Reporter)、软件缺陷修 复人员(Assignee)、状态(Status)、优先级(Priority)严重程度(Severity/Importance)以及描述信息(Description)等字段。11表1 -1所示的是OpenStack项目中一个软件缺陷报告的具体示例。1213自动化样本标记过程一般需要借助一部分已经标记的样本信息。对于安 全缺陷而言,CVE是当前国际权威的漏洞数据库,提交到 CVE 的软件缺陷可 以认为都是跟安

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档