soot.options
Class BCMOptions

java.lang.Object
  extended by soot.options.BCMOptions

public class BCMOptions
extends Object

Option parser for Busy Code Motion.


Constructor Summary
BCMOptions(Map options)
           
 
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
 

Constructor Detail

BCMOptions

public BCMOptions(Map options)
Method Detail

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.