Data-Driven context-Sensitivity for points-to analysis

Sehun Jeong, Minseok Jeon, Sungdeok Cha, Hakjoo Oh

    Research output: Contribution to journalArticlepeer-review

    57 Citations (Scopus)

    Abstract

    We present a new data-driven approach to achieve highly cost-effective context-sensitive points-to analysis for Java. While context-sensitivity has greater impact on the analysis precision and performance than any other precision-improving techniques, it is difficult to accurately identify the methods that would benefit the most from context-sensitivity and decide how much context-sensitivity should be used for them. Manually designing such rules is a nontrivial and laborious task that often delivers suboptimal results in practice. To overcome these challenges, we propose an automated and data-driven approach that learns to effectively apply context-sensitivity from codebases. In our approach, points-to analysis is equipped with a parameterized and heuristic rules, in disjunctive form of properties on program elements, that decide when and how much to apply context-sensitivity. We present a greedy algorithm that efficiently learns the parameter of the heuristic rules. We implemented our approach in the Doop framework and evaluated using three types of context-sensitive analyses: conventional object-sensitivity, selective hybrid object-sensitivity, and type-sensitivity. In all cases, experimental results show that our approach significantly outperforms existing techniques.

    Original languageEnglish
    Article number100
    JournalProceedings of the ACM on Programming Languages
    Volume1
    Issue numberOOPSLA
    DOIs
    Publication statusPublished - 2017 Oct

    Bibliographical note

    Publisher Copyright:
    © 2017 Association for Computing Machinery.

    Keywords

    • Context-sensitivity
    • Data-driven program analysis
    • Points-to analysis

    ASJC Scopus subject areas

    • Software
    • Safety, Risk, Reliability and Quality

    Fingerprint

    Dive into the research topics of 'Data-Driven context-Sensitivity for points-to analysis'. Together they form a unique fingerprint.

    Cite this