Precision-guided context sensitivity for pointer analysis

Επιστημονική δημοσίευση - Άρθρο Περιοδικού uoadl:2916887 203 Αναγνώσεις

Μονάδα:
Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Τίτλος:
Precision-guided context sensitivity for pointer analysis
Γλώσσες Τεκμηρίου:
Αγγλικά
Περίληψη:
Context sensitivity is an essential technique for ensuring high precision in Java pointer analyses. It has been
observed that applying context sensitivity partially, only on a select subset of the methods, can improve the
balance between analysis precision and speed. However, existing techniques are based on heuristics that
do not provide much insight into what characterizes this method subset. In this work, we present a more
principled approach for identifying precision-critical methods, based on general patterns of value flows that
explain where most of the imprecision arises in context-insensitive pointer analysis. Accordingly, we provide
an efficient algorithm to recognize these flow patterns in a given program and exploit them to yield good
tradeoffs between analysis precision and speed.
Our experimental results on standard benchmark and real-world programs show that a pointer analysis that
applies context sensitivity partially, only on the identified precision-critical methods, preserves effectively all
(98.8%) of the precision of a highly-precise conventional context-sensitive pointer analysis (2-object-sensitive
with a context-sensitive heap), with a substantial speedup (on average 3.4X, and up to 9.2X).
Έτος δημοσίευσης:
2018
Συγγραφείς:
Yue Li
Tian Tan
Anders Møller
Yannis Smaragdakis
Περιοδικό:
PACM/PL
Εκδότης:
Association for Computing Machinery (ACM)
Τόμος:
2
Αριθμός / τεύχος:
OOPSLA
Σελίδες:
141:1-141:29
Λέξεις-κλειδιά:
static analysis, points-to analysis, Java
Κύρια θεματική κατηγορία:
Τεχνολογία – Πληροφορική
Επίσημο URL (Εκδότης):
Στοιχεία έργου:
ERC