首页> 外文期刊>Science of Computer Programming >Recovering memory access patterns of executable programs
【24h】

Recovering memory access patterns of executable programs

机译:恢复可执行程序的内存访问模式

获取原文
获取原文并翻译 | 示例

摘要

This paper deals with the binary analysis of executable programs, with the goal of understanding how they access memory. It explains how to statically build a formal model of all memory accesses. Starting with a control flow graph of each procedure, well-known techniques are used to structure this graph into a hierarchy of loops in all cases. The paper shows that much more information can be extracted by performing a complete data-flow analysis over machine registers after the program has been put in static single assignment (SSA) form. By using the SSA form, registers used in addressing memory can be symbolically expressed in terms of other previously set registers. By including the loop structures in the analysis, loop indices and trip counts can also often be expressed symbolically. The whole process produces a formal model made of loops where memory accesses are linear expressions of loop counters and registers. The paper provides a quantitative evaluation of the results when applied to several dozens of SPEC benchmark programs. Because static analysis has no access to input data, the paper ends by describing a lightweight instrumentation strategy that collects at run time enough information to rebuild an exact trace. The section on applications also describes how the techniques developed in this paper can be used to perform automatic parallelization of binary code.
机译:本文介绍了可执行程序的二进制分析,目的是了解它们如何访问内存。它说明了如何静态构建所有内存访问的正式模型。从每个过程的控制流程图开始,在所有情况下都使用众所周知的技术将此图构造为循环的层次结构。本文显示,在将程序放入静态单分配(SSA)形式后,可以通过对机器寄存器进行完整的数据流分析来提取更多信息。通过使用SSA形式,可以用其他先前设置的寄存器来符号化表示寻址存储器中使用的寄存器。通过在分析中包括回路结构,回路索引和跳闸计数通常也可以用符号表示。整个过程生成了一个由循环组成的正式模型,其中存储器访问是循环计数器和寄存器的线性表达式。本文适用于数十种SPEC基准程序时,对结果进行定量评估。由于静态分析无法访问输入数据,因此本文以描述一种轻量级的仪器策略结尾,该策略在运行时收集了足够的信息以重建精确的跟踪。关于应用程序的部分还描述了如何将本文中开发的技术用于执行二进制代码的自动并行化。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号