- 9
- 0
- 约6.95千字
- 约 10页
- 2018-07-30 发布于江苏
- 举报
在驱动程序开发中使用静态分析工具9
在驱动程序开发中使用静态分析工具
Adam Shapiro
Senior Program Manager
US-Networking Core PM
议程
静态分析工具
什么是静态分析?
静态分析工具的优点
下一版Windows将有哪些更新?
PREfast for Drivers (PFD)
核心的PREfast代码注解(annotations)
Static Driver Verifier (SDV)
RoleTypes
总结
什么是静态分析?
源代码的编译期间分析
类似于代码走查, 但由工具来完成
一个简单的例子就是编译期间的类型检查
检查对定义完善的限制条件的违反
过程调用约定和API约定
由静态检查工具发现的代码错误示例
f()要求p不为NULL:
重复结束同一个IRP:
IoCompleteRequest (Irp);
...
IoCompleteRequest (Irp);
p = NULL;
…
f(p);
为什么使用静态分析?
低级代码错误!
经验法则
“如果有一个缺陷在程序员的桌面上修正要花1美元,那么一旦这个缺陷已经被集成到完成的程序中,将需要100美元来修正,如果在软件被应用部署之后才发现这一缺陷,代价将达到数万美元。”
“Building a Better Bug Trap” — The Economist June 2003
工具可以提高你
原创力文档

文档评论(0)