arrow
返回

IFDS-based Context Debloating for Object-Sensitive Pointer Analysis

delete2023-05-27
delete4
PRE
AI
D
Dongjie He *
J
Jingbo Lu
J
Jingling Xue
DOI:10.1145/3579641delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
Object-sensitive pointer analysis, which separates the calling contexts of a method by its receiver objects, is known to achieve highly useful precision for object-oriented languages such as Java. Despite recent advances, all object-sensitive pointer analysis algorithms still suffer from the scalability problem due to the combinatorial explosion of contexts in large programs. In this article, we introduce a new approach, Conch, that can be applied to debloat contexts for all object-sensitive pointer analysis algorithms, thereby improving significantly their efficiency while incurring a negligible loss of precision. Our key insight is to approximate a recently proposed set of two necessary conditions for an object in a program to be context-sensitive, i.e., context-dependent (whose precise verification is undecidable) with a set of three linearly verifiable conditions in terms of the number of edges in the pointer assignment graph (PAG) representation of the program. These three linearly verifiable conditions, which turn out to be almost always necessary in practice, are synthesized from three key observations regarding context-dependability for the objects created and used in real-world object-oriented programs. To develop a practical implementation for Conch, we introduce an IFDS-based algorithm for reasoning about object reachability in the PAG of a program, which runs linearly in terms of the number of edges in the PAG. By debloating contexts for three representative object-sensitive pointer analysis algorithms, which are applied to a set of representative Java programs, Conch can speed up these three baseline algorithms substantially at only a negligible loss of precision (less than 0.1%) with respect to several commonly used precision metrics. In addition, Conch also improves their scalability by enabling them to analyze substantially more programs to completion than before (under a time budget of 12 hours). Conch has been open-sourced (http://www.cse.unsw.edu.au/similar to corg/tools/conch), opening up new opportunities for other researchers and practitioners to further improve this research. To demonstrate this, we introduce one extension of Conch to accelerate further the three baselines without losing any precision, providing further insights on extending Conch to make precision-efficiency tradeoffs in future research.
Keyword:
Pointer analysis
object sensitivity
context debloating
IFDS

期刊

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
论文数:
1.2K
被引数:
3.4K

机构

暂无机构信息
引用论文

引用论文

An Elective Research Year in Orthopaedic Residency
err2006-08-01
err0
PREAI
errLee S Segal; Kevin P Black; Edwards P Schwentker; Vincent D Pellegrini
err分享
err收藏
Magnetic domain wall creep in the presence of an effective interlayer coupling field
err2008-11-01
err0
PREAI
errP.J. Metaxas; J.P. Jamet; J. Ferré; B. Rodmacq; B. Dieny; R.L. Stamps
err分享
err收藏
Simplifying the Jargon of Community Ecology: A Conceptual Approach
err1996-02-01
err0
PREAI
errJ. E. Fauth; J. Bernardo; M. Camara; W. J. Resetarits,; J. Van Buskirk; S. A. McCollum
err分享
err收藏
学者 查看更多内容