Type-Based Analysis of Communication for Concurrent Programming Languages

Type-Based Analysis of Communication for Concurrent Programming Languages
复制标题

并发编程语言的基于类型的通信分析

DOI:
--
复制
发表时间:
1997
期刊:
Sensors Applications Symposium
影响因子:
--
通讯作者:
N. Kobayashi
N. Kobayashi
中科院分区:
--
文献类型:
--
作者:
Atsushi Igarashi;N. Kobayashi

文献摘要

被引文献

相似文献

在最近的并发语言和线程库中,强大的并发原语为实现并发对象等高级功能提供了极大的灵活性。然而,它们是如此低级,以至于它们通常难以检查程序的全局正确性或执行积极的代码优化。我们提出了一种静态分析方法,用于推断有多少次,每个通信通道在执行过程中使用的并发程序:一个类型系统,是敏感的使用信息,为此目的构建的类型重建算法。我们的分析可以,特别是,自动检测线性通道(仅使用一次的通信通道):小林,皮尔斯和特纳的研究,他们是非常有用的推理程序的行为和积极的代码优化。我们的分析已经实现,并应用到编译器的并发语言HACL,我们提出了简单的基准测试的结果,以显示我们的分析所获得的性能改善。
Powerful concurrency primitives in recent concurrent languages and thread libraries provide the great flexibility about implementation of high-level features like concurrent objects. However, they are so low-level that they often make it difficult to check global correctness of programs or to perform aggressive code optimization. We propose a static analysis method for inferring how many times each communication channel is used during execution of concurrent programs: a type system that is sensitive to usage information is constructed for this purpose and a type reconstruction algorithm is developed. Our analysis can, in particular, automatically detect linear channels (communication channels used just once): as studied by Kobayashi, Pierce, and Turner, they are very useful for reasoning about program behavior and aggressive code optimization. Our analysis has already been implemented and applied to the compiler of a concurrent language HACL; we present the results of simple benchmarks to show performance improvement gained by our analysis.