为C语言开发类似Rust的借用检查器

《ACM Transactions on Embedded Computing Systems》:Towards a Rust-Like Borrow Checker for C

【字体: 时间:2025年11月08日 来源:ACM Transactions on Embedded Computing Systems

编辑推荐:

  内存安全漏洞是C语言程序常见的安全隐患。本研究通过静态分析和多次源代码转换,将Rust编译器的中间表示层(MIR)借用检查器移植到C语言编译器前端,在不修改现有构建系统的情况下实现内存安全验证。实验表明原型能在CHStone和bzip2基准测试中正确检测所有权和别名规则违规,同时发现与C常见模式的不兼容问题,为后续改进提供方向。

  

摘要

C语言中的内存安全问题是一系列漏洞的根源,这些漏洞可能危及程序的正确性或安全性。我们提出了一种通过复制Rust的中间表示层(MIR)借阅检查器(Borrow Checker)来解决内存安全问题的方法。我们的解决方案利用静态分析和连续的源代码到源代码的转换,在编译器之前进行这些操作,从而确保与现有构建系统的最大兼容性。这样我们就可以用较少的修改将rustc编译器的内存安全保障应用到C代码中,而无需完全重写C代码。在这项工作中,我们全面研究了Rust在确保内存安全方面的努力,并描述了C语言借阅检查器的理论基础,同时还开发了一个概念验证来展示其潜力。我们在CHStone和bzip2基准测试中对该原型进行了评估。该原型能够正确识别所有权规则和别名规则的违反情况,并揭示了这些规则与常见C语言模式之间的不兼容性问题,这些问题可以在未来的工作中得到解决。
相关新闻
生物通微信公众号
微信
新浪微博
  • 搜索
  • 国际
  • 国内
  • 人物
  • 产业
  • 热点
  • 科普
  • 急聘职位
  • 高薪职位

知名企业招聘

热点排行

    今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

    版权所有 生物通

    Copyright© eBiotrade.com, All Rights Reserved

    联系信箱:

    粤ICP备09063491号