Mobile Escape Analysis for occam-pi

F. Barnes
{"title":"Mobile Escape Analysis for occam-pi","authors":"F. Barnes","doi":"10.3233/978-1-60750-065-0-117","DOIUrl":null,"url":null,"abstract":"Escape analysis is the process of discovering boundaries of dynamically al- located objects in programming languages. For object-orientedlanguages such as C++ and Java, this analysis leads to an understanding of which program objects interact directly, as well as what objects hold references to other ob jects. Such information can be used to help verify the correctness of an implementation with respect to its design, or provide information to a run-time system about which objects can be allocated on the stack (because they do not 'escape' the method in which th ey are declared). For existing object-oriented languages, this analysis is typi cally made difficult by aliasing endemic to the language, and is further complicated by inheritance and polymorphism. In contrast, the occam-π programming language is a process-orientedlanguage, with systems built from layered networks of communicating concurrent processes. The lan- guage has a strong relationship with the CSP process algebra, that can be used to reason formally about the correctness of occam-π programs. This paper presents early work on a compositional escape analysis technique for mobiles in the occam-π programming language, in a style not dissimilar to existing CSP analyses. The primary aim is to discover the boundaries of mobiles within the communication graph, and to determine whether or not they escape any particular pro- cess or network of processes. The technique is demonstrated by analysing some typ- ical occam-π processes and networks, giving a formal understanding of their mobile escape behaviour.","PeriodicalId":246267,"journal":{"name":"Communicating Process Architectures Conference","volume":"13 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2009-11-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"2","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Communicating Process Architectures Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3233/978-1-60750-065-0-117","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 2

Abstract

Escape analysis is the process of discovering boundaries of dynamically al- located objects in programming languages. For object-orientedlanguages such as C++ and Java, this analysis leads to an understanding of which program objects interact directly, as well as what objects hold references to other ob jects. Such information can be used to help verify the correctness of an implementation with respect to its design, or provide information to a run-time system about which objects can be allocated on the stack (because they do not 'escape' the method in which th ey are declared). For existing object-oriented languages, this analysis is typi cally made difficult by aliasing endemic to the language, and is further complicated by inheritance and polymorphism. In contrast, the occam-π programming language is a process-orientedlanguage, with systems built from layered networks of communicating concurrent processes. The lan- guage has a strong relationship with the CSP process algebra, that can be used to reason formally about the correctness of occam-π programs. This paper presents early work on a compositional escape analysis technique for mobiles in the occam-π programming language, in a style not dissimilar to existing CSP analyses. The primary aim is to discover the boundaries of mobiles within the communication graph, and to determine whether or not they escape any particular pro- cess or network of processes. The technique is demonstrated by analysing some typ- ical occam-π processes and networks, giving a formal understanding of their mobile escape behaviour.
occam-pi的移动逃逸分析
Escape分析是在程序设计语言中发现动态定位对象边界的过程。对于像c++和Java这样的面向对象语言,这种分析导致了对哪些程序对象直接交互的理解,以及哪些对象持有对其他对象的引用。这些信息可以用来帮助验证实现在设计方面的正确性,或者向运行时系统提供有关可以在堆栈上分配哪些对象的信息(因为它们不会“转义”声明它们的方法)。对于现有的面向对象语言,这种分析通常由于语言特有的混叠而变得困难,并且由于继承和多态性而变得更加复杂。相比之下,occam-π编程语言是一种面向进程的语言,其系统建立在多层并发进程通信网络之上。该语言与CSP过程代数有很强的关系,可以用来形式化地推理occam-π程序的正确性。本文介绍了在occam-π编程语言中对移动设备的成分逸出分析技术的早期工作,其风格与现有的CSP分析没有什么不同。主要目的是发现通信图中移动的边界,并确定它们是否逃避任何特定的进程或进程网络。该技术通过分析一些典型的occam-π过程和网络来证明,给出了它们移动逃逸行为的正式理解。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信