Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Soot for dummies
Search
Leandro
August 06, 2013
94
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Soot for dummies
Leandro
August 06, 2013
More Decks by Leandro
See All by Leandro
ACorralando EPAs: acercando el modelo mental al computacional
lleraromero
0
150
Data-flow Analysis: Reaching Definitions
lleraromero
0
68
Featured
See All Featured
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
12k
HDC tutorial
michielstock
2
960
Automating Front-end Workflow
addyosmani
1369
210k
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.8k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
50
10k
Taking LLMs out of the black box: A practical guide to human-in-the-loop distillation
inesmontani
PRO
3
2.5k
How to Ace a Technical Interview
jacobian
280
24k
Bash Introduction
62gerente
615
220k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
3.1k
Why Our Code Smells
bkeepers
PRO
340
58k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
Transcript
None
Soot Framework for analysis, transformation and optimization of Java programs
Support for both intra-procedural and inter-procedural Many built-in analyses and optimizations are available Provides intermediate representations of Java code Jimple, Shimple, Baf, Grimp 1 / 7
Jimple Main intermediate representation used in Soot. Key characteristics: Stackless,
typed 3-address code Simplified set of instructions Suitable for analysis and optimization 2 / 7
From Java to Jimple: Example 3 / 7
Processing of Java classes via Soot 1. Parsing Java sources
or class files into Jimple IR 2. Processing of various IRs in several phases Figura : Intra-procedural execution flow 4 / 7
Using data-flow framework A checklist of your obligations: 1. Subclass*FlowAnalysis
ForwardFlowAnalysis BackwardFlowAnalysis ForwardBranchedFlowAnalysis 2. Implement abstraction: merge(), copy() 3. Implement flow function: flowThrough() 4. Implement initial values: newInitialFlow() and entryInitialFlow() 5. Implement constructor (it must call doAnalysis()) 5 / 7
Using data-flow framework: TrulyLiveVariables 6 / 7
Soot for dummies Leandro Lera Romero 1Departamento de Computaci´ on
Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires 5 de agosto de 2013