soot.options
Class BCMOptions
java.lang.Object
soot.options.BCMOptions
public class BCMOptions
- extends Object
Option parser for Busy Code Motion.
Method Summary |
boolean |
enabled()
Enabled --
. |
boolean |
naive_side_effect()
Naive Side Effect Tester --
Use a naive side effect analysis even if interprocedural
information is available. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
BCMOptions
public BCMOptions(Map options)
enabled
public boolean enabled()
- Enabled --
.
naive_side_effect
public boolean naive_side_effect()
- Naive Side Effect Tester --
Use a naive side effect analysis even if interprocedural
information is available.
If Naive Side Effect Tester is set to true, Busy Code Motion
uses the conservative side effect information provided by the
NaiveSideEffectTester class, even if interprocedural information
about side effects is available. The naive side effect analysis
is based solely on the information available locally about a
statement. It assumes, for example, that any method call has the
potential to write and read all instance and static fields in
the program. If Naive Side Effect Tester is set to false and
Soot is in whole program mode, then Busy Code Motion uses the
side effect information provided by the PASideEffectTester
class. PASideEffectTester uses a points-to analysis to determine
which fields and statics may be written or read by a given
statement. If whole program analysis is not performed, naive
side effect information is used regardless of the setting of
Naive Side Effect Tester.