Calling-to-reference context translation via constraint-guided CFL-reachability

3Citations
Citations of this article
11Readers
Mendeley users who have this article in their library.

Abstract

A calling context is an important piece of information used widely to help developers understand program executions (e.g., for debugging). While calling contexts offer useful control information, information regarding data involved in a bug (e.g., what data structure holds a leaking object), in many cases, can bring developers closer to the bug's root cause. Such data information, often exhibited as heap reference paths, has already been needed by many tools. The only way for a dynamic analysis to record complete reference paths is to perform heap dumping, which incurs huge runtime overhead and renders the analysis impractical. This paper presents a novel static analysis that can precisely infer, from a calling context of a method that contains a use (e.g., read or write) of an object, the heap reference paths leading to the object at the time the use occurs. Since calling context recording is much less expensive, our technique provides benefits for all dynamic techniques that need heap information, significantly reducing their overhead.

Cite

CITATION STYLE

APA

Cai, C., Zhang, Q., Zuo, Z., Nguyen, K., Xu, G., & Su, Z. (2018). Calling-to-reference context translation via constraint-guided CFL-reachability. ACM SIGPLAN Notices, 53(4), 196–210. https://doi.org/10.1145/3192366.3192378

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free