soot.options.Options.padOpt()方法的使用及代码示例

x33g5p2x  于2022-01-26 转载在 其他  
字(20.0k)|赞(0)|评价(0)|浏览(155)

本文整理了Java中soot.options.Options.padOpt()方法的一些代码示例,展示了Options.padOpt()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。Options.padOpt()方法的具体详情如下:
包路径:soot.options.Options
类名称:Options
方法名:padOpt

Options.padOpt介绍

暂无

代码示例

代码示例来源:origin: Sable/soot

public String getUsage() {
  return ""
      + "\nGeneral Options:\n"
      + padOpt("-coffi", "Use the good old Coffi front end for parsing Java bytecode (instead of using ASM).")
      + padOpt("-jasmin-backend", "Use the Jasmin back end for generating Java bytecode (instead of using ASM).")
      + padOpt("-h, -help", "Display help and exit")
      + padOpt("-pl, -phase-list", "Print list of available phases")
      + padOpt("-ph ARG -phase-help ARG", "Print help for specified ARG")
      + padOpt("-version", "Display version information and exit")
      + padOpt("-v, -verbose", "Verbose mode")
      + padOpt("-interactive-mode", "Run in interactive mode")
      + padOpt("-unfriendly-mode", "Allow Soot to run with no command-line options")
      + padOpt("-app", "Run in application mode")
      + padOpt("-w, -whole-program", "Run in whole-program mode")
      + padOpt("-ws, -whole-shimple", "Run in whole-shimple mode")
      + padOpt("-fly, -on-the-fly", "Run in on-the-fly mode")
      + padOpt("-validate", "Run internal validation on bodies")
      + padOpt("-debug", "Print various Soot debugging info")
      + padOpt("-debug-resolver", "Print debugging info from SootResolver")
      + padOpt("-ignore-resolving-levels", "Ignore mismatching resolving levels")
      + "\nInput Options:\n"
      + padOpt("-cp ARG -soot-class-path ARG -soot-classpath ARG", "Use ARG as the classpath for finding classes.")
      + padOpt("-pp, -prepend-classpath", "Prepend the given soot classpath to the default classpath.")
      + padOpt("-ice, -ignore-classpath-errors", "Ignores invalid entries on the Soot classpath.")
      + padOpt("-process-multiple-dex", "Process all DEX files found in APK.")
      + padOpt("-search-dex-in-archives", "Also includes Jar and Zip files when searching for DEX files under the provided classpath.")
      + padOpt("-process-path ARG -process-dir ARG", "Process all classes found in ARG")
      + padOpt("-oaat", "From the process-dir, processes one class at a time.")
      + padOpt("-android-jars ARG", "Use ARG as the path for finding the android.jar file")
      + padOpt("-force-android-jar ARG", "Force Soot to use ARG as the path for the android.jar file.")

代码示例来源:origin: Sable/soot

+ "\nJimple Body Creation creates a JimpleBody for each input method, \nusing either asm, to read .class files, or the jimple parser, to \nread .jimple files."
+ "\n\nRecognized options (with default values):\n"
+ padOpt("enabled (true)", "")
+ padOpt("use-original-names (false)", "")
+ padOpt("preserve-source-annotations (false)", "")
+ padOpt("stabilize-local-names (false)", "")
+ padOpt("model-lambdametafactory (true)", "Replace dynamic invoke instructions to the LambdaMetafactory by static invokes to a synthetic LambdaMetafactory implementation.");
+ "\nThis transformer detects cases in which the same code block is \ncovered by two different catch all traps with different \nexception handlers (A and B), and if there is at the same time a \nthird catch all trap that covers the second handler B and jumps \nto A, then the second trap is unnecessary, because it is already \ncovered by a combination of the other two traps. This \ntransformer removes the unnecessary trap."
+ "\n\nRecognized options (with default values):\n"
+ padOpt("enabled (true)", "");
+ "\nThe Empty Switch Eliminator detects and removes switch \nstatements that have no data labels. Instead, the code is \ntransformed to contain a single jump statement to the default \nlabel."
+ "\n\nRecognized options (with default values):\n"
+ padOpt("enabled (true)", "");
+ "\nThe Local Splitter identifies DU-UD webs for local variables and \nintroduces new variables so that each disjoint web is associated \nwith a single local."
+ "\n\nRecognized options (with default values):\n"
+ padOpt("enabled (true)", "");
+ "\nThe Jimple Local Aggregator removes some unnecessary copies by \ncombining local variables. Essentially, it finds definitions \nwhich have only a single use and, if it is safe to do so, \nremoves the original definition after replacing the use with the \ndefinition's right-hand side. At this stage in JimpleBody \nconstruction, local aggregation serves largely to remove the \ncopies to and from stack variables which simulate load and store \ninstructions in the original bytecode."
+ "\n\nRecognized options (with default values):\n"
+ padOpt("enabled (true)", "")
+ padOpt("only-stack-locals (true)", "");
+ "\nThe Unused Local Eliminator removes any unused locals from the \nmethod."
+ "\n\nRecognized options (with default values):\n"
+ padOpt("enabled (true)", "");

代码示例来源:origin: Sable/soot

public String getPhaseList() {
  return ""
      + padOpt("jb", "Creates a JimpleBody for each method")
        + padVal("jb.dtr", "Reduces chains of catch-all traps")
        + padVal("jb.ese", "Removes empty switch statements")
        + padVal("jb.uce", "Unreachable code eliminator")
        + padVal("jb.tt", "Trap Tightener")
      + padOpt("jj", "Creates a JimpleBody for each method directly from source")
        + padVal("jj.ls", "Local splitter: one local per DU-UD web")
        + padVal("jj.a", "Aggregator: removes some unnecessary copies")
        + padVal("jj.ne", "Nop eliminator")
        + padVal("jj.uce", "Unreachable code eliminator")
      + padOpt("wjpp", "Whole Jimple Pre-processing Pack")
        + padVal("wjpp.cimbt", "Replaces base objects of calls to Method.invoke() that are string constants by locals")
      + padOpt("wspp", "Whole Shimple Pre-processing Pack")
      + padOpt("cg", "Call graph constructor")
        + padVal("cg.cha", "Builds call graph using Class Hierarchy Analysis")
        + padVal("cg.spark", "Spark points-to analysis framework")
        + padVal("cg.paddle", "Paddle points-to analysis framework")
      + padOpt("wstp", "Whole-shimple transformation pack")
      + padOpt("wsop", "Whole-shimple optimization pack")
      + padOpt("wjtp", "Whole-jimple transformation pack")
        + padVal("wjtp.mhp", "Determines what statements may be run concurrently")
        + padVal("wjtp.tn", "Finds critical sections, allocates locks")
        + padVal("wjtp.rdc", "Rename duplicated classes when the file system is not case sensitive")
      + padOpt("wjop", "Whole-jimple optimization pack")
        + padVal("wjop.smb", "Static method binder: Devirtualizes monomorphic calls")
        + padVal("wjop.si", "Static inliner: inlines monomorphic calls")

代码示例来源:origin: ibinti/bugvm

+padOpt(" -h -help", "Display help and exit" )
+padOpt(" -pl -phase-list", "Print list of available phases" )
+padOpt(" -ph PHASE -phase-help PHASE", "Print help for specified PHASE" )
+padOpt(" -version", "Display version information and exit" )
+padOpt(" -v -verbose", "Verbose mode" )
+padOpt(" -interactive-mode", "Run in interactive mode" )
+padOpt(" -unfriendly-mode", "Allow Soot to run with no command-line options" )
+padOpt(" -app", "Run in application mode" )
+padOpt(" -w -whole-program", "Run in whole-program mode" )
+padOpt(" -ws -whole-shimple", "Run in whole-shimple mode" )
+padOpt(" -validate", "Run internal validation on bodies" )
+padOpt(" -debug", "Print various Soot debugging info" )
+padOpt(" -debug-resolver", "Print debugging info from SootResolver" )
+"\nInput Options:\n"
+padOpt(" -cp PATH -soot-class-path PATH -soot-classpath PATH", "Use PATH as the classpath for finding classes." )
+padOpt(" -pp -prepend-classpath", "Prepend the given soot classpath to the default classpath." )
+padOpt(" -process-path DIR -process-dir DIR", "Process all classes found in DIR" )
+padOpt(" -ast-metrics", "Compute AST Metrics if performing java to jimple" )
+padOpt(" -src-prec FORMAT", "Sets source precedence to FORMAT files" )
+padVal(" c class (default)", "Favour class files as Soot source" )
+padVal(" only-class", "Use only class files as Soot source" )
+padVal(" J jimple", "Favour Jimple files as Soot source" )
+padVal(" java", "Favour Java files as Soot source" )
+padOpt(" -full-resolver", "Force transitive resolving of referenced classes" )
+padOpt(" -allow-phantom-refs", "Allow unresolved classes; may cause errors" )
+padOpt(" -no-bodies-for-excluded", "Do not load bodies for excluded classes" )
+padOpt(" -j2me", "Use J2ME mode; changes assignment of types" )
+padOpt(" -main-class CLASS", "Sets the main class for whole-program analysis." )

代码示例来源:origin: com.bugvm/bugvm-soot

+padOpt(" -h -help", "Display help and exit" )
+padOpt(" -pl -phase-list", "Print list of available phases" )
+padOpt(" -ph PHASE -phase-help PHASE", "Print help for specified PHASE" )
+padOpt(" -version", "Display version information and exit" )
+padOpt(" -v -verbose", "Verbose mode" )
+padOpt(" -interactive-mode", "Run in interactive mode" )
+padOpt(" -unfriendly-mode", "Allow Soot to run with no command-line options" )
+padOpt(" -app", "Run in application mode" )
+padOpt(" -w -whole-program", "Run in whole-program mode" )
+padOpt(" -ws -whole-shimple", "Run in whole-shimple mode" )
+padOpt(" -validate", "Run internal validation on bodies" )
+padOpt(" -debug", "Print various Soot debugging info" )
+padOpt(" -debug-resolver", "Print debugging info from SootResolver" )
+"\nInput Options:\n"
+padOpt(" -cp PATH -soot-class-path PATH -soot-classpath PATH", "Use PATH as the classpath for finding classes." )
+padOpt(" -pp -prepend-classpath", "Prepend the given soot classpath to the default classpath." )
+padOpt(" -process-path DIR -process-dir DIR", "Process all classes found in DIR" )
+padOpt(" -ast-metrics", "Compute AST Metrics if performing java to jimple" )
+padOpt(" -src-prec FORMAT", "Sets source precedence to FORMAT files" )
+padVal(" c class (default)", "Favour class files as Soot source" )
+padVal(" only-class", "Use only class files as Soot source" )
+padVal(" J jimple", "Favour Jimple files as Soot source" )
+padVal(" java", "Favour Java files as Soot source" )
+padOpt(" -full-resolver", "Force transitive resolving of referenced classes" )
+padOpt(" -allow-phantom-refs", "Allow unresolved classes; may cause errors" )
+padOpt(" -no-bodies-for-excluded", "Do not load bodies for excluded classes" )
+padOpt(" -j2me", "Use J2ME mode; changes assignment of types" )
+padOpt(" -main-class CLASS", "Sets the main class for whole-program analysis." )

代码示例来源:origin: ibinti/bugvm

"\nJimple Body Creation creates a JimpleBody for each input \nmethod, using either coffi, to read .class files, or the jimple \nparser, to read .jimple files. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )
+padOpt( "use-original-names (false)", "" )
+padOpt( "preserve-source-annotations (false)", "" );
"\nThe Local Splitter identifies DU-UD webs for local variables \nand introduces new variables so that each disjoint web is \nassociated with a single local. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" );
"\nThe Jimple Local Aggregator removes some unnecessary copies by \ncombining local variables. Essentially, it finds definitions \nwhich have only a single use and, if it is safe to do so, \nremoves the original definition after replacing the use with the \ndefinition's right-hand side. At this stage in JimpleBody \nconstruction, local aggregation serves largely to remove the \ncopies to and from stack variables which simulate load and store \ninstructions in the original bytecode."
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )
+padOpt( "only-stack-locals (true)", "" );
"\nThe Unused Local Eliminator removes any unused locals from the \nmethod. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" );
"\nThe Type Assigner gives local variables types which will \naccommodate the values stored in them over the course of the \nmethod. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )
+padOpt( "ignore-wrong-staticness (false)", "Ignores errors due to wrong staticness" )
+padOpt( "use-older-type-assigner (false)", "Enables the older type assigner" )
+padOpt( "compare-type-assigners (false)", "Compares Ben Bellamy's and the older type assigner" );
"\nThe Unsplit-originals Local Packer executes only when the \n`use-original-names' option is chosen for the `jb' phase. The \nLocal Packer attempts to minimize the number of local variables \nrequired in a method by reusing the same variable for disjoint \nDU-UD webs. Conceptually, it is the inverse of the Local \nSplitter. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )

代码示例来源:origin: com.bugvm/bugvm-soot

"\nJimple Body Creation creates a JimpleBody for each input \nmethod, using either coffi, to read .class files, or the jimple \nparser, to read .jimple files. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )
+padOpt( "use-original-names (false)", "" )
+padOpt( "preserve-source-annotations (false)", "" );
"\nThe Local Splitter identifies DU-UD webs for local variables \nand introduces new variables so that each disjoint web is \nassociated with a single local. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" );
"\nThe Jimple Local Aggregator removes some unnecessary copies by \ncombining local variables. Essentially, it finds definitions \nwhich have only a single use and, if it is safe to do so, \nremoves the original definition after replacing the use with the \ndefinition's right-hand side. At this stage in JimpleBody \nconstruction, local aggregation serves largely to remove the \ncopies to and from stack variables which simulate load and store \ninstructions in the original bytecode."
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )
+padOpt( "only-stack-locals (true)", "" );
"\nThe Unused Local Eliminator removes any unused locals from the \nmethod. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" );
"\nThe Type Assigner gives local variables types which will \naccommodate the values stored in them over the course of the \nmethod. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )
+padOpt( "ignore-wrong-staticness (false)", "Ignores errors due to wrong staticness" )
+padOpt( "use-older-type-assigner (false)", "Enables the older type assigner" )
+padOpt( "compare-type-assigners (false)", "Compares Ben Bellamy's and the older type assigner" );
"\nThe Unsplit-originals Local Packer executes only when the \n`use-original-names' option is chosen for the `jb' phase. The \nLocal Packer attempts to minimize the number of local variables \nrequired in a method by reusing the same variable for disjoint \nDU-UD webs. Conceptually, it is the inverse of the Local \nSplitter. "
+"\n\nRecognized options (with default values):\n"
+padOpt( "enabled (true)", "" )

代码示例来源:origin: ibinti/bugvm

+padOpt("jb", "Creates a JimpleBody for each method")
+padVal("jb.ls", "Local splitter: one local per DU-UD web")
+padVal("jb.a", "Aggregator: removes some unnecessary copies")
+padVal("jb.uce", "Unreachable code eliminator")
+padVal("jb.tt", "Trap Tightener")
+padOpt("jj", "Creates a JimpleBody for each method directly from source")
+padVal("jj.ls", "Local splitter: one local per DU-UD web")
+padVal("jj.a", "Aggregator: removes some unnecessary copies")
+padVal("jj.ne", "Nop eliminator")
+padVal("jj.uce", "Unreachable code eliminator")
+padOpt("wjpp", "Whole Jimple Pre-processing Pack")
+padOpt("wspp", "Whole Shimple Pre-processing Pack")
+padOpt("cg", "Call graph constructor")
+padVal("cg.cha", "Builds call graph using Class Hierarchy Analysis")
+padVal("cg.spark", "Spark points-to analysis framework")
+padVal("cg.paddle", "Paddle points-to analysis framework")
+padOpt("wstp", "Whole-shimple transformation pack")
+padOpt("wsop", "Whole-shimple optimization pack")
+padOpt("wjtp", "Whole-jimple transformation pack")
+padVal("wjtp.mhp", "Determines what statements may be run concurrently")
+padVal("wjtp.tn", "Finds critical sections, allocates locks")
+padOpt("wjop", "Whole-jimple optimization pack")
+padVal("wjop.smb", "Static method binder: Devirtualizes monomorphic calls")
+padVal("wjop.si", "Static inliner: inlines monomorphic calls")
+padOpt("wjap", "Whole-jimple annotation pack: adds interprocedural tags")
+padVal("wjap.ra", "Rectangular array finder")
+padVal("wjap.umt", "Tags all unreachable methods")

代码示例来源:origin: com.bugvm/bugvm-soot

+padOpt("jb", "Creates a JimpleBody for each method")
+padVal("jb.ls", "Local splitter: one local per DU-UD web")
+padVal("jb.a", "Aggregator: removes some unnecessary copies")
+padVal("jb.uce", "Unreachable code eliminator")
+padVal("jb.tt", "Trap Tightener")
+padOpt("jj", "Creates a JimpleBody for each method directly from source")
+padVal("jj.ls", "Local splitter: one local per DU-UD web")
+padVal("jj.a", "Aggregator: removes some unnecessary copies")
+padVal("jj.ne", "Nop eliminator")
+padVal("jj.uce", "Unreachable code eliminator")
+padOpt("wjpp", "Whole Jimple Pre-processing Pack")
+padOpt("wspp", "Whole Shimple Pre-processing Pack")
+padOpt("cg", "Call graph constructor")
+padVal("cg.cha", "Builds call graph using Class Hierarchy Analysis")
+padVal("cg.spark", "Spark points-to analysis framework")
+padVal("cg.paddle", "Paddle points-to analysis framework")
+padOpt("wstp", "Whole-shimple transformation pack")
+padOpt("wsop", "Whole-shimple optimization pack")
+padOpt("wjtp", "Whole-jimple transformation pack")
+padVal("wjtp.mhp", "Determines what statements may be run concurrently")
+padVal("wjtp.tn", "Finds critical sections, allocates locks")
+padOpt("wjop", "Whole-jimple optimization pack")
+padVal("wjop.smb", "Static method binder: Devirtualizes monomorphic calls")
+padVal("wjop.si", "Static inliner: inlines monomorphic calls")
+padOpt("wjap", "Whole-jimple annotation pack: adds interprocedural tags")
+padVal("wjap.ra", "Rectangular array finder")
+padVal("wjap.umt", "Tags all unreachable methods")

相关文章

微信公众号

最新文章

更多