Microsoft已经发现,它解决的安全漏洞中大约有70%是由于内存安全问题引起的。 为了简化安全代码的编写,该公司正在开发一种用于安全基础结构编程的语言。
由于即将开源,新语言的第一个版本称为Project Verona,它包含三个核心思想:
- 数据争用自由性,它放弃并发的,任意的突变,从而可以在不全局同步的情况下实现具有时间安全性的可伸缩内存管理。
- 并发所有者,它提供了一个新的并发模型,该模型提供了轻量级的资源异步协调。
- 线性区域,拥有权模型基于对象组。 微软解释说,这不同于基于单个对象的内存安全Rust语言 。 在维罗纳,每个区域都有内存管理策略。 还具有对旧组件进行分区的功能。
维罗纳(Verona)在语言设计级别上探索分隔性。 使用维罗纳(Verona),有些线程可以访问区域。 任何区域只能由一个线程访问。 区域中存在线性入口点,并且区域可以嵌套在其他区域中。 共享的不可变区域可以保持项目不被突变。
此外,普遍使用的沙箱用于运行不受信任的旧代码。 沙盒库可以嵌入Verona程序中。
维罗纳项目包括生产质量的运行时以及原型解释器和类型检查器。 计划需要一个编译器,并向GitHub开放源代码以实现协作。
作为其内存安全工作的一部分,Microsoft一直在探索使用Rust来构建新组件和重写旧组件。 微软指出,系统软件已经成为C和C ++等语言的领域,它们并不是为安全而设计的。
From: https://www.infoworld.com/article/3487676/microsoft-readies-new-language-for-safe-programming.html