Evan Ovadia介绍了Valen编程语言的一项创新内存安全检查方案——采用逆向扫描算法替代传统的前向扫描方法。这种方法从函数末尾开始向上扫描至函数顶部,通过追踪变量声明、使用和内存变更三类事件来检测内存安全问题。当待处理列表中的变量遭遇内存变更操作时,编译器会报错以捕获使用后释放错误。
Evan Ovadia在Hacker News上介绍了Valen编程语言的创新借用检查设计。这一方案基于Nick Smith的群组借用提案,旨在改进内存安全检查机制。
马丁·乌克尔教授在Kernel Recipes会议上阐述了C语言中未定义行为的根源与解决方案。他指出,C语言采用的抽象机器模型源于对多样化硬件的支持需求,比如曾需要兼容九位字节的Honeywell机器。这种设计理念导致C标准中目前存在约100个未定义行为实例,成为语言安全性的主要隐患。
Goose是一种新的系统编程语言,在性能和内存安全方面取得突破。根据基准测试,该语言在16项测试中比手工优化的C++快1.16倍,比最佳安全Rust实现快1.12倍,同时内存使用分别降低1.3倍和1.2倍。
C++26标准引入Standard Library Hardening特性,通过在编译时启用检查模式,将原本导致未定义行为的标准库前置条件违反转变为可检测的、具有终止语义的失败。该特性包括边界检查、容器空状态检查等功能,由P3471、P3697、P3878三个提案定义。
CobaltC编程语言设计团队发布了CobaltC 1.0.0规范,这是一套新的静态类型系统编程语言规范,设计已冻结。该语言提供显式所有权、确定性销毁、编译器检查的借用、推断生命周期、显式可空性和边界安全等核心特性,旨在实现强内存安全和可预测的资源管理,不依赖垃圾回收。
Zig编程语言项目发布了2026年开发日志,在编译器、构建系统和内存安全等方面推出了一系列重要改进。其中,为std.ArrayList添加的指针稳定性锁成为一项关键安全功能,用户需调用lockPointers()和unlockPointers()方法来保证内存安全,在锁定状态下调用orderedRemove()和po…
围绕编程语言的内存安全实现方式,技术社区正在进行讨论。争议的焦点涉及Rust语言的安全性评价,以及Fil-C、Zig等替代方案提出的不同技术路线。