论文部分内容阅读
随着信息技术的飞速发展,各种计算机软件的功能越来越强大,加之商业组件(COTS)的大量应用,随之出现的健壮性失效问题也越来越多。在一些关键行业(如民航订票系统、银行结算系统、证券交易系统等)中,系统的延迟或失效将造成不可估量的损失。因此,在开发阶段,在保证系统的高处理能力的前提下,其健壮性必须通过评测得到验证。本文对国内外各种健壮性评测方法和工具进行了研究,发现传统的评测方法(即通过长期观察多个系统,记录系统的失效行为,进而分析错误日志实现评测)难以适用于本文的目标系统——高端容错系统,因为对于高可靠的系统而言,很难通过全生命周期测试的方法获取有关统计结果。因此,本文采用基于故障注入的方法实现对系统健壮性的测试,即使用软件或硬件方法向系统注入故障,观察系统在模拟真实故障下的表现。而通过对国内外一些经典的健壮性评测工具的对比分析,本文采用在健壮性评测中具有极大优势的软件实现的异常参数注入的故障注入方法对系统进行健壮性评测。本文归纳总结了各种经典的健壮性测试工具与不同层次的故障注入之间的联系,在此基础上探索多层次故障注入的注入模式,且面向Linux操作系统的体系结构提出了多层次的健壮性测试策略,针对应用程序编程接口(API)健壮性测试,驱动程序编程接口(DPI)健壮性测试,故障负载下的系统健壮性测试这三个层次分别设计了与之对应的故障注入方法,并为这三个层次的故障注入设计了集成故障注入平台。本文在此平台上分别采用单一API调用异常参数注入方式,单一DPI调用异常参数注入方式,运行时系统调用异常参数注入方式实现了对应用程序编程接口,驱动程序编程接口,运行时工作负载三个层次的故障注入,完成了不同层面的系统健壮性评测。最后,本文对不同层次的故障注入结果进行了对比分析,用以评价目标系统的健壮性。