论文部分内容阅读
随着科学技术的发展,软件系统在经济、金融、医疗、通信、交通、航天、航空、工业控制等领域得到了广泛的应用。这对软件的可靠性提出了前所未有的挑战。
为了提高软件的可靠性,人们采用软件工程学方法来指导整个软件研发流程。在整个流程中软件测试对于软件可靠性的提高起到了至关重要的作用,同时测试中获得的软件失效数据为软件可靠性评估奠定了基础。以手工方式生成测试数据,工作量大、效率低、容易出错,而且无法保证测试的充分性。因此,如何生成测试数据成为软件测试的难点之一。
可靠性作为衡量软件质量的重要特性,其定量评估已成为研究人员关注的焦点。软件可靠性建模是软件可靠性评估的主要方法之一。前人在软件可靠性模型方面的研究衍生出了大量模型及其变种。如此众多的模型一方面说明了软件可靠性问题的复杂性与不确定性,另一方面说明至今没有一个可适用于所有软件项目的通用模型,使得运用这些模型成了一个棘手的问题。
数据挖掘是涉及数据库、人工智能、数理统计、机器学习等的交叉学科。它能发现大量数据中隐含的、有意义的知识,已经被广泛的应用于众多领域。在本文中,作者深入研究了软件可靠性测试与评估的方法和数据挖掘技术,发现了两者之间的结合点,提出了把数据挖掘技术应用于软件测试数据生成和软件可靠性建模的方案,来解决目前软件测试和可靠性评估中所暴露出来的问题。
对于手工编制结构测试数据极为困难且效率低下这一问题,作者把数据挖掘中的遗传算法应用到结构测试数据生成这一场景中。在进一步研究了遗传算法特点后,为提高搜索效率,对遗传算法进行了改进,并设计了相应的算法包。对于传统可靠性模型健壮性差、适用范围窄这一问题,作者在分析了问题的根本原因之后,研究了基于数据挖掘BP神经网络的软件可靠性建模方法和基于线性神经网络的综合模型建模方法。
本文最后以HBFS(霍尼韦尔银行金融远程联网管理集成平台)的可靠性测试与评估作为应用实例。论述了从测试需求分析,测试策略选择,测试用例生成到测试结果统计的整个过程。把本文设计的遗传算法包应用到了HBFS系统的结构测试数据生成中,并与原始遗传算法、爬山法、随机法的搜索效率进行比较,获得了有意义的结果。在HBFS的测试过程中,积累了此软件系统的大量失效数据,为HBFS系统可靠性评估作了充分的准备。作者把基于BP神经网络的可靠性模型与基于线性神经网络的综合可靠性模型应用到HBFS系统的可靠性评估中,并进行了仿真。最后,通过与传统可靠性模型预测结果的误差分析、比较,证明了神经网络算法应用于可靠性评估的可行性、精确性和适用性。