CIL

CIL:用于分析和转换C程序的中间语言和工具。本文描述了C中间语言:一个高级表示以及一组工具,允许对C程序进行简单的分析和源到源转换。与C相比,CIL具有更少的构造。它将C的某些复杂结构分解成简单的结构,因此它比抽象语法树工作得更低。但是CIL也比设计用于编译的典型中间语言(例如,三地址码)更高级。因此,我们所拥有的是一种表示,它可以很容易地分析和操作C程序,并以类似原始源的形式发出它们。此外,它还有一个前端,它不仅转化为ANSI C程序,而且还使用微软C或GNU C扩展。我们描述的CIL的结构,重点放在它如何消除歧义的C,我们发现最令人困惑的程序分析和转换。我们还描述了一个完整的程序合并基于结构类型平等,允许一个完整的项目被看作是一个单一的编译单元。作为CIL的代表性应用,我们展示了一种旨在使代码免遭堆栈攻击攻击的转换。我们目前使用CIL作为一个系统的一部分,它通过运行时检查来分析和测试C程序,以确保类型安全。CIL在这个项目中为我们提供了很好的服务,我们相信它也可以有效地应用于其他情况。


ZBMaCT中的参考文献(34篇文章中引用)

显示结果1至20的34。
按年份排序(引文
  1. UAdjout,Abdelraouf;Min E.,安托万:使用抽象马尔可夫链的通信协议的定量静态分析(2019)
  2. Kojima,KunSuk;Imanishi,Akifumi;Iigalasi,Atsushi:无种族GPU程序功能正确性的自动验证(2018)
  3. 劳科,亨里奇;罗凯,彼得;巴纳特,姬:程序转换符号计算(2018)
  4. Abal,IAGO;Braband,克劳斯;W·SoWSKi,塔尔科夫斯基:C形程序中有效的缺陷发现:形状和效果抽象(2017)
  5. 江,Jiahong;陈,骊靬;吴,薛光;王,冀:抽象域与SMT相结合的块式抽象解释(2017)
  6. 基什内尔,Florent;Kosmatov,尼古莱;普雷沃斯,维吉尔;符号,朱利安;Yakobowski,鲍里斯:FrAMA-C:软件分析透视(2015)伊波尔特
  7. 扎哈罗夫,I. Mandrykin,M;Mutilin,V. Novikov,E;Petrenko,A.;Khoroshilov,A:可配置的工具集,用于操作系统内核模块的静态验证(2015)伊波尔特
  8. Groce,亚历克斯;Havelund,克劳斯;霍尔茨曼,热拉尔;Joshi,拉杰夫;徐,茹刚:建立飞行软件可靠性:测试、模型检查、约束求解、监控和学习(2014)
  9. Chaki,萨加尔;Gurfkel.Are;Kong,Soonho;Stuttman,OFER:周期程序的组成序列化(2013)
  10. Hills,马克;陈,冯;R.U,GRIGOR: C(2012)中测量单位静态检查的重写逻辑方法伊波尔特
  11. Jeannet,贝特朗;SOTIN,Pascal:C程序静态分析的有效类型推断(2012)
  12. Mandrykin,M. U.;Mutilin,V. S.;Novikov,E. M.;KooSHILLOVO,A. V.;SHIVED,P. E.:使用Linux设备驱动程序进行静态验证工具标杆(2012)伊波尔特
  13. Seyster,贾斯廷;迪克西,Ketan;黄,Xiaowan;Grosu,拉杜;Havelund,克劳斯;SMOLKA,Scott A.;Pig,Y.;Zadok,ErEZ:\Tr.ExcStutous:面向方面的GCC仪器(2012)
  14. 谢威,P. E.;Mutilin、V. S.、Mandrykin、M. U.:改进爆破静校正工具的经验(2012)
  15. Boldo,西尔维;克劳德,对数值程序的形式化验证:从C注释程序到机械证明(2011)
  16. 多斯雷斯,加布里埃尔;StruouStrup,BjARNE:一个有原则的、完整的、高效的C++表示(2011)
  17. 盖伊,戴维;加伦森,乔尔;Naik,Mayur;Yelick,凯茜:亚达:直截了当的并行程序设计(2011)伊波尔特
  18. Kerneis,加布里埃尔;ChroccZek,Juliusz:继续传递C,通过继续将线程编译成事件(2011)
  19. Krishnamoorthy,萨帕亚;Hsiao,Michael S.;Lingappan,Loganathan:程序可扩展符号执行驱动测试生成的策略(2011)
  20. 王,Chao;Kundu,Sudipta;Limaye,Risikkh;GaaaI,马来语;Gupta,AATI:并行程序的符号预测分析(2011)