| Package | Description |
|---|---|
| soot |
Base Soot classes, shared by different intermediate representations.
|
| soot.jimple.toolkits.annotation.purity |
| Class and Description |
|---|
| PurityAnalysis
TODO:
- test, test, and test (and correct the potentially infinite bugs)
- optimise PurityGraph, especially methodCall)
- find a better abstraction for exceptions (throw & catch)
- output nicer graphs (especially clusters!)
|
| Class and Description |
|---|
| AbstractInterproceduralAnalysis
Inter-procedural iterator skeleton for summary-based analysis
A "summary" is an abstract element associated to each method that
fully models the effect of calling the method.
|
| PurityAnalysis
TODO:
- test, test, and test (and correct the potentially infinite bugs)
- optimise PurityGraph, especially methodCall)
- find a better abstraction for exceptions (throw & catch)
- output nicer graphs (especially clusters!)
|
| PurityGlobalNode
The GBL node.
|
| PurityGraph
Modifications with respect to the article:
- "unanalizable call" are treated by first constructing a conservative
calee graph where all parameters escape globally and return points to
the global node, and then applying the standard analysable call construction
- unanalysable calls add a mutation on the global node; the "field" is named
"outside-world" and models the mutation of any static field, but also
side-effects by native methods, such as I/O, that make methods impure
(see below).
|
| PurityNode
Interface shared by all kinds of nodes in a PurityGraph.
|
| PurityParamNode
A node representing a method parameter.
|
| PurityThisNode
A node representing the this parameter.
|
| SootMethodFilter
Allows specifing which SootMethod you want to analyse in a
AbstractInterproceduralAnalysis.
|
Copyright © 2012-2019 RoboVM AB. All Rights Reserved.