【24h】

Verifying Generics and Delegates

机译:验证泛型和委托

获取原文
获取原文并翻译 | 示例

摘要

Recently, object-oriented languages, such as C~#, have been extended with language features prevalent in most functional languages: parametric polymorphism and higher-order functions. In the OO world these are called generics and delegates, respectively. These features allow for greater code reuse and reduce the possibilities for runtime errors. However, the combination of these features pushes the language beyond current object-oriented verification techniques. In this paper, we address this by extending a higher-order separation logic with new assertions for reasoning about delegates and variables. We faithfully capture the semantics of C~# delegates including their capture of the 1-value of a variable, and that "stack" variables can live beyond their "scope". We demonstrate that our logic is sound and illustrate its use by specifying and verifying a series of interesting and challenging examples.
机译:最近,诸如C〜#之类的面向对象的语言已经扩展了大多数功能语言中普遍存在的语言功能:参数多态性和高阶函数。在OO世界中,它们分别称为泛型和委托。这些功能允许更大的代码重用性并减少运行时错误的可能性。但是,这些功能的组合使该语言超越了当前的面向对象的验证技术。在本文中,我们通过使用新的断言扩展高阶分离逻辑来推理委托和变量,从而解决了这一问题。我们忠实地捕获C〜#代表的语义,包括捕获变量的1值,并且“堆栈”变量可以超出其“作用域”。我们通过指定和验证一系列有趣且具有挑战性的示例来证明我们的逻辑是正确的,并说明其用法。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号