...
首页> 外文期刊>Science of Computer Programming >Access-based abstract memory localization in static analysis
【24h】

Access-based abstract memory localization in static analysis

机译:静态分析中基于访问的抽象内存本地化

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

获取外文期刊封面封底 >>

       

摘要

On-the-fly localization of abstract memory states is vital for economical abstract interpretation of imperative programs. Such localization is sometimes called "abstract garbage collection" or "framing". In this article we present a new memory localization technique that is more effective than the conventional reachability-based approach. Our technique is based on a key observation that collecting the reachable memory parts is too conservative and the accessed parts are usually tiny subsets of the reachable part. Our technique first estimates, by an efficient pre-analysis, which parts of input states will be accessed during the analysis of each code block. Then the main analysis uses the access-set results to trim the memory entries before analyzing code blocks. In experiments with an industrial-strength global C static analyzer, the technique is applied right before analyzing each procedure's body and reduces the average analysis time and memory by 92.1% and 71.2%, respectively, without sacrificing the analysis precision. In addition, we present three extensions of access-based localization: (1) we generalize the idea and apply the localization more frequently such as at loop bodies and basic blocks as well as procedure bodies, additionally reducing analysis time by an average of 31.8%; (2) we present a technique to mitigate a performance problem of localization in handling recursive procedures, and show that this extension improves the average analysis time by 42%; (3) we show how to incorporate the access-based localization into relational numeric analyses.
机译:动态存储抽象内存状态对于命令程序的经济抽象解释至关重要。这种本地化有时称为“抽象垃圾收集”或“框架”。在本文中,我们提出了一种新的内存定位技术,它比基于常规可达性的方法更有效。我们的技术基于一个关键的观察,即收集可访问内存部分过于保守,所访问的部分通常只是可访问部分的微小子集。我们的技术首先通过有效的预分析来估计在分析每个代码块期间将访问输入状态的哪些部分。然后,在分析代码块之前,主要分析使用访问集结果来修剪内存条目。在具有工业强度的全局C静态分析器的实验中,该技术在分析每个过程的主体之前就被应用,并且在不牺牲分析精度的前提下,将平均分析时间和内存分别减少了92.1%和71.2%。此外,我们提出了基于访问的本地化的三个扩展:(1)我们推广了这一思想,并更频繁地应用了本地化,例如在循环体,基本块以及过程体中,另外平均减少了31.8%的分析时间; (2)我们提出了一种缓解递归处理过程中的本地化性能问题的技术,并表明此扩展将平均分析时间缩短了42%; (3)我们展示了如何将基于访问的本地化合并到关系数值分析中。

著录项

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号