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 ➤
1 view
8
0
2 months ago 00:10:50 1
Best LLC Services of 2024: Watch Before You Buy!
2 months ago 00:01:58 1
Vin Diesel Fuel 2024
2 months ago 00:05:13 2
1968 : Dalida s’effondre à l’évocation de Luigi Tenco | Archive INA
2 months ago 00:05:05 1
Iran to Deport 2 Million Afghan Refugees; Stops Selling Bread to Afghans
2 months ago 00:12:05 1
ZenBusiness Review 2024: What Makes It Stand Out?
2 months ago 00:13:15 1
Three Suspicious Incidents at Trump rally raise RED FLAGS | Redacted w Clayton Morris
2 months ago 00:04:15 1
PAIN - Shut Your Mouth (OFFICIAL MUSIC VIDEO)
2 months ago 00:13:06 1
“This is Hezbollah’s 9/11 and it’s DEVASTATING“ | Redacted with Natali and Clayton Morris
2 months ago 00:16:25 1
“Ryan Wesley Routh is a patsy groomed by the CIA and trained at Fort Bragg“ Ex-CIA Agent | Redacted
2 months ago 00:08:14 78
[Impetus Global Media] How to Emit Light from a texture like a TV Screen for EEVEE or CYCLES | Blender Tutorial
2 months ago 00:11:46 1
🚨 From FARMS to FINANCE: BRICS Crushes U.S. Economic CONTROL
2 months ago 00:14:27 1
Bizee Review 2024: What You Need to Know Before Signing Up
2 months ago 00:02:03 1
ONU: l’Assemblée générale réclame la fin de l’occupation israélienne d’ici un an | AFP Images
2 months ago 00:12:06 1
LegalZoom Review 2024: Is It the Right Service for Your LLC?
2 months ago 00:02:18 1
Open My Eyes | One Woman Orchestra
2 months ago 01:21:10 1
Here we go! Middle East about to EXPLODE, Diddy arrested, Trump Shooter groomed | Redacted Live
2 months ago 00:00:00 2
Russia’s Final Warning?
2 months ago 00:10:52 1
Боже До чего же это Вкусно! 2 яйца немного молока и 3 стакана муки! Такой Пирог в магазине не купить
2 months ago 00:05:19 1
Don’t Follow Your Passion | 5 Minute Video
2 months ago 00:31:20 1
Evil Cop Gets FIRED After Going INSANE On An Innocent Woman
2 months ago 00:08:49 1
Crypto 2024 | Best AI Crypto | Crypto Projects to Invest In
2 months ago 00:06:49 1
Punks, Mods, Rockers, Skaboys & Skinheads of Dublin City, Ireland 1980
2 months ago 00:05:52 1
Heroin Addicts in Dublin City, Ireland 1973
2 months ago 00:06:03 1
AI Crypto | Best Crypto Token | Best Crypto Investments