An Opinionated Overview on Static Analysis for Java
Whole-program points-to analysis has many diverse usages, for example, call graph construction, security analysis, auto-parallelization, bug analysis, heap allocation analysis, and program debugging and understanding. As a result, many different flavors of analysis have been proposed: an analysis can be sound or unsound; context insensitive or context sensitive; flow sensitive; path sensitive; memory sensitive. We start with an overview of academic research that explains all the terms. Then we make the claim that static analysis for Java is actually much harder than it looks at the first: Reflection, JNI, Unsafe memory access, method handles, VarHandle, bootstrap methods, ... are all concepts in Java that are overlooked in many of the academic research papers. While that is acceptable for some use cases of static analysis, most real-world use cases cannot ignore it. We show how all of these dynamic features can be handled without sacrificing the precision of the analysis in the static analysis framework that we developed as part of GraalVM Native Image. The presentation will be quite example-driven: we will illustrate where a points-to analysis can successfully prove important whole-program properties that are useful for optimizations and security analysis. But we will also show examples where a points-to analysis fails to prove facts that look trivial for humans.
Resources
• In Defense of Soundiness: A Manifesto ➤
• Scalable Pointer Analysis of Data Structures Using Semantic Models ➤
• Context Sensitivity without Contexts: A Cut-Shortcut Approach to Fast and Precise Pointer Analysis ➤
• GraalVM ➤
• Inside Java ➤
• ➤
• JVMLS ➤
3,347 views
8
0
3 weeks ago 00:05:22 1
The First Signs of Tyranny, From People Who Missed Them | NYT Opinion
1 month ago 02:39:28 5
Old English Pronunciation: A Comprehensive Reconstruction
1 month ago 00:12:05 1
ZenBusiness Review 2025: What Makes It Stand Out?
1 month ago 00:03:57 1
Greg Secker Exposed: Is Smartcharts Legit or a Scam?
2 months ago 00:04:45 1
f(x) 에프엑스 ’Red Light’ | . team | cover dance |
2 months ago 00:03:40 1
[K-POP IN PUBLIC | ONE TAKE] MAMAMOO(마마무) _ Egotistic(너나 해) | . team | cover dance |
2 months ago 00:07:03 1
SmartCharts Review : Is This the Best Trading Platform for Beginners?
2 months ago 00:08:59 1
Telegram Signal Copier : Trade Smarter, Not Harder!
2 months ago 00:04:42 1
Copy Trading : Telegram Signal Copier to Skyrocket Profits!
2 months ago 00:06:02 1
Best Forex Broker : PU Prime Review for 2024!
2 months ago 00:06:32 1
Best Forex Indicator : Why SmartCharts is a Game Changer in 2025!
2 months ago 00:05:10 1
How to Invest in Presale Crypto and Maximize Your Profits!
2 months ago 00:07:44 1
How to Use AI Tools to Make Money Online – Easy and Effective!
2 months ago 00:05:34 1
Crypto Trading for Beginners & Top Forex Trading Signals to Maximize Your Profits!
2 months ago 01:00:57 1
Complément d’enquête. Catherine Deneuve : la demoiselle insoumise - 30 août 2018 (France 2)
2 months ago 00:06:44 1
Matt Gaetz speaks at AmericaFest 2024 | LiveNOW from FOX
2 months ago 00:34:18 1
Why Saudi Arabia is Building a $1 Trillion City in the Desert
2 months ago 00:07:53 1
Best Meme Coins to Buy Now – Don’t Miss Out!“
2 months ago 00:06:10 1
Play to Earn Games: How to Earn Money While You Play!
2 months ago 00:06:54 1
How to Profit from Metaverse Crypto – Best Projects and Strategies!
2 months ago 00:08:44 1
The Future of Cinema: How AI Filmmaking Is Changing Filmmaking Forever!
2 months ago 00:01:43 1
Can You Really Boost Your MEMECOIN to the Top in 24 Hours? Solana Volume Bot!
3 months ago 00:07:17 1
How to Invest in Presale Crypto and MAXIMIZE Your Returns!
3 months ago 00:08:10 1
AI Agents Will Create MILLIONAIRES in 2025 – Are You Ready