Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 14-Day Trial for You or Your Team.

Learn More →

OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization

OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program... OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls. The hybrid analysis feature can handle cases that are challenging for static analysis, such as input loops, string processing, and external data (in files, for example). On the suite of evaluated programs, OCCAM-v2 was able to reduce the instruction count by 40.6 percent on average, taking a median of 2.4 seconds. http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Queue Association for Computing Machinery

OCCAM-v2: Combining Static and Dynamic Analysis for Effective and Efficient Whole-program Specialization

Queue , Volume 20 (5): 28 – Oct 31, 2022

Loading next page...
 
/lp/association-for-computing-machinery/occam-v2-combining-static-and-dynamic-analysis-for-effective-and-MK9IPQum5g

References (35)

Publisher
Association for Computing Machinery
Copyright
Copyright © 2022 ACM
ISSN
1542-7730
eISSN
1542-7749
DOI
10.1145/3570922
Publisher site
See Article on Publisher Site

Abstract

OCCAM-v2 leverages scalable pointer analysis, value analysis, and dynamic analysis to create an effective and efficient tool for specializing LLVM bitcode. The extent of the code-size reduction achieved depends on the specific deployment configuration. Each application that is to be specialized is accompanied by a manifest that specifies concrete arguments that are known a priori, as well as a count of residual arguments that will be provided at runtime. The best case for partial evaluation occurs when the arguments are completely concretely specified. OCCAM-v2 uses a pointer analysis to devirtualize calls, allowing it to eliminate the entire body of functions that are not reachable by any direct calls. The hybrid analysis feature can handle cases that are challenging for static analysis, such as input loops, string processing, and external data (in files, for example). On the suite of evaluated programs, OCCAM-v2 was able to reduce the instruction count by 40.6 percent on average, taking a median of 2.4 seconds.

Journal

QueueAssociation for Computing Machinery

Published: Oct 31, 2022

There are no references for this article.