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
1 week ago 00:04:15 1
PAIN - Shut Your Mouth (OFFICIAL MUSIC VIDEO)
1 week ago 00:00:00 1
[ DPA Open Mic 96 ] Trump again almost... Ukraine again got.... Russia really is....
1 week ago 00:12:22 1
WHO “Pact for the Future.“ HOW they wil control you! | Redacted with Clayton Morris
1 week ago 00:12:14 5
[Sacko] Need for Speed Underground 2: Still Amazing in 2024
1 week ago 00:49:08 1
CNN Admits US Out of Arms for Kiev As Russian Forces Gain Ground
1 week ago 00:00:40 1
Well, Russian State Duma deputy Anatoly Wasserman shares my opinion on what Russia’s victory is. It is the liquidation of any te
1 week ago 00:28:55 1
NATO And The EU Are Destroying France and Germany. End of Europe | Arnaud Bertrand
1 week ago 00:10:56 1
Easy upgrades for your Corsair iCue Link Cooler - VRM fan module, Groove module and LCD screen
1 week ago 00:10:52 1
Боже До чего же это Вкусно! 2 яйца немного молока и 3 стакана муки! Такой Пирог в магазине не купить
1 week ago 00:21:06 1
“The Diddy indictment is PROTECTING the highest people in power“ Ian Carroll | Redacted News
1 week ago 00:12:05 1
ZenBusiness Review 2024: What Makes It Stand Out?
1 week ago 00:00:48 1
HOW TO MAKE A PAPER PLANE FLY LIKE A BAT | OPEN THE VALVES
1 week ago 01:19:04 4
MH370 Mystery Solved! The Shocking Evidence That Changes Everything We Were Told | Redacted News
1 week ago 00:30:52 1
The “Deep State” Explained
1 week ago 01:25:07 1
Dave Weiss aka Flat Earth Dave | Episode 154 | The Breuniverse
1 week ago 00:22:07 1
⚡️ Pop Mart Harry Potter And The Prisoner of Azkaban
1 week ago 00:09:32 1
The crackdown on Palestine Action, Sarah Wilkinson and Richard Medhurst | Matt Kennard reports
1 week ago 02:42:33 1
UNSC Live: United Nations Security Convenes Meet On Palestinian Territories, Middle East | Gaza War
1 week ago 00:02:38 1
AI Crypto 🔥 How AI Crypto is Changing the World?
1 week ago 00:20:56 1
“This is America’s DARKEST SECRET and both parties are hiding it“ | Redacted w Clayton Morris
1 week ago 00:01:58 1
Vin Diesel Fuel 2024
1 week ago 00:24:18 1
🚨Al Sharpton Says Trump is a THREAT to Black Migrants in Springfield
1 week ago 00:11:03 1
NU METAL IS BACK!! STL Wes Borland Plugin
1 week ago 00:06:34 1
Zelensky’s SECRET plan to take Russia REVEALED | Redacted with Clayton Morris