蒋炎岩,许畅,马晓星,吕建.获取访存依赖:并发程序动态分析基础技术综述.软件学报,2017,28(4):747-763 |
获取访存依赖:并发程序动态分析基础技术综述 |
Approaches to Obtaining Shared Memory Dependences for Dynamic Analysis of Concurrent Programs: A Survey |
投稿时间:2016-06-19 修订日期:2016-09-08 |
DOI:10.13328/j.cnki.jos.005193 |
中文关键词: 并发 多处理器系统 动态分析 访存依赖 |
英文关键词:concurrency multi-processor system dynamic analysis shared memory dependence |
基金项目:国家重点基础研究发展计划(973)(2015CB352202);国家自然科学基金(61472177,61690204);江苏省软件新技术与产业化协同创新中心资助 |
|
摘要点击次数: 2917 |
全文下载次数: 2342 |
中文摘要: |
并发错误难触发、难调试、难检测.为应对这一挑战,已有动态程序分析技术通过观测或控制并发程序执行实现其质量保障.由于并发程序不确定性主要来自共享内存,实现其动态分析的基本问题即是获取线程访问共享内存的顺序,即获取访存依赖.提出访存依赖获取技术的综述框架,包含4个评价指标(即时性、准确性、高效性、简化性)、两种方法(在线追踪、离线合成)、两类应用(轨迹分析、并发控制).通过对已有技术的总结和分析框架中的空白,对未来可能的研究方向予以展望. |
英文摘要: |
Concurrent bugs are difficult to trigger, debug, and detect. Dynamic program analysis techniques have been proven useful in addressing such challenges. Due to non-deterministic nature of concurrent programs in which the major source of non-determinism is the shared memory, obtaining the order of shared memory accesses, i.e., shared memory dependences, is the basis of such dynamic analyses. This work proposes a survey framework to demonstrate the key issues in obtaining the shared memory dependences. The framework includes four performance metrics (immediacy, accuracy, efficiency and simplicity), two categories of approaches (online tracing and offline synthesis), and two categories of applications (trace analysis and concurrency control). Existing techniques as well as potential future work are studied in the paper. |
HTML 下载PDF全文 查看/发表评论 下载PDF阅读器 |