Explore a groundbreaking 18-minute conference talk from ACM SIGPLAN's OOPSLA that introduces SHARP, an innovative incremental context-sensitive pointer analysis algorithm for Java. Discover how SHARP scales to large, complex Java programs while offering efficient parallelization. Learn about the algorithm's ability to handle context-sensitivity in state-of-the-art incremental pointer analysis, addressing both k-CFA and k-obj. Understand the technical challenges overcome by SHARP, including soundness, redundant computations, and parallelism, to improve scalability without sacrificing precision. Examine the extensive empirical evaluation conducted on popular Java projects and their code commits, showcasing SHARP's impressive performance improvements. Find out how the algorithm requires only 31 seconds on average to process real-world code commits for k-CFA and k-obj, rivaling the performance of state-of-the-art incremental context-insensitive pointer analysis. Gain insights into the parallelization techniques that further enhance SHARP's performance, enabling it to complete analysis within 18 seconds per code commit on average when using an eight-core machine.
Overview
Syllabus
[OOPSLA] SHARP: fast incremental context-sensitive pointer analysis for Java
Taught by
ACM SIGPLAN