forked from flankerhqd/JAADAS
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
f1cfcfd
commit dba8585
Showing
4,826 changed files
with
911,667 additions
and
0 deletions.
The diff you're trying to view is too large. We only load the first 3000 changed files.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,13 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<module external.linked.project.id="Jade-devs" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" external.system.module.group="" external.system.module.version="unspecified" type="JAVA_MODULE" version="4"> | ||
<component name="NewModuleRootManager" inherit-compiler-output="false"> | ||
<output url="file://$MODULE_DIR$/build" /> | ||
<output-test url="file://$MODULE_DIR$/build" /> | ||
<exclude-output /> | ||
<content url="file://$MODULE_DIR$"> | ||
<excludeFolder url="file://$MODULE_DIR$/.gradle" /> | ||
</content> | ||
<orderEntry type="inheritedJdk" /> | ||
<orderEntry type="sourceFolder" forTests="false" /> | ||
</component> | ||
</module> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
task fullBuild(dependsOn: [":jasmin:jasmin-jar",":heros:jar",":soot:fulljar",":soot-infoflow:jar",":soot-infoflow-android:jar"] ) << { | ||
} | ||
|
||
task copyCfg(type: Copy) { | ||
from 'jade/config' | ||
into 'jade/build/libs/config' | ||
} | ||
evaluationDependsOn ":jade" | ||
evaluationDependsOn ":jasmin" | ||
evaluationDependsOn ":heros" | ||
evaluationDependsOn ":soot" | ||
evaluationDependsOn ":soot-infoflow" | ||
evaluationDependsOn ":soot-infoflow-android" | ||
project(':jade'){ | ||
fatJar.dependsOn(fullBuild) | ||
fatJar.finalizedBy copyCfg | ||
} | ||
//jade.tasks.fatJar.dependsOn fullBuild |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,157 @@ | ||
|
||
/* Soot - a J*va Optimization Framework | ||
* Copyright (C) 2003 Ondrej Lhotak | ||
* | ||
* This library is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 of the License, or (at your option) any later version. | ||
* | ||
* This library is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with this library; if not, write to the | ||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
* Boston, MA 02111-1307, USA. | ||
*/ | ||
|
||
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */ | ||
|
||
package soot.options; | ||
import java.util.*; | ||
|
||
/** Option parser for Array Bound Checker. */ | ||
public class ABCOptions | ||
{ | ||
private Map<String, String> options; | ||
|
||
public ABCOptions( Map<String, String> options ) { | ||
this.options = options; | ||
} | ||
|
||
/** Enabled -- | ||
* . | ||
* | ||
*/ | ||
public boolean enabled() { | ||
return soot.PhaseOptions.getBoolean( options, "enabled" ); | ||
} | ||
|
||
/** With All -- | ||
* . | ||
* Setting the With All option to true is equivalent to setting | ||
* each of With CSE, With Array Ref, With Field Ref, With Class | ||
* Field, and With Rectangular Array to true. | ||
*/ | ||
public boolean with_all() { | ||
return soot.PhaseOptions.getBoolean( options, "with-all" ); | ||
} | ||
|
||
/** With Common Sub-expressions -- | ||
* . | ||
* The analysis will consider common subexpressions. For example, | ||
* consider the situation where r1 is assigned a*b; later, r2 is | ||
* assigned a*b, where neither a nor b have changed between the two | ||
* statements. The analysis can conclude that r2 has the same value | ||
* as r1. Experiments show that this option can improve the result | ||
* slightly. | ||
*/ | ||
public boolean with_cse() { | ||
return soot.PhaseOptions.getBoolean( options, "with-cse" ); | ||
} | ||
|
||
/** With Array References -- | ||
* . | ||
* With this option enabled, array references can be considered as | ||
* common subexpressions; however, we are more conservative when | ||
* writing into an array, because array objects may be aliased. We | ||
* also assume that the application is single-threaded or that the | ||
* array references occur in a synchronized block. That is, we | ||
* assume that an array element may not be changed by other threads | ||
* between two array references. | ||
*/ | ||
public boolean with_arrayref() { | ||
return soot.PhaseOptions.getBoolean( options, "with-arrayref" ); | ||
} | ||
|
||
/** With Field References -- | ||
* . | ||
* The analysis treats field references (static and instance) as | ||
* common subexpressions; however, we are more conservative when | ||
* writing to a field, because the base of the field reference may | ||
* be aliased. We also assume that the application is | ||
* single-threaded or that the field references occur in a | ||
* synchronized block. That is, we assume that a field may not be | ||
* changed by other threads between two field references. | ||
*/ | ||
public boolean with_fieldref() { | ||
return soot.PhaseOptions.getBoolean( options, "with-fieldref" ); | ||
} | ||
|
||
/** With Class Field -- | ||
* . | ||
* This option makes the analysis work on the class level. The | ||
* algorithm analyzes final or private class fields first. It can | ||
* recognize the fields that hold array objects of constant length. | ||
* In an application using lots of array fields, this option can | ||
* improve the analysis results dramatically. | ||
*/ | ||
public boolean with_classfield() { | ||
return soot.PhaseOptions.getBoolean( options, "with-classfield" ); | ||
} | ||
|
||
/** With Rectangular Array -- | ||
* . | ||
* This option is used together with wjap.ra to make Soot run the | ||
* whole-program analysis for rectangular array objects. This | ||
* analysis is based on the call graph, and it usually takes a long | ||
* time. If the application uses rectangular arrays, these options | ||
* can improve the analysis result. | ||
*/ | ||
public boolean with_rectarray() { | ||
return soot.PhaseOptions.getBoolean( options, "with-rectarray" ); | ||
} | ||
|
||
/** Profiling -- | ||
* Profile the results of array bounds check analysis.. | ||
* Profile the results of array bounds check analysis. The | ||
* inserted profiling code assumes the existence of a MultiCounter | ||
* class implementing the methods invoked. For details, see the | ||
* ArrayBoundsChecker source code. | ||
*/ | ||
public boolean profiling() { | ||
return soot.PhaseOptions.getBoolean( options, "profiling" ); | ||
} | ||
|
||
/** Add Color Tags -- | ||
* Add color tags to results of array bound check analysis.. | ||
* Add color tags to the results of the array bounds check | ||
* analysis. | ||
*/ | ||
public boolean add_color_tags() { | ||
return soot.PhaseOptions.getBoolean( options, "add-color-tags" ); | ||
} | ||
|
||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
|
||
/* Soot - a J*va Optimization Framework | ||
* Copyright (C) 2003 Ondrej Lhotak | ||
* | ||
* This library is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 of the License, or (at your option) any later version. | ||
* | ||
* This library is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with this library; if not, write to the | ||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
* Boston, MA 02111-1307, USA. | ||
*/ | ||
|
||
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */ | ||
|
||
package soot.options; | ||
import java.util.*; | ||
|
||
/** Option parser for Available Expressions Tagger. */ | ||
public class AETOptions | ||
{ | ||
private Map<String, String> options; | ||
|
||
public AETOptions( Map<String, String> options ) { | ||
this.options = options; | ||
} | ||
|
||
/** Enabled -- | ||
* . | ||
* | ||
*/ | ||
public boolean enabled() { | ||
return soot.PhaseOptions.getBoolean( options, "enabled" ); | ||
} | ||
|
||
public static final int kind_optimistic = 1; | ||
public static final int kind_pessimistic = 2; | ||
/** Kind -- | ||
* . | ||
* | ||
*/ | ||
public int kind() { | ||
String s = soot.PhaseOptions.getString( options, "kind" ); | ||
|
||
if( s.equalsIgnoreCase( "optimistic" ) ) | ||
return kind_optimistic; | ||
|
||
if( s.equalsIgnoreCase( "pessimistic" ) ) | ||
return kind_pessimistic; | ||
|
||
throw new RuntimeException( "Invalid value "+s+" of phase option kind" ); | ||
} | ||
|
||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
|
||
/* Soot - a J*va Optimization Framework | ||
* Copyright (C) 2003 Ondrej Lhotak | ||
* | ||
* This library is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU Lesser General Public | ||
* License as published by the Free Software Foundation; either | ||
* version 2.1 of the License, or (at your option) any later version. | ||
* | ||
* This library is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
* Lesser General Public License for more details. | ||
* | ||
* You should have received a copy of the GNU Lesser General Public | ||
* License along with this library; if not, write to the | ||
* Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
* Boston, MA 02111-1307, USA. | ||
*/ | ||
|
||
/* THIS FILE IS AUTO-GENERATED FROM soot_options.xml. DO NOT MODIFY. */ | ||
|
||
package soot.options; | ||
import java.util.*; | ||
|
||
/** Option parser for Busy Code Motion. */ | ||
public class BCMOptions | ||
{ | ||
private Map<String, String> options; | ||
|
||
public BCMOptions( Map<String, String> options ) { | ||
this.options = options; | ||
} | ||
|
||
/** Enabled -- | ||
* . | ||
* | ||
*/ | ||
public boolean enabled() { | ||
return soot.PhaseOptions.getBoolean( options, "enabled" ); | ||
} | ||
|
||
/** 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. | ||
*/ | ||
public boolean naive_side_effect() { | ||
return soot.PhaseOptions.getBoolean( options, "naive-side-effect" ); | ||
} | ||
|
||
} | ||
|
Oops, something went wrong.