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

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

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;第十一章智能软件测试技术;第十一章智能软件测试技术;软件缺陷报告是软件设计、开发、维护过程中发现的软件问题的记录,是测试人员和开发人员之间重要的沟通工具。

常见的软件缺陷报告管理过程如图11-1所示,该过程包括重复检测、设置严重性和优先级、分配合适的开发人员、软件缺陷定位、软件缺陷修复,以及回归验证这几个关键步骤。;为了提高软件缺陷报告管理效率、降低软件缺陷管理成本,需要进行自动化软件缺陷报告分析。

1.自动化软件缺陷报告分析涉及的主要方面

针对软件缺陷报告的一系列分析研究,主要涉及以下5个方面。

(1)重复软件缺陷报告检测

(2)高影响力软件缺陷报告识别

(3)软件缺陷报告优先级和严重性预测

(4)软件缺陷/故障定位

(5)自动程序修复;2.安全缺陷报告分析的背景

互联网的快速发展导致各种网络安全事件频繁发生。软件因为自身存在缺陷而遭受外界利用攻击导致隐私泄露、非法提权、勒索等严重后果,从而给个人、企业、社会和国家造成严重威胁。

研究表明,互联网面临的安全攻击(如拒绝服务攻击、缓冲区溢出、SQL?注入、病毒、数据篡改等)几乎都是利用软件中存在的安全漏洞实施的。;图11-2所示的是从2010年到2019年CVE网站每年新增的漏洞数量。从2010年开始每年至少新增4000条记录,特别地,从2017年开始数量出现猛烈增长,近三年(2017年—2019年)产生数据总量为43444条记录,占近十年(2010年—2019年)数据总量的52%。;11.1.2安全缺陷检测数据集的构造;2.人工样本标记

当前,在软件工程领域,许多样本数据的标记依然在很大程度上依赖领域专家知识,主要靠人工标记的方式来完成,面向安全缺陷报告分析的样本标记亦是如此。

安全缺陷报告检测自动化过程中,通常将安全缺陷报告检测形式化为一个二分类问题。即,与安全相关的软件缺陷报告(SecurityBugReport,SBR),标记为“1”;与安全不相关的缺陷报告(Non-SecurityBugReport,NSBR),标记为“0”。;通常采用“卡片分类法”来进行样本标记,并通过FleissKappa系数衡量不同成员标记结果之间的差异性。

卡片分类法??

组织至少两名成员对样本数据进行独立标记;然后,根据各成员标记结果判断最终样本标签,如果不同成员的标记结果一致,则该标签为该样本的最终标签;如果各成员标记结果不同,则成员进行沟通讨论,直到达成一致标记结果为止。

FleissKappa系数是检验实验标注结果数据一致性的一个重要指标。FleissKappa对于评定条件属性与条件属性之间的相关程度有很大帮助。;设N为被评定对象的总数,n为评定对象的总数,k为评定的等级数,nij为第j个评定对象对第i个被评对象划分的等级数,则系数的计算公式为:;3.自动化样本标记预处理

面向软件缺陷报告分析的自动化样本标记方法的相关研究目前尚处于初期探索阶段。具体的自动化样本标记预处理过程主要涉及数据析取、数据清洗及数据融合3个主要阶段。

(1)数据析取

首先从软件缺陷跟踪系统(如JIRA、Bugzilla、LaunchPad)获取软件项目的缺陷报告数据极其详细信息,一般而言,一个软件缺陷报告主要包括:ID、标题(Title)、提交人员(Reporter)、软件缺陷修复人员(Assignee)、状态(Status)、优先级(Priority)严重程度(Severity/Importance)以及描述信息(Description)等字段。;表11-1所示的是OpenStack项目中一个软件缺陷报告的具体示例。;;自动化样本标记过程一般需要借助一部分已经标记的样本信息。对于安全缺陷而言,CVE是当前国际权威的漏洞数据库,提交到?CVE?的软件缺陷可以认为都是跟安全相关的缺陷,因此,用户可以借助CVE进行一部分的安全缺陷样本标记。;(2)数据清洗

软件缺陷报告分析往往以描述信息作为关键分析内容,因此描述信息量过少,甚至为空的软件缺陷报告往往不适合进行自动化软件缺陷报告分析。数据清洗旨在对数据进行结构化和归一化等操作,过滤掉存在关键信息缺失等现象的无效数据。

(3)数据融合

自动关联多源数据之间的关系,例如,图11-3所示的是CVE数据与原始软件缺陷报告建立管理关系,从而获取到该软件缺陷报告的标记类型为安全缺陷报告。数据融合中获取的已标记样本数据将为后续自动样本标记模型的设计和构建提供样本数据基础。;4.面向安全缺陷报告检测的自动化样本标记方法

与人工标记过程类似,自动化样本标记中,依然采用S

文档评论(0)

139****1983 + 关注
实名认证
文档贡献者

副教授、一级建造师持证人

一线教师。

领域认证该用户于2023年06月21日上传了副教授、一级建造师

1亿VIP精品文档

相关文档