[发明专利]用于自动分析软件风险的方法和系统有效
申请号: | 201480015247.9 | 申请日: | 2014-03-07 |
公开(公告)号: | CN105190548B | 公开(公告)日: | 2019-06-04 |
发明(设计)人: | V·纳拉辛汉;A·K·加内桑 | 申请(专利权)人: | 微软技术许可有限责任公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41;G06F11/00 |
代理公司: | 上海专利商标事务所有限公司 31100 | 代理人: | 蔡悦 |
地址: | 美国华*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 软件 自动 风险 分析 | ||
此处描述的技术能够执行对软件程序的自动风险分析。自动风险分析器可确定软件的二进制码和软件的源文件之间、源文件和软件的函数(即子例程)之间、对软件的源代码的改变和软件中的缺陷、新特征、和/或特征增强之间、在软件的各属性(例如,与对源代码的改变相关联的属性)之间等的相关性。自动风险分析器可将对应于第一时间实例的相关性和对应于第二时间实例的相关性作比较来确定与底层因素相关的各种时间关系中的任意一种,底层因素包括但不限于新特征、特征增强、缺陷、搅动率、代码覆盖、代码复杂度等。自动风险分析器可基于时间关系确定软件的风险。
技术领域
本发明涉及计算机软件,更具体的,涉及软件风险的自动分析。
背景技术
软件的测试通常是与软件的开发同时进行的,以便改善软件在软件的生命周期的相对前期的质量。然而,软件中的缺陷普遍在缺陷被引入软件的开发周期之后进行的开发周期中被发现。在这种情况下,标识和分析缺陷可能相对具有挑战性。
随着软件开发从一个周期进展到另一周期,追踪缺陷到特定的开发周期允许对在特定周期中开发的软件中的特征的质量的评估和理解。不能这样做的困难之一是可能引入各种问题中的任意一种。例如,当导致缺陷的具体的软件代码改变未知时,风险评估和过程纠正可能变得相对困难。将用于解决该缺陷的资源转移到软件的正确组件和/或合适的工程团队可能变得相对困难。被采用供工程团队使用的对于进程的有效性的反馈可能变得相对有限。基于特定模式的缺陷的对于个人和他们的团队的反馈可能变得相对有限。对于软件质量的进行中的改善可能变得不切实际,因为如果引起缺陷的具体代码改变是未知的话,则对于现有缺陷的根本原因分析效果变得不太有效。
已进行了各种尝试来手动地解决这些问题。例如,诸如Visual 团队服务器(VSTS)或者Product StudioTM之类的追踪工具依赖于缺陷寻找者将缺陷链接到软件特征或软件开发周期的有效性。提交缺陷的人通常将附加信息与该缺陷相关联,从而将缺陷链接到之前发布的特征和/或之前的开发周期。使用这一信息,选择性的缺陷通常按分类来分析或单独的实践来分析,以创建对于链接到过去的开发周期的缺陷的手动报告。然而,找到缺陷的人可能不是在软件的开发周期期间测试该软件特征的人。如果找到缺陷的人不具有以上提及的信息,则这人可能不能准确地将缺陷链接到产品特征。此外,这样的手动技术传统来说是不可缩放的,这可能导致这类技术相对不太有效。
发明内容
在此描述了用于执行对软件的自动风险分析等的各种方法。例如,可在软件的开发期间自动对软件执行这一风险分析。风险分析的目的是确定软件程序的风险。风险是能够对软件程序的执行带来负面影响的因素。
描述了示例方法。根据这一方法、软件程序的多个源代码文件与包括在软件程序的经编译的表示中的二进制码相关以提供第一相关性。对于多个时间段中的每个时间段,在各个时间段期间发生的对于多个源代码文件中的源代码文件的改变被基于第一相关性而映射到软件程序的经编译的表示中的缺陷以提供缺陷映射。确定软件程序的属性。属性至少包括代码覆盖和/或代码复杂度。对于每个时间段,确定该时间段的缺陷映射和属性之间的中间关系。对应于第一时间段的中间关系被相关于对应于第二时间段的中间关系以提供时间关系。多个因素的各个子集将干扰软件程序的执行的可能性基于该时间关系来确定。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于微软技术许可有限责任公司,未经微软技术许可有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201480015247.9/2.html,转载请声明来源钻瓜专利网。