首页> 外文会议>International conference on parallel architectures and compilation techniques >Chrysalis Analysis: Incorporating Synchronization Arcs in Dataflow-Analysis-Based Parallel Monitoring
【24h】

Chrysalis Analysis: Incorporating Synchronization Arcs in Dataflow-Analysis-Based Parallel Monitoring

机译:蝶Analysis分析:在基于数据流分析的并行监控中纳入同步弧

获取原文

摘要

Software lifeguards, or tools that monitor applications at runtime, are an effective way of identifying program errors and security exploits. Parallel programs are susceptible to a wider range of possible errors than sequential programs, making them even more in need of online monitoring. Unfortunately, monitoring parallel applications is difficult due to inter-thread data dependences. In prior work, we introduced a new software framework for online parallel program monitoring inspired by dataflow analysis, called Butterfly Analysis. Butterfly Analysis uses bounded windows of uncertainty to model the finite upper bound on delay between when an instruction is issued and when all its effects are visible throughout the system. While Butterfly Analysis offers many advantages, it ignored one key source of ordering information which affected its false positive rate: explicit software synchronization, and the corresponding high-level happens-before arcs. In this work we introduce Chrysalis Analysis, which extends the Butterfly Analysis framework to incorporate explicit happens-before arcs resulting from high-level synchronization within a monitored program. We show how to adapt two standard dataflow analysis techniques and two memory and security lifeguards to Chrysalis Analysis, using novel techniques for dealing with the many complexities introduced by happens-before arcs. Our security tool implementation shows that Chrysalis Analysis matches the key advantages of Butterfly Analysis-parallel monitoring, no detailed inter-thread data dependence tracking, no strong memory consistency requirements, and no missed errors-while significantly reducing the number of false positives.
机译:软件救生员或在运行时监视应用程序的工具是识别程序错误和安全漏洞的有效方法。与顺序程序相比,并行程序更容易受到可能的错误的影响,这使得它们更需要在线监视。不幸的是,由于线程间数据的依赖性,监视并行应用程序很困难。在先前的工作中,我们引入了一个新的软件框架,该软件框架受数据流分析的启发,用于在线并行程序监视,称为Butterfly Analysis。蝴蝶分析使用不确定性的有界窗口来对指令发出与所有效果在整个系统中可见之间的延迟进行有限上限建模。虽然Butterfly Analysis具有许多优点,但它忽略了影响其误报率的订购信息的一个关键来源:显式软件同步以及相应的高级先于电弧。在这项工作中,我们介绍了蝶ry分析,它扩展了Butterfly Analysis框架,以在受监视的程序内合并由高级同步产生的明确的先发生弧。我们展示了如何使用新颖的技术来处理先发制人的电弧引入的许多复杂性,从而使两种标准的数据流分析技术以及两种内存和安全性救生员适应蝶Ch分析。我们的安全工具实现表明,蝶ry分析与Butterfly Analysis并行监视,没有详细的线程间数据依赖跟踪,没有强大的内存一致性要求以及没有漏失错误的主要优点相匹配,同时大大减少了误报的数量。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号