为什么安全配置文件失败了

2024-10-25

本文批判了C++安全配置文件的设计理念,指出其未能实现承诺的检测所有生命周期安全缺陷的目标。文章认为,C++代码缺乏别名、生命周期和安全性信息,导致安全配置文件无法有效推断这些属性。此外,配置文件对“零注释”和避免“病毒式注释”的坚持,使其难以处理C++代码中普遍存在的未声明的健全性前提条件和不一致的别名及生命周期要求。文章还指出现有C++标准转换规则使得独占性强制执行难以实现,并主张C++应该吸纳Rust等内存安全语言的特性,例如生命周期参数和安全/非安全函数区分,以提升内存安全性。

阅读更多
未分类 安全配置文件

使用内存安全的 Circle C++ 增强 C++ 的安全性

2024-06-02

为了解决 C++ 中普遍存在的内存安全问题,本文提出了一种名为 Circle C++ 的 C++ 超集语言,该语言提供了一个严格安全的子集,并支持与现有 C++ 代码的互操作性。Circle C++ 引入了借用检查、所有权对象模型、选择类型和模式匹配等特性,以解决 C++ 中与生命周期安全、空指针、联合类型、线程安全和运行时检查相关的安全问题。文章还讨论了采用内存安全语言的必要性,并呼吁业界重视 C++ 的安全问题,采取行动解决根本的内存安全问题,以避免 C++ 被淘汰的命运。

阅读更多
未分类 Circle C++