【24h】

Bebop

机译:BEBOP.

获取原文

摘要

Flow-sensitive data analyses can lose precision because they assume that all paths in a control-flow graph are executable (feasible). Path-sensitive dataflow analyses can rule out infeasible paths by tracking correlations between dataflow facts. To track such correlations, in general, requires recording a set of sets of facts per statement in a program. Naive representation of such sets can lead to a very high memory consumption and running time.

We reformulate an interprocedural dataflow algorithm by Reps, Horwitz and Sagiv (based on context-free graph reachability) into a traditional interprocedural flow-sensitive dataflow algorithm. We then show how to use Binary Decision Diagrams (BDDs), a data structure from the model checking community, to turn this reformulated algorithm into an interprocedural path-sensitive dataflow analysis algorithm that tracks a set of set of facts per program statement. We have implemented this algorithm in a tool called ebop.

机译:流动敏感的数据分析可能会失去精确度,因为它们假设控制流程图中的所有路径都是可执行的(可行)。路径敏感数据流分析可以通过跟踪数据流事实之间的相关性来排除不可行的路径。要追踪此类相关性,通常需要在程序中记录一组每个语句的一组事实。这种集合的天真表示可以导致非常高的内存消耗和运行时间。 >我们通过REPS,Horwitz和Sagiv(基于无背景图形到达性)重构了一个可动性数据流算法,进入了传统的移植物流 - 敏感数据流算法。然后,我们展示了如何使用二进制决策图(BDD),从模型检查社区中的数据结构,将该重新定义的算法转换为一个用于每个程序语句的一组事实集的中的转换对象路径敏感数据流分析算法。我们在称为 Bebop的工具中实现了该算法。

著录项

相似文献

  • 外文文献
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号