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,331 views
8
0
11 hours ago 00:13:37 16
[TheTerminator] This Is EXACTLY WHY The Total War Fanbase Is So Divided
20 hours ago 00:02:59 1
[Movieclips] Bean (12/12) Movie CLIP - Bean’s Analysis (1997) HD
22 hours ago 01:13:18 128
[Dr Laurence Shafe] 21-08 Romanticism - John Constable
1 day ago 00:02:54 1
[Movieclips] The Ugly Truth (2009) - Let Me Be a Man! Scene (2/10) | Movieclips
1 day ago 00:03:50 28
[CNBC Television] FDA VRBPAC member on the decision to recommend booster shots for the 65+ age group
2 days ago 00:00:27 1
Putin - on the reasons for the world’s rejection of the dollar: In my opinion, one of the colossal mistakes of the US administra
2 days ago 01:06:32 10
[Luetin09] 40K - THE GREAT NACHMUND WAR [3]: A DUAL OF TITANS | Warhammer 40,000 Lore/History
3 days ago 00:01:29 111
“Trumpy is satanic“
4 days ago 01:16:50 19
[Salvage Workshop] Fixing the MAST on my Wheel Loader Forklift ~ RARE Clark Michigan 35AWS All-Terrian Forklift
5 days ago 00:02:16 1
Russian President Vladimir Putin during a press Q&A following his state visit to Kazakhstan and the CSTO Summit:
5 days ago 00:03:19 888
On November 20, the Verkhovna Rada in Ukraine excluded the confiscation of property from the list of punishments for corruption
5 days ago 00:05:04 2
Barry Morell - Che gelida manina (Private recording, 1960),Dead Tenors’ Society
5 days ago 00:07:17 1
How to Invest in Presale Crypto and MAXIMIZE Your Returns!
6 days ago 00:12:12 2
[] 15 Valuable SKILLS Every INTROVERT Needs to Master
6 days ago 00:15:37 2
[] 15 Things You Didn’t Know About Instagram & TikTok Influencers
6 days ago 00:02:59 1
‼️ ️Officer of the 61st brigade of the Ukrainian Armed Forces: “Zelensky is not a servant, but a murderer of the Ukrainian peo
6 days ago 00:00:47 1
This video is a perfect encapsulation of the Twitter/X transformation
1 week ago 00:02:38 5
[CNBC Television] Southwest CEO: It could take 10 years for business travel to bounce back
1 week ago 01:19:26 30
[European Walking Tours] Mürren, Fairytale town on a hill of Switzerland, Walking tour 4k
1 week ago 00:02:34 2
[fnm04] [8K] “Anathema” by Nikro
1 week ago 00:12:05 1
ZenBusiness Review 2024: What Makes It Stand Out?
1 week ago 00:03:33 15
Значение и перевод слова alive - транскрипция, произношение, примеры