查看原文
其他

【CAPESE知识分享】 静态软件缺陷预测方法介绍

2017-02-13 信息与电子前沿

本文转载自微信公众号:软件工程标准化在线


软件缺陷(software defect)产生于开发人员的编码过程,需求理解不正确、软件开发过程不合理或开发人员的经验不足,均有可能产生软件缺陷。而含有缺陷的软件在运行时可能会产生意料之外的结果或行为,严重的时候会给企业造成巨大的经济损失,甚至会威胁到人们的生命安全。在软件项目的开发生命周期中,检测出内在缺陷的时间越晚,修复该缺陷的代价也越高。尤其在软件发布后,检测和修复缺陷的代价将大幅度增加。


因此,项目主管借助软件测试或代码审查等软件质量保障手段,希望能够在软件部署前尽可能多地检测出内在缺陷。但是,若关注所有的程序模块会消耗大量的人力物力,因此,项目主管希望能够预先识别出可能含有缺陷的程序模块,并对其分配足够的测试资源。


软件缺陷预测是其中一种可行的方法,根据软件历史开发数据以及已发现的缺陷,借助机器学习等方法来预测软件项目中的缺陷数目和类型等。


目前,已有的软件缺陷方法可以简单地分为静态缺陷预测方法和动态缺陷预测方法,其中,静态预测方法基于缺陷相关的度量数据,对程序模块的缺陷倾向性、缺陷密度或缺陷数进行预测;而动态缺陷预测方法则是基于缺陷或失效产生的时间对系统缺陷随时间的分布进行预测,以发现软件缺陷随其生命周期或其中某些阶段的时间关系的分布规律。


具体来说静态软件缺陷预测方法,该类方法通过分析软件代码或开发过程设计出与软件缺陷相关的度量元,随后,通过挖掘软件历史仓库(software historical repositories)来创建缺陷预测数据集。目前,可以挖掘与分析的软件历史仓库包括项目所处的版本控制系统(例如CVS,SVN 或Git等)、缺陷跟踪系统(例如Bugzilla,Mantis,Jira或Trac等)或相关开发人员的电子邮件等。最后,基于上述搜集的缺陷预测数据集,构建缺陷预测模型,并用于预测出项目内的潜在缺陷程序模块。静态软件缺陷预测属于当前软件工程数据挖掘领域中的一个重要研究问题。


随着新的数据挖掘技术的不断涌现以及研究人员对软件历史仓库挖掘的日益深入,静态软件缺陷预测研究在近些年来取得了大量的研究成果,其缺陷预测结果也逐渐成为判断一个系统是否可以交付使用的重要依据。因此,针对该问题的深入研究对提高和保障软件产品的质量具有重要的研究意义。


[文章来源:http://www.yunmingwang.cn/blog/article.asp?id=241]


  • 《中国电子科学研究院学报》欢迎各位专家、学者赐稿!投稿链接 

  • 电话:010-68893411

  • 邮箱:dkyxuebao@vip.126.com

  • 配图均来自于网络。

  • 如需转载,请在后台回复“转载”。

系列合集:

2016年文章目录

DARPA的13个科研成果转化项目

DARPA2016年最受关注的10大项目

DARPA的关键研究领域:信息,生物,技术边界

只要内容过硬,其他都无所谓的,2016微信大调查

两院院士:评选2016年中国、世界10大科技进展

15张图看未来30年科技改变社会

未来30年,塑造社会变化的6个关键趋势

美国陆军报告:未来30年,影响世界的24个核心科技趋势

麻省理工科技评论:2016年十大突破技术

新视点:漫谈面向未来之颠覆性技术

新视点:美国国家创新体系发展进程概览

新视点:中美在网络空间如何达成共识:一种建构主义视角

新视点:特朗普大选获胜是颠覆式创新的胜利

新视点:透过数据看美国国防科技创新体系(三)

新视点:智慧城市就是更多参与

新视点:漫谈面向未来之战略前沿技术

学术:SDN安全技术研究

学术:电磁武器打击链构建理论与方法研究

学术:图像在战术数据链中的可靠传输协议研究

学术:基于内部安全隧道防止节点隐藏木马的新方法

学术:量子计量技术在预警机中的应用

学术:传感器辅助的WiFi指纹室内定位方法

学术:三维打印的现状与未来

学术:网络空间进攻机理初步研究

学术:无人机在优化时敏目标杀伤链中的作用研究

学术:量子计量技术在预警机中的应用

学术:一种基于多频分级架构的空中自组网研究

学术:基于国防部体系架构(DODAF)的美军信息支持计划(ISP)


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存