Access-based abstract memory localization in static analysis

被引:1
作者
Oh, Hakjoo [1 ]
Yi, Kwangkeun [1 ]
机构
[1] Seoul Natl Univ, Seoul 151, South Korea
基金
新加坡国家研究基金会;
关键词
Static analysis; Abstract interpretation; Localization; INTERPROCEDURAL SHAPE-ANALYSIS; EMBEDDED C-PROGRAMS; ALGORITHMIC MITIGATION; CHECKING; ANALYZER;
D O I
10.1016/j.scico.2013.04.002
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
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) 2013 Elsevier B.V. All rights reserved.
引用
收藏
页码:1701 / 1727
页数:27
相关论文
共 37 条
  • [1] Adams S, 2002, LECT NOTES COMPUT SC, V2477, P230
  • [2] Allamigeon X, 2006, LECT NOTES COMPUT SC, V4134, P35
  • [3] Balakrishnan G, 2004, LECT NOTES COMPUT SC, V2985, P5
  • [4] Berdine J, 2005, LECT NOTES COMPUT SC, V3780, P52
  • [5] A static analyzer for large safety-critical software
    Blanchet, B
    Cousot, P
    Cousot, R
    Feret, J
    Mauborgne, L
    Miné, A
    Monniaux, D
    Rival, X
    [J]. ACM SIGPLAN NOTICES, 2003, 38 (05) : 196 - 207
  • [6] Brodel F, 1993, DINAMIKA KAPITALIZMA, P128
  • [7] Compositional Shape Analysis by means of Bi-Abduction
    Calcagno, Cristiano
    Distefano, Dino
    O'Hearn, Peter
    Yang, Hongseok
    [J]. ACM SIGPLAN NOTICES, 2009, 44 (01) : 289 - 300
  • [8] CHEN LL, 1994, P ACM C SUP, P98
  • [9] Chong S, 2003, LECT NOTES COMPUT SC, V2694, P463
  • [10] COUSOT P, 1992, LECT NOTES COMPUT SC, V631, P269, DOI 10.1007/3-540-55844-6_142