首页> 外文期刊>Software >LDMBL: An architecture for reducing code duplication in heavyweight binary instrumentations
【24h】

LDMBL: An architecture for reducing code duplication in heavyweight binary instrumentations

机译:LDMBL:一种用于减少重量级二进制仪器中的代码重复的体系结构

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

摘要

Emergence of instrumentation frameworks has vastly contributed to the software engineering practices. As the instrumentation use cases become more complex, complexity of instrumenting programs also increases, leading to a higher risk of software defects, increased development time, and decreased maintainability. In security applications such as symbolic execution and taint analysis, which need to instrument a large number of instruction types, this complexity is prominent. This paper presents an architecture based on the Pin binary instrumentation framework to abstract the low-level OS and hardware-dependent implementation details, facilitate code reuse in heavyweight instrumentation use cases, and improve instrumenting program development time. Instructions of x86 and x86-64 hardware architectures are formally categorized using the Z language based on the Pin framework API. This categorization is used to automate the instrumentation phase on the basis of a configuration list. Furthermore, instrumentation context data such as register data are modeled in an object-oriented scheme. This makes it possible to focus the instrumenting program development time on writing the essential analysis logics while access to low-level OS and hardware dependencies are streamlined. The proposed architecture is evaluated by instrumenting 135 instruction types in a concrete symbolic execution engine, resulting in a reduction of the instrumenting program size by 59.7%. Furthermore, performance overhead measure against the SPEC CINT2006 programs is limited to 8.7%.
机译:仪器框架的出现极大地促进了软件工程实践。随着仪器仪表用例变得越来越复杂,仪器仪表程序的复杂性也随之增加,从而导致软件缺陷风险增加,开发时间增加,可维护性下降。在需要执行大量指令类型的安全应用(例如符号执行和污点分析)中,这种复杂性尤为突出。本文提出了一种基于Pin二进制工具框架的体系结构,以抽象化低级OS和与硬件相关的实现细节,在重量级工具用例中促进代码重用,并缩短工具程序的开发时间。 x86和x86-64硬件体系结构的指令使用基于Pin框架API的Z语言进行了正式分类。此分类用于基于配置列表自动执行检测阶段。此外,仪器上下文数据(例如寄存器数据)以面向对象的方案建模。这使得在简化对底层OS和硬件依赖的访问的同时,可以将仪器程序的开发时间集中在编写基本的分析逻辑上。通过在具体的符号执行引擎中检测135种指令类型来评估提出的体系结构,从而使检测程序的大小减少了59.7%。此外,针对SPEC CINT2006程序的性能开销衡量标准被限制为8.7%。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号