Linux内核故障注入
本系统用于各种内核模块/组件的鲁棒性验证。能够在运行时自动进行故障生成和故障注入。 参考流程如下:运行内核模块/组件测试并收集相应的trace。然后从捕获的trace中识别可能失败的目标函数,并对这些目标函数生成有效的故障场景。生成的每个故障场景都包含一个故障配置,用于指导进一步的故障注入。每个故障场景用于指导一个运行时故障注入实例,并生成更多的故障场景。重复此过程,直到所有故障场景都测试完毕。
故障定义:系统崩溃;系统挂起无响应;内核模块/组件崩溃;内核模块/组件挂起无响应
2021全国大学生操作系统比赛的“OS功能设计”赛道
- 以小组为单位参赛,最多三人一个小组,且小组成员是来自同一所高校的本科生(2021年春季学期或之后本科毕业的大一~大四的学生)
- 如学生参加了多个项目,参赛学生选择一个自己参加的项目参与评奖
- 请遵循“2021全国大学生操作系统比赛”的章程和技术方案要求
中等
-
故障自动注入 根据运行时生成的trace自动生成故障场景,从而有效地模拟内核模块/组件可能的错误条件。尽可能降低测试成本,加快测试过程
-
故障生成策略可迭代可收敛 根据运行时的trace,在有限时间内生成覆盖各种错误且无冗余的故障场景,要求故障生成可迭代可收敛
-
故障注入可重放 确保同一故障场景可以反复触发相同的内核模块/组件行为
-
可与Compass-CI进行集成 可通过脚本或其他合适的方式与Compass-CI进行集成联动