Terminator的应用与效果
1. 引言
在现代软件开发中,确保程序的终止性至关重要。特别是在操作系统、网络服务器、邮件服务器和数据库引擎等反应式系统中,组件的非正常终止可能导致系统无响应或崩溃。本文将详细介绍Terminator工具在实际应用中的表现及其取得的效果。
2. Terminator的应用背景
Terminator是一款专门用于验证程序终止性的工具。它支持处理大型程序片段(超过20,000行代码),并且能够处理C语言中的复杂特性,如任意嵌套循环、递归函数、指针别名、副作用和函数指针等。与传统的符号软件模型检查器相比,Terminator的独特之处在于它可以自动合成终止性论证,而无需用户提供额外的注释或辅助证明材料。
2.1 设备驱动程序的终止性验证
Terminator的一个重要应用场景是对设备驱动程序的终止性验证。设备驱动程序是操作系统与硬件之间的桥梁,其调度例程必须在被调用后可靠地返回给操作系统。为了确保这一点,Terminator被应用于大小从5,000到35,000行代码不等的设备驱动程序。
2.1.1 实验设置
实验通过将Terminator与Windows静态驱动程序验证器产品集成来进行。以下是具体的实验步骤:
- 选择目标驱动程序 :挑选了23个不同类型的设备驱动程序作为验证对象。
- 集成Terminator :将Terminator与Windows静态驱动程序验证器集成,确保两者协同工作。
超级会员免费看
订阅专栏 解锁全文
2535

被折叠的 条评论
为什么被折叠?



