...
【24h】

Safe Transferable Regions

机译:安全可转移区域

获取原文
   

获取外文期刊封面封底 >>

       

摘要

There is an increasing interest in alternative memory management schemes that seek to combine the convenience of garbage collection and the performance of manual memory management in a single language framework. Unfortunately, ensuring safety in presence of manual memory management remains as great a challenge as ever. In this paper, we present a C#-like object-oriented language called Broom that uses a combination of region type system and lightweight runtime checks to enforce safety in presence of user-managed memory regions called transferable regions. Unsafe transferable regions have been previously used to contain the latency due to unbounded GC pauses. Our approach shows that it is possible to restore safety without compromising on the benefits of transferable regions. We prove the type safety of Broom in a formal framework that includes its C#-inspired features, such as higher-order functions and generics. We complement our type system with a type inference algorithm, which eliminates the need for programmers to write region annotations on types. The inference algorithm has been proven sound and relatively complete. We describe a prototype implementation of the inference algorithm, and our experience of using it to enforce memory safety in dataflow programs.
机译:人们对替代内存管理方案越来越感兴趣,这些方案试图在单一语言框架中将垃圾回收的便利性与手动内存管理的性能相结合。不幸的是,在存在手动内存管理的情况下确保安全仍然是前所未有的挑战。在本文中,我们介绍了一种称为Broom的类似于C#的面向对象的语言,该语言结合了区域类型系统和轻量级运行时检查来在存在用户管理的内存区域(称为可转移区域)的情况下增强安全性。由于无限制的GC暂停,以前已经使用不安全的可转移区域来容纳延迟。我们的方法表明,可以在不损害可转让区域利益的情况下恢复安全性。我们在一个正式的框架中证明了Broom的类型安全性,该框架包括其C#启发的功能,例如高阶函数和泛型。我们使用类型推断算法对类型系统进行补充,从而无需程序员在类型上编写区域注释。推理算法已被证明是合理且相对完整的。我们描述了推理算法的原型实现,以及在数据流程序中使用它来增强内存安全性的经验。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号