首页> 外文会议>WoTUG technical meeting >Data Escape Analysis for Process-Oriented Systems: Fringe Presentation
【24h】

Data Escape Analysis for Process-Oriented Systems: Fringe Presentation

机译:面向流程的系统的数据转义分析:边缘演示

获取原文

摘要

Escape analysis, the technique of discovering the boundaries of dynamically allocated objects, is a well explored technique for object-orientated languages (such as Java and C++) and stems from the functional programming community. It provides an insight into which objects interact directly (and indirectly) and can inform program correctness checking, or be used for directing optimisations (e.g. determining which objects can safely be allocated on a function-local stack). For process-oriented languages such as occam-π and Google's Go, we have explored mobile escape analysis, that provides concise information about the movement of objects (mobiles) within networks of communicating processes . Because of the distinction between processes (as execution contexts) and objects (dynamically allocated data, channels and processes), combined with strict typing and aliasing rules, the analysis is somewhat simpler then for less strict languages. This analysis is only concerned with dynamically allocated blocks of memory - it does not give any consideration for the data contained within these. However, knowing the extent to which data (statically or dynamically allocated) escapes within a network of communicating processes is arguably useful - and is not necessarily a superset of mobile escape. The fringe presentation describes an extension to the mobile escape model that seeks to capture semantic information about the data escape of a process-oriented system. This provides richer semantic information about a process's behaviour (that can be used in verification) and has clear application to security (e.g. by demonstrating that particular data does not escape a set of communicating processes).
机译:逃逸分析是一种发现动态分配对象边界的技术,是面向对象语言(例如Java和C ++)的一种经过充分研究的技术,它源自功能编程社区。它提供了关于哪些对象直接(和间接)交互并可以通知程序正确性检查的信息,或可以用于指导优化(例如确定哪些对象可以安全地分配在函数本地堆栈上)。对于诸如occam-π和Google's Go之类的面向过程的语言,我们探索了移动逃逸分析,该分析提供了有关通信进程网络中对象(移动器)运动的简明信息。由于流程(作为执行上下文)和对象(动态分配的数据,通道和流程)之间的区别,再加上严格的类型和别名规则,因此与不严格的语言相比,分析要简单一些。该分析仅涉及动态分配的内存块-并未考虑其中包含的数据。但是,知道在通信过程网络中数据(静态或动态分配)的逃逸程度是有用的-并不一定是移动逃逸的超集。附带说明描述了对移动转义模型的扩展,该扩展试图捕获有关面向流程的系统的数据转义的语义信息。这提供了有关流程行为的更丰富的语义信息(可用于验证),并且对安全性有明确的应用(例如,通过证明特定数据不会逃避一组正在通信的流程)。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号