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
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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 Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.6k
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
780
Automating Front-end Workflow
addyosmani
1369
210k
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
480
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Chasing Engaging Ingredients in Design
codingconduct
0
360
Fantastic passwords and where to find them - at NoRuKo
philnash
53
4k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
460
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
2
2k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
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