کد مقاله کد نشریه سال انتشار مقاله انگلیسی نسخه تمام متن
434320 1441700 2013 27 صفحه PDF دانلود رایگان
عنوان انگلیسی مقاله ISI
Access-based abstract memory localization in static analysis
موضوعات مرتبط
مهندسی و علوم پایه مهندسی کامپیوتر نظریه محاسباتی و ریاضیات
پیش نمایش صفحه اول مقاله
Access-based abstract memory localization in static analysis
چکیده انگلیسی


• The conventional reachability-based localization is too conservative in practice.
• We propose access-based localization technique and show that it is much more effective than the reachability-based localization.
• Access-based localization is effectively realizable by employing a conservative pre-analysis.
• Access-based localization is effectively applicable to arbitrary code blocks rather than procedures.

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.

ناشر
Database: Elsevier - ScienceDirect (ساینس دایرکت)
Journal: Science of Computer Programming - Volume 78, Issue 9, 1 September 2013, Pages 1701-1727