首页> 外文会议>ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering >Using the observer design pattern for implementation of data flow analyses
【24h】

Using the observer design pattern for implementation of data flow analyses

机译:使用观察者设计模式实现数据流分析

获取原文

摘要

Data flow analysis is used widely in program compilation, understanding, design, and analysis tools. In data flow analysis, problem-specific information is associated with nodes and/or edges in the flow graph representation of a program or component and re-comp-uted iteratively. A popular data flow analysis design relies on a worklist that stores all nodes and edges whose data flow information has to be re-computed. While this approach is straightforward, it has some drawbacks. First, the presence of the worklist makes data flow algorithms centralized, which may reduce effectiveness of parallel implementations of these algorithms. Second, the worklist approach is difficult to implement in a way that minimizes the amount of information passed between flow graph nodes.In this paper, we propose to use the well-known Observer pattern for implementation of data flow analyses. We argue that such implementations are more object-oriented in nature, as well as less centralized, than worklist-based ones. We argue that by adopting this Observer-based view, data flow analyses that minimize the amount of information passed between flow graph nodes can be implemented easier than by using the worklist view. We present experimental data indicating that for some types of data flow problems, even single-threaded implementations of Observer-based data flow analysis have better run times than comparable worklist-based implementations.
机译:数据流分析广泛用于程序编译,理解,设计和分析工具。在数据流分析中,特定于问题的信息与程序或组件的流程图表示中的节点和/或边缘相关联,并迭代地重新编辑。流行的数据流分析设计依赖于存储所有节点和边的工作清单,其数据流信息必须重新计算。虽然这种方法很简单,但它有一些缺点。首先,工作列表的存在使得数据流算法集中,这可以降低这些算法的并行实现的有效性。其次,工作列表方法很难以最小化流程图节点之间传递的信息量。在本文中,我们建议使用众所周知的观察者模式以实现数据流分析。我们认为,这种实现在自然界中更具对象,而且比基于工作清单的对象,而不是集中化。我们认为,通过采用基于观察者的视图,数据流分析最小化流程图节点之间传递的信息量可以实现比使用工作清单视图更容易。我们呈现实验数据,指示对于某些类型的数据流问题,甚至基于观察者的数据流分析的单线程实现甚至比基于工作列表的实现更好地运行时间。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号