【24h】

Timestamped Whole Program Path Representation and its Applications

机译:带时间戳的整个程序路径表示及其应用

获取原文

摘要

A whole program path (WPP) is a complete control flow trace of a program's execution. Recently Larus showed that although WPP is expected to be very large (100's of MBytes), it can be greatly compressed (to 10's of MBytes) and therefore saved for future analysis. While the compression algorithm proposed by Larus is highly effective, the compression is accompanied with a loss in the ease with which subsets of information can be accessed. In particular, path traces pertaining to a particular, function cannot generally be obtained without examining the entire compressed WPP representation. To solve this problem we advocate the application of compaction techniques aimed at providing easy access to path traces on a per function basis. We present a WPP compaction algorithm in which the WPP is broken into path traces corresponding to individual function calls. All of the path traces for a given function are stored together as a block. Ability to construct the complete WPP from individual path traces is preserved by maintaining a dynamic call graph. The compaction is achieved by eliminating redundant path traces that result from different calls to a function and by replacing a sequence of static basic block ids that correspond to a dynamic basic block by a single id. We transform a compacted WPP representation into a timestamped WPP (TWPP) representation in which the path traces are organized from the perspective of dynamic basic blocks. TWPP representation also offers additional opportunities for compaction. Experiments show that our algorithm compacts the WPPs by factors ranging from 7 to 64. At the same time information is organized in a highly accessible form which speeds up the responses to queries requesting the path traces of a given function by over 3 orders of magnitude.
机译:整个程序路径(WPP)是程序执行的完整控制流跟踪。最近,Larus显示,尽管WPP可能非常大(100兆字节),但可以大大压缩(到10兆字节),因此可以保存以备将来分析。尽管Larus提出的压缩算法非常有效,但压缩过程却伴随着信息子集易于访问的损失。特别是,如果不检查整个压缩的WPP表示形式,通常就无法获得与特定功能有关的路径跟踪。为了解决这个问题,我们提倡应用压缩技术,目的是在每个函数的基础上提供对路径跟踪的轻松访问。我们提出了一种WPP压缩算法,其中WPP被分解为与各个函数调用相对应的路径跟踪。给定功能的所有路径跟踪都作为一个块存储在一起。通过维护动态调用图,可以保留从单个路径跟踪构建完整WPP的能力。通过消除因对函数的不同调用而导致的冗余路径跟踪,以及通过用单个id替换与动态基本块相对应的静态基本块id序列,可以实现压缩。我们将压缩的WPP表示形式转换为带有时间戳的WPP(TWPP)表示形式,其中从动态基本块的角度来组织路径轨迹。 TWPP代表还为压实提供了更多机会。实验表明,我们的算法将WPP压缩为7到64之间的因子。同时,信息以易于访问的形式进行组织,从而将对请求给定功能的路径跟踪的查询的响应速度提高了3个数量级以上。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号