跳到主要内容
10.1145/1217935.1217943acm会议文章/章节视图摘要出版物页面欧罗西斯会议记录会议集合
第条

设备驱动程序的全面静态分析

出版:2006年4月18日出版历史

摘要

内核级设备驱动程序中的错误会导致85%的Windows XP操作系统崩溃[44]。这些错误的来源之一是Windows驱动程序API本身的复杂性:程序员必须掌握一套关于如何使用驱动程序API的复杂规则,才能创建好的内核客户端驱动程序。我们已经构建了一个静态分析引擎,可以在C程序中发现API使用错误。静态驱动程序验证工具(SDV)使用此引擎查找驱动程序中的内核API使用错误。SDV包括操作系统模型和设备驱动程序环境,以及60多个API使用规则。SDV旨在供驱动程序开发人员“开箱即用”使用。因此,它有严格的要求:(1)完全自动化,无需用户输入;(2) 错误率低。我们讨论了SDV中用于满足这些要求的技术,以及在100多个Windows设备驱动程序上运行SDV的经验结果。

工具书类

  1. T.Ball、B.Cook、S.Das和S.K.Rajamani。精炼软件谓词抽象中的近似。在TACAS 04:系统构建和分析的工具和算法中,第388-403页,2004年。谷歌学者谷歌学者交叉引用交叉引用
  2. T.Ball、B.Cook、S.K.Lahiri和L.Zhang。Zapato:谓词抽象求精的自动定理证明。在CAV 04:计算机辅助验证中,第457-4612004页。谷歌学者谷歌学者
  3. T.Ball、R.Majumdar、T.Millstein和S.K.Rajamani。C程序的自动谓词抽象。PLDI 01:编程语言设计与实现,第203-213页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  4. T.Ball、M.Naik和S.K.Rajamani。从症状到原因:在反例跟踪中定位错误。在《POPL 03:编程语言原理》中,第97-105页,2003年。谷歌学者谷歌学者数字图书馆数字图书馆
  5. T.Ball、A.Podelski和S.K.Rajamani。用于模型检查C程序的布尔和笛卡尔抽象。在TACAS 01:系统构建和分析的工具和算法中,第268-2832001页。谷歌学者谷歌学者数字图书馆数字图书馆
  6. T.Ball、A.Podelski和S.K.Rajamani。抽象求精的相对完整性。在TACAS 02:系统构建和分析的工具和算法,第158-172页,2002年4月。谷歌学者谷歌学者数字图书馆数字图书馆
  7. T.Ball和S.K.Rajamani。Bebop:布尔程序的符号模型检查器。在SPIN 00:SPIN Workshop中,第113-130页,2000。谷歌学者谷歌学者数字图书馆数字图书馆
  8. T.Ball和S.K.Rajamani。自动验证接口的临时安全属性。在SPIN 01:SPIN Workshop中,第103-122001页。谷歌学者谷歌学者数字图书馆数字图书馆
  9. T.Ball和S.K.Rajamani。Bebop:一个路径敏感的过程间数据流引擎。在PASTE 01:软件工具和工程程序分析研讨会中,第97-1032001页。谷歌学者谷歌学者数字图书馆数字图书馆
  10. A.Bradley、Z.Manna和H.Sipma。具有可达性的线性排名。在CAV 05:计算机辅助验证中,第491-504页,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  11. R.E.布莱恩特。用于布尔函数操作的基于图的算法。IEEE计算机汇刊,C-35(8):677-6911986。谷歌学者谷歌学者数字图书馆数字图书馆
  12. W.R.Bush、J.D.Pincus和D.J.Sielaff。用于查找动态编程错误的静态分析器。软件实践与经验,30(7):775--8022000年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  13. S.Chaki、E.Clarke、A.Groce、S.Jha和H.Veith。c.软件组件的模块化验证。ICSE 03:国际软件工程会议,第385-395页,2003年。谷歌学者谷歌学者数字图书馆数字图书馆
  14. H.Chen、D.Dean和D.Wagner。模型检查一百万行c代码。2004年NDSS 04:网络和分布式系统安全研讨会。谷歌学者谷歌学者
  15. A.Chou、J.Yang、B.Chelf、S.Hallem和D.Engler。操作系统错误的实证研究。SOSP 01:操作系统原理研讨会,第73-88页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  16. E.Clarke、O.Grumberg、S.Jha、Y.Lu和H.Veith。反例引导的抽象细化。在CAV 00:计算机辅助验证中,第154-1692000页。谷歌学者谷歌学者数字图书馆数字图书馆
  17. E.Clarke、D.Kroening、N.Sharygina和K.Yorav。使用SAT对ANSI-C程序进行谓词抽象。系统设计中的形式化方法(FMSD),25:105-1272004年9月至11月。谷歌学者谷歌学者数字图书馆数字图书馆
  18. B.Cook和G.Gonthier。使用Stalmárck算法证明不等式。在ICFEM 05:正式工程方法会议中,第330-344页,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  19. B.Cook、D.Kroening和N.Sharygina。Cogent:程序验证的精确定理证明。在CAV 05:计算机辅助验证中,第296-300页,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  20. B.Cook、D.Kroening和N.Sharygina。异步布尔程序的符号模型检查。SPIN 01:SPIN研讨会,第75-90页,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  21. B.库克、A.波德斯基和A.赖巴尔琴科。终止的抽象细化。SAS 05:静态分析研讨会,第87-1012005页。谷歌学者谷歌学者数字图书馆数字图书馆
  22. B.库克、A.波德斯基和A.赖巴尔琴科。系统代码的终止证明。在PLDI 06:编程语言设计与实现,2006年。谷歌学者谷歌学者数字图书馆数字图书馆
  23. P.库索和R.库索。抽象解释:通过构造或近似不动点对程序进行静态分析的统一格模型。《POPL 77:编程语言原理》,第238-252页,1977年。谷歌学者谷歌学者数字图书馆数字图书馆
  24. P.Cousot、R.Cousot、J.Feret、L.Mauborgne、A.Miné、D.Monniaux和X.Rival。ASTREε分析仪。在ESOP 05:欧洲编程研讨会,第21-30页,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  25. M.达斯。基于统一的指针分析和方向分配。在PLDI 00:编程语言设计与实现,第35-46页,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  26. M.Das、S.Lerner和M.Seigle。ESP:多项式时间内的路径敏感程序验证。PLDI 02:编程语言设计与实现,第57-68页,2002年6月。谷歌学者谷歌学者数字图书馆数字图书馆
  27. R.DeLine和M.Fähndrich。在低级软件中实施高级协议。在PLDI 01:编程语言设计与实现,第59-69页,2001年。谷歌学者谷歌学者数字图书馆数字图书馆
  28. D.Detlefs、G.Nelson和J.B.Saxe。简化:用于程序检查的定理证明器。技术报告HPL-2003-148,HP实验室,2003年。谷歌学者谷歌学者
  29. D.Engler、B.Chelf、A.Chou和S.Hallem。使用特定于系统的程序员编写的编译器扩展检查系统规则。在OSDI 00:操作系统设计与实现中,第1-16页。Usenix协会,2000年。谷歌学者谷歌学者数字图书馆数字图书馆
  30. G.Balakrishnan等人。使用CodeSurfer/x86和WPDS++对x86可执行文件进行模型检查。CAV 05:计算机辅助验证,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  31. C.Flanagan、K.R.M.Leino、M.Lillibridge、G.Nelson、J.B.Saxe和R.Stata。java的扩展静态检查。PLDI 02:编程语言设计与实现”,第234-245页,2002年。谷歌学者谷歌学者数字图书馆数字图书馆
  32. K.Fraser、S.Hand、R.Neugebauer、I.Pratt、A.Warfield和M.Williams。使用Xen虚拟机监控器安全访问硬件。2004年6月,OASIS'04:随需应变IT基础架构的操作系统和架构支持研讨会。谷歌学者谷歌学者
  33. S.Hallem、B.Chelf、Y.Xie和D.Engler。用于建筑系统特定静态分析的系统和语言。在PLDI 02:编程语言设计与实现,第69-822002页。谷歌学者谷歌学者数字图书馆数字图书馆
  34. T.A.Henzinger、R.Jhala、R.Majumdar和K.L.McMillan。证据摘要。在POPL 04:程序设计语言原理,第232-244页,2004年。谷歌学者谷歌学者数字图书馆数字图书馆
  35. T.A.Henzinger、R.Jhala、R.Majumdar和G.Sutre。懒惰的抽象。在POPL 02:编程语言原理,第58-70页,2002年1月。谷歌学者谷歌学者数字图书馆数字图书馆
  36. R.P.库尔山。协调过程的计算机辅助验证。普林斯顿大学出版社,1994年。谷歌学者谷歌学者数字图书馆数字图书馆
  37. S.Lahiri、T.Ball和B.Cook。通过符号决策过程进行谓词抽象。在CAV 05:计算机辅助验证中,第24-38页,2005年。谷歌学者谷歌学者数字图书馆数字图书馆
  38. L.Lamport。证明多进程程序的正确性。IEEE软件工程学报,SE-3(2):125--1431977年。谷歌学者谷歌学者数字图书馆数字图书馆
  39. J.R.Larus、T.Ball、M.Das、Rob DeLine、M.Fähndrich、J.Pincus、S.K.Rajamani和R.Venkatapathy。校正软件。IEEE软件,21(3):92--1002004年5月/6月。谷歌学者谷歌学者数字图书馆数字图书馆
  40. K.R.M.Leino和G.Nelson。Modula-3的扩展静态检查器。在CC 98:编译器构造中,第302-305页,1998年。谷歌学者谷歌学者数字图书馆数字图书馆
  41. G.Necula、S.McPeak和W.Weimer。CCured:传统代码的类型安全翻新。2002年1月,第128至139页,《POPL 02:编程语言原理》。谷歌学者谷歌学者数字图书馆数字图书馆
  42. S.Qadeer和D.Wu。亲吻:保持简单有序。在PLDI 04:编程语言设计与实现,第14-24页,2004。谷歌学者谷歌学者数字图书馆数字图书馆
  43. F.B.施耐德。可强制执行的安全策略。ACM信息和系统安全事务,3(1):30-50,2000年2月。谷歌学者谷歌学者数字图书馆数字图书馆
  44. M.M.Swift、B.N.Bershad和H.M.Levy。提高商品操作系统的可靠性。2003年6月,SOSP 03:操作系统原理研讨会,第207-222页。谷歌学者谷歌学者数字图书馆数字图书馆
  45. M.Y.Vardi和P.Wolper。自动程序验证的自动机理论方法。在LICS 86:计算机科学中的逻辑,第332-344页。IEEE计算机学会出版社,1996年。谷歌学者谷歌学者

索引术语

  1. 对设备驱动程序进行全面的静态分析

                建议

                评论

                登录选项

                检查您是否可以通过登录凭据或您的机构访问本文。

                登录

                完全访问权限

                • 发布于

                  封面图片ACM会议
                  EuroSys’06:2006年第一届ACM SIGOPS/EuroSys欧洲计算机系统会议记录
                  2006年4月
                  420页
                  国际标准图书编号:1595933220
                  内政部:10.1145/1217935
                  • 封面图片ACM SIGOPS操作系统评论
                    ACM SIGOPS操作系统审查 第40卷第4期
                    2006年欧洲系统会议记录
                    2006年10月
                    383页
                    国际标准编号:0163-5980
                    内政部:2014年10月14日/1218063
                    期刊目录

                  版权所有©2006作者

                  出版商

                  计算机协会

                  美国纽约州纽约市

                  出版历史

                  • 出版:2006年4月18日

                  权限

                  请求有关此文章的权限。

                  请求权限

                  检查更新

                  限定符

                  • 第条

                  接受率

                  总体验收率241属于1,308提交文件,18%

                PDF格式

                以PDF文件的形式查看或下载。

                PDF格式

                电子阅读器

                使用eReader联机查看。

                电子阅读器