【24h】

Composable specifications for structured shared-memory communication

机译:结构化共享内存通信的可组合规范

获取原文
获取原文并翻译 | 示例
获取外文期刊封面目录资料

摘要

In this paper we propose a communication-centric approach to specifying and checking how multithreaded programs use shared memory to perform inter-thread communication. Our approach complements past efforts for improving the safety of multithreaded programs such as race detection and atomicity checking. Unlike prior work, we focus on what pieces of code are allowed to communicate with one another, as opposed to declaring what data items are shared or what code blocks should be atomic. We develop a language that supports composable specifications at multiple levels of abstraction and that allows libraries to specify whether or not shared-memory communication is exposed to clients. The precise meaning of a specification is given with a formal semantics we present. We have developed a dynamic-analysis tool for Java that observes program execution to see if it obeys a specification. We report results for using the tool on several benchmark programs to which we added specifications, concluding that our approach matches the modular structure of multithreaded applications and that our tool is performant enough for use in development and testing.
机译:在本文中,我们提出了一种以通信为中心的方法,用于指定和检查多线程程序如何使用共享内存执行线程间通信。我们的方法是对过去为提高多线程程序的安全性所做的努力的补充,例如竞争检测和原子性检查。与先前的工作不同,我们关注于允许哪些代码段彼此通信,而不是声明哪些数据项是共享的或哪些代码块应该是原子的。我们开发了一种语言,该语言在多个抽象级别上支持可组合的规范,并允许库指定共享内存通信是否公开给客户端。规范的确切含义由我们提供的形式语义给出。我们为Java开发了一种动态分析工具,该工具可以观察程序执行情况以查看其是否符合规范。我们报告了在一些基准测试程序上使用该工具的结果,并在其中添加了规范,并得出结论:我们的方法与多线程应用程序的模块化结构相匹配,并且我们的工具性能足以用于开发和测试。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号