龙源期刊网httpwwwqika
comc
软件缺陷预测技术研究
作者:何中威范鑫来源:《中国新通信》2015年第22期
【摘要】软件的可靠性是确保用户使用的前提,软件缺陷将严重影响用户体验。本文简要介绍了软件缺陷预测,并对其相关技术进行了研究,以期为软件开发人员提供参考。【关键词】软件缺陷预测技术复杂性度量预测原理随着计算机软件系统规模不断增大以及逻辑复杂性不断增强,其潜在的或未被测试出的缺陷则会影响软件质量。基于此,本文通过研究软件缺陷预测技术,可帮助测试人员有效评估软件的可靠性,掌握软件质量状态,从而确定其是否达到使用标准。一、软件缺陷预测软件缺陷预测技术自出现以来,在软件领域一直极为活跃,其对软件质量分析、减少开发时间、降低开发成本等方面具有重要的价值。软件缺陷预测技术是指按照软件的基本属性规模、复杂性、开发方法和过程,以及已知缺陷来预测潜在但还未被发现的缺陷1。软件缺陷预测技术能帮助测试人员掌握软件失效模式、了解质量状态,并决定软件是否交予用户使用。软件缺陷预测技术可分成动态缺陷预测与静态缺陷预测2。动态缺陷预测技术是以缺陷产生时间为基础,对系统缺陷随时间分布实施预测的技术;该技术利用时间分布统计、挖掘软件的缺陷,寻找缺陷基于软件开发周期的引入与移除规律。静态缺陷预测技术是指采用软件规模、复杂度、开发过程等可度量缺陷的元素及已有缺陷,预测软件潜在但还未暴露的缺陷;该技术以缺陷尽早检测为原则,既可减少缺陷修复成本,又能缩短缺陷修复时间。二、软件复杂性度量及其与缺陷预测的关系软件复杂性度量与模块错误分布具有紧密的关联。即:正开发软件模块的复杂性度量与软件生命周期的测试和运行过程中所发现的错误数量之间存在直接相关性3。将复杂性度量作为输入,能有效预测软件可靠性。软件模块出错倾向可直接反映软件的可靠性(外部质量属性),但不可直接获得。故在缺陷预测模型中输入软件复杂性度量(内部质量属性),可获得各软件模块出错倾向的预测值,从而间接反映软件的可靠性。三、软件缺陷预测技术原理软件缺陷预测旨在帮助研究人员在软件开发早期宏观的认识该系统。其可区分系统各模块出错倾向,在软件测试、修改过程中有效配置资源,以提升软件开发效率、减少开发成本。软件缺陷预测技术原理如图2所示,软件缺陷预测过程分为三部分,即:特征选择处理复杂性度量数据集、建立缺陷预测模型、模型预测结果。
f龙源期刊网httpwwr