From 3b1d8c30e941e16a7aa0d80ad582ae70d355bad6 Mon Sep 17 00:00:00 2001 From: stschott Date: Fri, 30 Aug 2024 11:28:57 +0200 Subject: [PATCH] separate intraprocedural and interprocedural analysis modules and separate interceptors into its own module --- pom.xml | 21 +++++++- .../pom.xml | 4 +- .../icfg/AbstractJimpleBasedICFG.java | 0 .../icfg/BiDiInterproceduralCFG.java | 0 .../interprocedural/icfg/CGEdgeUtil.java | 0 .../icfg/CalleeMethodSignature.java | 0 .../interprocedural/icfg/ICFGDotExporter.java | 0 .../icfg/JimpleBasedInterproceduralCFG.java | 0 .../DefaultJimpleIDETabulationProblem.java | 0 .../interprocedural/ide/JimpleIDESolver.java | 0 .../DefaultJimpleIFDSTabulationProblem.java | 0 .../ifds/JimpleIFDSSolver.java | 0 .../icfg/ICFGDotExporterTest.java | 0 .../interprocedural/ifds/CGEdgeUtilTest.java | 0 .../ifds/IFDSTaintAnalysisProblem.java | 0 .../ifds/IFDSTaintAnalysisTest.java | 0 .../ifds/IFDSTaintTestSetUp.java | 0 .../src/test/resources/callgraph/Example.java | 0 .../icfg/source/ICFGArrayListExample.java | 0 .../resources/icfg/source/ICFGExample.java | 0 .../resources/icfg/source/ICFGExample2.java | 0 .../icfg/source/ICFGInterfaceExample.java | 0 .../resources/taint/source/FunctionTaint.java | 0 .../taint/source/FunctionTaintPropagated.java | 0 .../taint/source/FunctionTaintSanitized.java | 0 .../resources/taint/source/SimpleTaint.java | 0 .../taint/source/SimpleTaintSanitized.java | 0 sootup.analysis.intraprocedural/pom.xml | 45 ++++++++++++++++++ .../intraprocedural/AbstractFlowAnalysis.java | 0 .../intraprocedural/BackwardFlowAnalysis.java | 0 .../sootup/analysis/intraprocedural/Fact.java | 0 .../intraprocedural/FlowAnalysis.java | 0 .../intraprocedural/ForwardFlowAnalysis.java | 0 .../UniverseSortedPriorityQueue.java | 0 .../icfg/binary/ICFGArrayListExample.class | Bin 343 -> 0 bytes .../resources/icfg/binary/ICFGExample.class | Bin 613 -> 0 bytes .../resources/icfg/binary/ICFGExample2.class | Bin 331 -> 0 bytes .../icfg/binary/ICFGInterfaceExample.class | Bin 445 -> 0 bytes .../resources/icfg/binary/ICFGSubClass.class | Bin 239 -> 0 bytes .../icfg/binary/ICFGSuperClass.class | Bin 243 -> 0 bytes .../test/resources/icfg/binary/MyClass.class | Bin 854 -> 0 bytes .../resources/icfg/binary/MyInterface.class | Bin 192 -> 0 bytes .../taint/binary/FunctionTaint.class | Bin 451 -> 0 bytes .../binary/FunctionTaintPropagated.class | Bin 486 -> 0 bytes .../taint/binary/FunctionTaintSanitized.class | Bin 497 -> 0 bytes .../resources/taint/binary/SimpleTaint.class | Bin 324 -> 0 bytes .../taint/binary/SimpleTaintSanitized.class | Bin 367 -> 0 bytes sootup.apk.parser/pom.xml | 1 + .../src/main/java/DexBodyInterceptors.java | 5 +- .../AbstractNullTransformer.java | 2 +- .../java/interceptors}/DexDefUseAnalysis.java | 2 +- .../interceptors}/DexNullTransformer.java | 2 +- .../interceptors}/DexNumberTranformer.java | 2 +- .../java/interceptors}/DexTransformer.java | 2 +- sootup.codepropertygraph/pom.xml | 5 +- sootup.examples/pom.xml | 4 ++ .../bodyInterceptor/BodyInterceptor.java | 2 +- sootup.interceptors/pom.xml | 29 +++++++++++ .../java/sootup}/interceptors/Aggregator.java | 2 +- .../BytecodeBodyInterceptors.java | 2 +- .../interceptors/CastAndReturnInliner.java | 2 +- .../interceptors/ConditionalBranchFolder.java | 2 +- .../ConstantPropagatorAndFolder.java | 2 +- .../sootup}/interceptors/CopyPropagator.java | 2 +- .../DeadAssignmentEliminator.java | 2 +- .../interceptors/EmptySwitchEliminator.java | 2 +- .../java/sootup}/interceptors/Evaluator.java | 2 +- .../interceptors/JimpleSemanticsChecker.java | 2 +- .../interceptors/LocalLivenessAnalyser.java | 2 +- .../interceptors/LocalNameStandardizer.java | 4 +- .../sootup}/interceptors/LocalPacker.java | 2 +- .../sootup}/interceptors/LocalSplitter.java | 2 +- .../sootup}/interceptors/NopEliminator.java | 2 +- .../StaticSingleAssignmentFormer.java | 2 +- .../sootup}/interceptors/TrapTightener.java | 2 +- .../sootup}/interceptors/TypeAssigner.java | 4 +- .../UnreachableCodeEliminator.java | 2 +- .../interceptors/UnusedLocalEliminator.java | 2 +- .../typeresolving/AugEvalFunction.java | 8 ++-- .../typeresolving/BytecodeHierarchy.java | 6 +-- .../typeresolving/CastCounter.java | 2 +- .../typeresolving/PrimitiveHierarchy.java | 8 ++-- .../typeresolving/StmtLocalPair.java | 2 +- .../typeresolving/TypeChecker.java | 2 +- .../typeresolving/TypePromotionVisitor.java | 6 +-- .../typeresolving/TypeResolver.java | 8 ++-- .../interceptors/typeresolving/Typing.java | 4 +- .../types/AugmentIntegerTypes.java | 2 +- .../typeresolving/types/BottomType.java | 2 +- .../typeresolving/types/TopType.java | 6 +-- .../typeresolving/types/WeakObjectType.java | 2 +- sootup.java.bytecode/pom.xml | 4 ++ .../ArchiveBasedAnalysisInputLocation.java | 2 +- .../JavaClassPathAnalysisInputLocation.java | 2 +- .../JrtFileSystemAnalysisInputLocation.java | 2 +- .../bytecode/inputlocation/ModuleFinder.java | 2 +- .../MultiReleaseJarAnalysisInputLocation.java | 2 +- .../OTFCompileAnalysisInputLocation.java | 2 +- .../PathBasedAnalysisInputLocation.java | 2 +- .../bytecode/RuntimeJarConversionTests.java | 8 ++-- .../bytecode/interceptors/AggregatorTest.java | 2 +- .../CastAndReturnInlinerTest.java | 2 +- .../ConditionalBranchFolderTest.java | 2 +- .../ConstantPropagatorAndFolderTest.java | 2 +- .../interceptors/CopyPropagatorTest.java | 2 +- .../DeadAssignmentEliminatorTest.java | 2 +- .../EmptySwitchEliminatorTest.java | 2 +- .../LocalLivenessAnalyserTest.java | 2 +- .../LocalNameStandardizerTest.java | 2 +- .../interceptors/LocalPackerTest.java | 2 +- .../interceptors/LocalSplitterTest.java | 2 +- .../interceptors/NopEliminatorTest.java | 2 +- .../StaticSingleAssignmentFormerTest.java | 2 +- .../interceptors/TrapTightenerTest.java | 2 +- .../UnreachableCodeEliminatorTest.java | 2 +- .../UnusedLocalEliminatorTest.java | 2 +- .../typeresolving/AugEvalFunctionTest.java | 6 +-- .../typeresolving/BytecodeHierarchyTest.java | 6 +-- .../typeresolving/CastCounterTest.java | 10 ++-- .../typeresolving/PrimitiveHierarchyTest.java | 6 +-- .../typeresolving/TypeAssignerTest.java | 2 +- .../typeresolving/TypeAssignerTestSuite.java | 2 +- .../typeresolving/TypeResolverTest.java | 8 ++-- sootup.report/pom.xml | 14 +++++- sootup.tests/pom.xml | 4 ++ 125 files changed, 228 insertions(+), 116 deletions(-) rename {sootup.analysis => sootup.analysis.interprocedural}/pom.xml (93%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/icfg/AbstractJimpleBasedICFG.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/icfg/BiDiInterproceduralCFG.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/icfg/CGEdgeUtil.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/icfg/CalleeMethodSignature.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/icfg/ICFGDotExporter.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/icfg/JimpleBasedInterproceduralCFG.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/ide/DefaultJimpleIDETabulationProblem.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/ide/JimpleIDESolver.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/ifds/DefaultJimpleIFDSTabulationProblem.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/main/java/sootup/analysis/interprocedural/ifds/JimpleIFDSSolver.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/java/sootup/analysis/interprocedural/icfg/ICFGDotExporterTest.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/java/sootup/analysis/interprocedural/ifds/CGEdgeUtilTest.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisProblem.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisTest.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintTestSetUp.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/callgraph/Example.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/icfg/source/ICFGArrayListExample.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/icfg/source/ICFGExample.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/icfg/source/ICFGExample2.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/icfg/source/ICFGInterfaceExample.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/taint/source/FunctionTaint.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/taint/source/FunctionTaintPropagated.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/taint/source/FunctionTaintSanitized.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/taint/source/SimpleTaint.java (100%) rename {sootup.analysis => sootup.analysis.interprocedural}/src/test/resources/taint/source/SimpleTaintSanitized.java (100%) create mode 100644 sootup.analysis.intraprocedural/pom.xml rename {sootup.analysis => sootup.analysis.intraprocedural}/src/main/java/sootup/analysis/intraprocedural/AbstractFlowAnalysis.java (100%) rename {sootup.analysis => sootup.analysis.intraprocedural}/src/main/java/sootup/analysis/intraprocedural/BackwardFlowAnalysis.java (100%) rename {sootup.analysis => sootup.analysis.intraprocedural}/src/main/java/sootup/analysis/intraprocedural/Fact.java (100%) rename {sootup.analysis => sootup.analysis.intraprocedural}/src/main/java/sootup/analysis/intraprocedural/FlowAnalysis.java (100%) rename {sootup.analysis => sootup.analysis.intraprocedural}/src/main/java/sootup/analysis/intraprocedural/ForwardFlowAnalysis.java (100%) rename {sootup.analysis => sootup.analysis.intraprocedural}/src/main/java/sootup/analysis/intraprocedural/UniverseSortedPriorityQueue.java (100%) delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/ICFGArrayListExample.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/ICFGExample.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/ICFGExample2.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/ICFGInterfaceExample.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/ICFGSubClass.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/ICFGSuperClass.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/MyClass.class delete mode 100644 sootup.analysis/src/test/resources/icfg/binary/MyInterface.class delete mode 100644 sootup.analysis/src/test/resources/taint/binary/FunctionTaint.class delete mode 100644 sootup.analysis/src/test/resources/taint/binary/FunctionTaintPropagated.class delete mode 100644 sootup.analysis/src/test/resources/taint/binary/FunctionTaintSanitized.class delete mode 100644 sootup.analysis/src/test/resources/taint/binary/SimpleTaint.class delete mode 100644 sootup.analysis/src/test/resources/taint/binary/SimpleTaintSanitized.class rename {sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex => sootup.apk.parser/src/main/java/interceptors}/AbstractNullTransformer.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex => sootup.apk.parser/src/main/java/interceptors}/DexDefUseAnalysis.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex => sootup.apk.parser/src/main/java/interceptors}/DexNullTransformer.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex => sootup.apk.parser/src/main/java/interceptors}/DexNumberTranformer.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex => sootup.apk.parser/src/main/java/interceptors}/DexTransformer.java (99%) create mode 100644 sootup.interceptors/pom.xml rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/Aggregator.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/BytecodeBodyInterceptors.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/CastAndReturnInliner.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/ConditionalBranchFolder.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/ConstantPropagatorAndFolder.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/CopyPropagator.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/DeadAssignmentEliminator.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/EmptySwitchEliminator.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/Evaluator.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/JimpleSemanticsChecker.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/LocalLivenessAnalyser.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/LocalNameStandardizer.java (96%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/LocalPacker.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/LocalSplitter.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/NopEliminator.java (97%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/StaticSingleAssignmentFormer.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/TrapTightener.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/TypeAssigner.java (92%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/UnreachableCodeEliminator.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/UnusedLocalEliminator.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/AugEvalFunction.java (97%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/BytecodeHierarchy.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/CastCounter.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/PrimitiveHierarchy.java (96%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/StmtLocalPair.java (96%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/TypeChecker.java (99%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/TypePromotionVisitor.java (96%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/TypeResolver.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/Typing.java (96%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/types/AugmentIntegerTypes.java (98%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/types/BottomType.java (96%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/types/TopType.java (92%) rename {sootup.java.core/src/main/java/sootup/java/core => sootup.interceptors/src/main/java/sootup}/interceptors/typeresolving/types/WeakObjectType.java (96%) diff --git a/pom.xml b/pom.xml index e63c5d25292..6bf181a5931 100644 --- a/pom.xml +++ b/pom.xml @@ -63,12 +63,14 @@ sootup.core sootup.jimple.parser sootup.java.core + sootup.interceptors sootup.java.bytecode sootup.java.sourcecode sootup.tests sootup.callgraph sootup.qilin - sootup.analysis + sootup.analysis.interprocedural + sootup.analysis.intraprocedural sootup.examples sootup.report sootup.apk.parser @@ -445,7 +447,22 @@ org.soot-oss - sootup.analysis + sootup.analysis.interprocedural + ${project.version} + + + org.soot-oss + sootup.analysis.intraprocedural + ${project.version} + + + org.soot-oss + sootup.interceptors + ${project.version} + + + org.soot-oss + sootup.codepropertygraph ${project.version} diff --git a/sootup.analysis/pom.xml b/sootup.analysis.interprocedural/pom.xml similarity index 93% rename from sootup.analysis/pom.xml rename to sootup.analysis.interprocedural/pom.xml index 3d7dbc75c4b..c302e182fe0 100644 --- a/sootup.analysis/pom.xml +++ b/sootup.analysis.interprocedural/pom.xml @@ -3,8 +3,8 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - SootUp Analysis - sootup.analysis + SootUp Interprocedural Analysis + sootup.analysis.interprocedural jar org.soot-oss diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/AbstractJimpleBasedICFG.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/AbstractJimpleBasedICFG.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/AbstractJimpleBasedICFG.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/AbstractJimpleBasedICFG.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/BiDiInterproceduralCFG.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/BiDiInterproceduralCFG.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/BiDiInterproceduralCFG.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/BiDiInterproceduralCFG.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/CGEdgeUtil.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/CGEdgeUtil.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/CGEdgeUtil.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/CGEdgeUtil.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/CalleeMethodSignature.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/CalleeMethodSignature.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/CalleeMethodSignature.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/CalleeMethodSignature.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/ICFGDotExporter.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/ICFGDotExporter.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/ICFGDotExporter.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/ICFGDotExporter.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/JimpleBasedInterproceduralCFG.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/JimpleBasedInterproceduralCFG.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/icfg/JimpleBasedInterproceduralCFG.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/icfg/JimpleBasedInterproceduralCFG.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/ide/DefaultJimpleIDETabulationProblem.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ide/DefaultJimpleIDETabulationProblem.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/ide/DefaultJimpleIDETabulationProblem.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ide/DefaultJimpleIDETabulationProblem.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/ide/JimpleIDESolver.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ide/JimpleIDESolver.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/ide/JimpleIDESolver.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ide/JimpleIDESolver.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/ifds/DefaultJimpleIFDSTabulationProblem.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ifds/DefaultJimpleIFDSTabulationProblem.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/ifds/DefaultJimpleIFDSTabulationProblem.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ifds/DefaultJimpleIFDSTabulationProblem.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/interprocedural/ifds/JimpleIFDSSolver.java b/sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ifds/JimpleIFDSSolver.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/interprocedural/ifds/JimpleIFDSSolver.java rename to sootup.analysis.interprocedural/src/main/java/sootup/analysis/interprocedural/ifds/JimpleIFDSSolver.java diff --git a/sootup.analysis/src/test/java/sootup/analysis/interprocedural/icfg/ICFGDotExporterTest.java b/sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/icfg/ICFGDotExporterTest.java similarity index 100% rename from sootup.analysis/src/test/java/sootup/analysis/interprocedural/icfg/ICFGDotExporterTest.java rename to sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/icfg/ICFGDotExporterTest.java diff --git a/sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/CGEdgeUtilTest.java b/sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/CGEdgeUtilTest.java similarity index 100% rename from sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/CGEdgeUtilTest.java rename to sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/CGEdgeUtilTest.java diff --git a/sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisProblem.java b/sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisProblem.java similarity index 100% rename from sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisProblem.java rename to sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisProblem.java diff --git a/sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisTest.java b/sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisTest.java similarity index 100% rename from sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisTest.java rename to sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintAnalysisTest.java diff --git a/sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintTestSetUp.java b/sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintTestSetUp.java similarity index 100% rename from sootup.analysis/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintTestSetUp.java rename to sootup.analysis.interprocedural/src/test/java/sootup/analysis/interprocedural/ifds/IFDSTaintTestSetUp.java diff --git a/sootup.analysis/src/test/resources/callgraph/Example.java b/sootup.analysis.interprocedural/src/test/resources/callgraph/Example.java similarity index 100% rename from sootup.analysis/src/test/resources/callgraph/Example.java rename to sootup.analysis.interprocedural/src/test/resources/callgraph/Example.java diff --git a/sootup.analysis/src/test/resources/icfg/source/ICFGArrayListExample.java b/sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGArrayListExample.java similarity index 100% rename from sootup.analysis/src/test/resources/icfg/source/ICFGArrayListExample.java rename to sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGArrayListExample.java diff --git a/sootup.analysis/src/test/resources/icfg/source/ICFGExample.java b/sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGExample.java similarity index 100% rename from sootup.analysis/src/test/resources/icfg/source/ICFGExample.java rename to sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGExample.java diff --git a/sootup.analysis/src/test/resources/icfg/source/ICFGExample2.java b/sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGExample2.java similarity index 100% rename from sootup.analysis/src/test/resources/icfg/source/ICFGExample2.java rename to sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGExample2.java diff --git a/sootup.analysis/src/test/resources/icfg/source/ICFGInterfaceExample.java b/sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGInterfaceExample.java similarity index 100% rename from sootup.analysis/src/test/resources/icfg/source/ICFGInterfaceExample.java rename to sootup.analysis.interprocedural/src/test/resources/icfg/source/ICFGInterfaceExample.java diff --git a/sootup.analysis/src/test/resources/taint/source/FunctionTaint.java b/sootup.analysis.interprocedural/src/test/resources/taint/source/FunctionTaint.java similarity index 100% rename from sootup.analysis/src/test/resources/taint/source/FunctionTaint.java rename to sootup.analysis.interprocedural/src/test/resources/taint/source/FunctionTaint.java diff --git a/sootup.analysis/src/test/resources/taint/source/FunctionTaintPropagated.java b/sootup.analysis.interprocedural/src/test/resources/taint/source/FunctionTaintPropagated.java similarity index 100% rename from sootup.analysis/src/test/resources/taint/source/FunctionTaintPropagated.java rename to sootup.analysis.interprocedural/src/test/resources/taint/source/FunctionTaintPropagated.java diff --git a/sootup.analysis/src/test/resources/taint/source/FunctionTaintSanitized.java b/sootup.analysis.interprocedural/src/test/resources/taint/source/FunctionTaintSanitized.java similarity index 100% rename from sootup.analysis/src/test/resources/taint/source/FunctionTaintSanitized.java rename to sootup.analysis.interprocedural/src/test/resources/taint/source/FunctionTaintSanitized.java diff --git a/sootup.analysis/src/test/resources/taint/source/SimpleTaint.java b/sootup.analysis.interprocedural/src/test/resources/taint/source/SimpleTaint.java similarity index 100% rename from sootup.analysis/src/test/resources/taint/source/SimpleTaint.java rename to sootup.analysis.interprocedural/src/test/resources/taint/source/SimpleTaint.java diff --git a/sootup.analysis/src/test/resources/taint/source/SimpleTaintSanitized.java b/sootup.analysis.interprocedural/src/test/resources/taint/source/SimpleTaintSanitized.java similarity index 100% rename from sootup.analysis/src/test/resources/taint/source/SimpleTaintSanitized.java rename to sootup.analysis.interprocedural/src/test/resources/taint/source/SimpleTaintSanitized.java diff --git a/sootup.analysis.intraprocedural/pom.xml b/sootup.analysis.intraprocedural/pom.xml new file mode 100644 index 00000000000..00c44f917c9 --- /dev/null +++ b/sootup.analysis.intraprocedural/pom.xml @@ -0,0 +1,45 @@ + + 4.0.0 + + SootUp Intraprocedural Analysis + sootup.analysis.intraprocedural + jar + + org.soot-oss + sootup + 1.3.1-SNAPSHOT + + + + + org.soot-oss + sootup.core + + + org.soot-oss + sootup.java.bytecode + test + + + org.soot-oss + sootup.java.sourcecode + test + + + org.junit.jupiter + junit-jupiter-api + + + + + sonatype-snapshots + https://oss.sonatype.org/content/repositories/snapshots + + false + + + + + diff --git a/sootup.analysis/src/main/java/sootup/analysis/intraprocedural/AbstractFlowAnalysis.java b/sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/AbstractFlowAnalysis.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/intraprocedural/AbstractFlowAnalysis.java rename to sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/AbstractFlowAnalysis.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/intraprocedural/BackwardFlowAnalysis.java b/sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/BackwardFlowAnalysis.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/intraprocedural/BackwardFlowAnalysis.java rename to sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/BackwardFlowAnalysis.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/intraprocedural/Fact.java b/sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/Fact.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/intraprocedural/Fact.java rename to sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/Fact.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/intraprocedural/FlowAnalysis.java b/sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/FlowAnalysis.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/intraprocedural/FlowAnalysis.java rename to sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/FlowAnalysis.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/intraprocedural/ForwardFlowAnalysis.java b/sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/ForwardFlowAnalysis.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/intraprocedural/ForwardFlowAnalysis.java rename to sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/ForwardFlowAnalysis.java diff --git a/sootup.analysis/src/main/java/sootup/analysis/intraprocedural/UniverseSortedPriorityQueue.java b/sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/UniverseSortedPriorityQueue.java similarity index 100% rename from sootup.analysis/src/main/java/sootup/analysis/intraprocedural/UniverseSortedPriorityQueue.java rename to sootup.analysis.intraprocedural/src/main/java/sootup/analysis/intraprocedural/UniverseSortedPriorityQueue.java diff --git a/sootup.analysis/src/test/resources/icfg/binary/ICFGArrayListExample.class b/sootup.analysis/src/test/resources/icfg/binary/ICFGArrayListExample.class deleted file mode 100644 index b1a302f900b92f0c22f462c5cb6521768252f8ca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 343 zcmZut%SyvQ6g@XhlQvfCYvaO&3#C;sA5bYsu_6RrR0MG~si90srZP@M|4LT{1wX)# z67NkwH_qZd&pn4TU*GSa0EXC%;Gq%1@1Ti*us&B$D$bRe#aHP(n>s>pqK$S#LZjEe z3DF{KRiM)8JU+Eny(Ie4MF@pwg|K}w8lV5p&z@EBkY@ycw7BQgO|;1_%OcI}wMwf+ zp|m0F_wJHE@rkqA%m)2>R7r`-fDlak diff --git a/sootup.analysis/src/test/resources/icfg/binary/ICFGExample.class b/sootup.analysis/src/test/resources/icfg/binary/ICFGExample.class deleted file mode 100644 index 240816ec8e5db6a0095b8c97f7433d3a88d2e104..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 613 zcmZ{h&rZTX5XQf4fkLSiK?Lznf+hyR$ibtA3jt#SYJ}*y&Kd{mt~_^X(l#6+1c=ht`8t8Cg!ha@ig7p3e|D6^`($ z3~KSof?*)2I z>Q`=;8%*Mr2(@sHyckgM1M*Q~ zPkhaxx~ICjW@`2M_5omkJ&76ufl#522B9<4kGh{~_t3veW@cIv8fVtoazF_74{imT z1a%RQ&L>q8r+TrF5C|kTp#)kAk#~u{1#?rZB?QU@IzNlUC!Nhxb4m!~{N51SW9!Ui zl_jRQ(MigTG_EY3uXF48eL2aiVroX#PrBau*Wtu}7Cp2%gFiKpPr=ybTaPPotsgEy vFWeBe7=2(b4G}Q2{U<+W&QDtJ5O+&#jE`O+|JNdxgT+mbs~8D8Yn$CKeZ@D$ diff --git a/sootup.analysis/src/test/resources/icfg/binary/ICFGInterfaceExample.class b/sootup.analysis/src/test/resources/icfg/binary/ICFGInterfaceExample.class deleted file mode 100644 index 40c67eced0afc5c1d71ceae04299379479feb46f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 445 zcmZut%T5A85Uk;~u&%H?1;s>eix~L;kqhy$3FrZ1VmuAYNS4elWFJO8%L^o$_yK;D zvB!g4m`S>NrmL!Z=KJU43qT)D9SI~gqzt5yVKC?Xm3JlgXWjeBTsRR!rsw)@)MrRq z?MDq+25qz&NFIhdG$d8nGhkq!!Em^AV#y;hjy;C7W!r5#ivmOOR!F%xJF)#p1TWkX zEu||OD51=dpSs~v^3_O$A)g6`sx{mWGL8b*pIxZtRfdW^xW4(fxq9Q?Qj#JySWF2D zL)RB~u{ROH1E2gAJns4oHS2koC4)X*#DOEOT}5u}GCxYvb_HpmS-rfyc&&@Vfs{2Jy~T|$a@HDpO! OM3Wp|3z0v6}|lvG9rexJ;|RKL>Pq|~C2#H1Xc2xBfI16Oc&mNT3TC7#TQ$ELkAU2ollS&cL`4$N(Az fBtg;)41z$C8?ICmEDKbDu1plDj0Y&m#J~#xsCp$b diff --git a/sootup.analysis/src/test/resources/icfg/binary/ICFGSuperClass.class b/sootup.analysis/src/test/resources/icfg/binary/ICFGSuperClass.class deleted file mode 100644 index cb16103904f9d257487e3998f47293dc3d502645..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 243 zcmZ8by$-=(6g{^srKK1R5+eo@vsfAxi7-^`U+arh`Xi;{wM-I&2k=nheg=a(oO^Q4 zxj(P>;|X92$ASjkgi%8YWkT~HE@BjmbU#`L2N|9TOQQL@?ZJCkc&Zl*(0+1Tx=K`M5Cg}hG diff --git a/sootup.analysis/src/test/resources/icfg/binary/MyClass.class b/sootup.analysis/src/test/resources/icfg/binary/MyClass.class deleted file mode 100644 index c9a76ba041008d8afdb87773b62926a1641072ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 854 zcmaJ=!EVz)5PjREahist6iNwAi=k_*;oh5v+) z;KB*12R?w0LX5FRQYGTBJ8#Et$1`tcfBnAs3E%?fC2S#QAz#Ke3JiN!{F=7|E+_5x zqbuPVhQdo<`sRWm*KA$x)2(6|J18+6&iPC@N_yOU@XeHvHe4FbaNg`K;|xsb%SorT z?y^v3u==qRaIGy=7K{4*4h`Pub&v7X{piK{RLB zZn|#EWvGmOy$E>R7h3ZP@eVfSami2`s3`PA*H41gT&Mfy-(O#U;qyfxUL^UG9Iuoz z+Jt=37iOx)x>`W3ghx2CP)}qyW@s!+_2spiiFR6Xs!W%AMujoM*VSAyVjA=<8F)0@NPblh5gX7yE=0YCRchviYO>r*C9enLBj4hx-|`K{jC)pWna&`pdYF7`Sa^e^(E|uJVr0Q!5wQQRYlv*3BpWeTv+w{OO58MB4Ls&C z^Zq+(3v>5XPsh zx@m4=RaKlS!Zg_Z<;0X(kuJjn!B4JrDOHqdTbhY=wEazP9-QB_nzvpLAav|Ez_CYM OSYXpb-x9*0+Rpc+X znN$TI;X-RDwXi=d)u@n}ieffTw6q5YRa%CF{@oz*um;aV9qR)1Kd`{Ya+8~6l8y=- z@;IAE115ylVXX0Wz$}=p?i}Kc1=nD-7oP$ZZNgfk`^*|O{L1SJXcFWiKj0p_6-}(_ o)d)0xtxpLV#Oky*f}^YM@f_xI#OJ1IerkU^X^>tNzv>50UHAK*tB zYlx8q_0m1vQ(aZvAD?gU08X);gO4zSjT}BRvIM%|6FNhE(F|ivmT(^X zbo7neu^5Y3rpppg_)$I~$R(^0I_+w02KTahG=sMo3TYKocgdY4d!EBwZO*>_1xxl+ ABme*a diff --git a/sootup.analysis/src/test/resources/taint/binary/FunctionTaintSanitized.class b/sootup.analysis/src/test/resources/taint/binary/FunctionTaintSanitized.class deleted file mode 100644 index de200319b9753e2cc7f817257557badd3a2e9970..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 497 zcmZut%TB^j6r4*7Ewu_(L6Nv{V*rgTbfIB;NL$HuOWf`bf-I_z24w@?zuTuCL9YXPHDeH1VoQ9l&O zwWSJgr%&B5?gZU2C-x*DPQJ1{uC#~2b5I`#YEbu+SgOHgb#+9tiBuzj!a6*)oKPk4 z%Y7tO!p4uLaW8C1Emm$#RWFf|>I7W+3+4WqmUUqxD*#&en~jHN$Aybc7hA{)6xSaL z0k&o@w1Ez6BmAfA7wm{ zn7X--^O$?)`{(luz!?rAco_CE3em$}fF!`aK%N9ix>7G{S}MDoW=(DE@?79w7;BnK zfqQ)NAn47iM=cnp#_F5Ry3lp5ijqjAZBxJARmL`4vT9Q=^p$CuQD)Z9rOp+pNqZqi zA0c1P=Ck{G9>Yf<82nSwvrTeatn{M65z~77fY3|>C#Rc3)`;67yRdtwACR|BIAHZV mu%%-BNhjP~a#7->FeH diff --git a/sootup.analysis/src/test/resources/taint/binary/SimpleTaintSanitized.class b/sootup.analysis/src/test/resources/taint/binary/SimpleTaintSanitized.class deleted file mode 100644 index 1dd86b882a1437d376b5a0d018e6c5be2272a02c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 367 zcmZvXy-veG5QOJ!$A1`-n1BQl1sxE{Y3M*{qEI=2utk4PPSFL&L6#E<-U?A5QSbmf z6k_axG&H-nJ3IT`e*b)a0l37W4;vj9T@NjUF7_St92^LUCxI|t$c-H2vX~E&s?^2& zO2EF>g|3DI=Gpn9fHhjplt4Syg}PlYGgYQC%h~Z&QI#+ED_vA9lGVDLsvBJ^M~PlO z=PH$y63J!yRn4Lr6~Kc}L^2*djMD%PTyml)66pPB66kDyc$Y2Iw8AM5v3VPzwVyA8 zZ|-H>VRgbRm|GVg5O2+3z-TwkTH5^^9kMd1g`pAmC;fMrp*0CD=B@9zf!UmM2zCkb P5O716Fo8X~4YYp&{T@G^ diff --git a/sootup.apk.parser/pom.xml b/sootup.apk.parser/pom.xml index 33f6e492cab..5765c28393d 100644 --- a/sootup.apk.parser/pom.xml +++ b/sootup.apk.parser/pom.xml @@ -9,6 +9,7 @@ 1.3.1-SNAPSHOT + SootUp APK Frontend sootup.apk.parser diff --git a/sootup.apk.parser/src/main/java/DexBodyInterceptors.java b/sootup.apk.parser/src/main/java/DexBodyInterceptors.java index 227814c4613..6d56b2f4347 100644 --- a/sootup.apk.parser/src/main/java/DexBodyInterceptors.java +++ b/sootup.apk.parser/src/main/java/DexBodyInterceptors.java @@ -1,11 +1,10 @@ +import interceptors.DexNullTransformer; +import interceptors.DexNumberTranformer; import java.util.Arrays; import java.util.Collections; import java.util.List; import javax.annotation.Nonnull; import sootup.core.transform.BodyInterceptor; -import sootup.java.core.interceptors.*; -import sootup.java.core.interceptors.Dex.DexNullTransformer; -import sootup.java.core.interceptors.Dex.DexNumberTranformer; public enum DexBodyInterceptors { Default(new DexNumberTranformer(), new DexNullTransformer()); diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/AbstractNullTransformer.java b/sootup.apk.parser/src/main/java/interceptors/AbstractNullTransformer.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/AbstractNullTransformer.java rename to sootup.apk.parser/src/main/java/interceptors/AbstractNullTransformer.java index 3dafaf1b4eb..1ccbc4cf332 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/AbstractNullTransformer.java +++ b/sootup.apk.parser/src/main/java/interceptors/AbstractNullTransformer.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.Dex; +package interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexDefUseAnalysis.java b/sootup.apk.parser/src/main/java/interceptors/DexDefUseAnalysis.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexDefUseAnalysis.java rename to sootup.apk.parser/src/main/java/interceptors/DexDefUseAnalysis.java index 6ac1699ff8c..217985c4839 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexDefUseAnalysis.java +++ b/sootup.apk.parser/src/main/java/interceptors/DexDefUseAnalysis.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.Dex; +package interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexNullTransformer.java b/sootup.apk.parser/src/main/java/interceptors/DexNullTransformer.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexNullTransformer.java rename to sootup.apk.parser/src/main/java/interceptors/DexNullTransformer.java index ebb2b8ff733..79409e8ca58 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexNullTransformer.java +++ b/sootup.apk.parser/src/main/java/interceptors/DexNullTransformer.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.Dex; +package interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexNumberTranformer.java b/sootup.apk.parser/src/main/java/interceptors/DexNumberTranformer.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexNumberTranformer.java rename to sootup.apk.parser/src/main/java/interceptors/DexNumberTranformer.java index cba7fd61518..f219b94e28b 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexNumberTranformer.java +++ b/sootup.apk.parser/src/main/java/interceptors/DexNumberTranformer.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.Dex; +package interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexTransformer.java b/sootup.apk.parser/src/main/java/interceptors/DexTransformer.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexTransformer.java rename to sootup.apk.parser/src/main/java/interceptors/DexTransformer.java index 198f1afd2c8..1ec92af6dc9 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Dex/DexTransformer.java +++ b/sootup.apk.parser/src/main/java/interceptors/DexTransformer.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.Dex; +package interceptors; /*- * #%L diff --git a/sootup.codepropertygraph/pom.xml b/sootup.codepropertygraph/pom.xml index aaaf9b0e16d..02c95e35d40 100644 --- a/sootup.codepropertygraph/pom.xml +++ b/sootup.codepropertygraph/pom.xml @@ -21,21 +21,18 @@ org.soot-oss sootup.core - ${project.version} org.soot-oss sootup.java.core - ${project.version} org.soot-oss sootup.java.bytecode - ${project.version} org.soot-oss - sootup.analysis + sootup.analysis.intraprocedural org.soot-oss diff --git a/sootup.examples/pom.xml b/sootup.examples/pom.xml index ea82e214df9..be4632705e2 100644 --- a/sootup.examples/pom.xml +++ b/sootup.examples/pom.xml @@ -36,6 +36,10 @@ org.soot-oss sootup.jimple.parser + + org.soot-oss + sootup.interceptors + org.junit.jupiter junit-jupiter-api diff --git a/sootup.examples/src/test/java/sootup/examples/bodyInterceptor/BodyInterceptor.java b/sootup.examples/src/test/java/sootup/examples/bodyInterceptor/BodyInterceptor.java index 43224fd2fea..8406db487ff 100644 --- a/sootup.examples/src/test/java/sootup/examples/bodyInterceptor/BodyInterceptor.java +++ b/sootup.examples/src/test/java/sootup/examples/bodyInterceptor/BodyInterceptor.java @@ -12,8 +12,8 @@ import sootup.core.model.SootMethod; import sootup.core.signatures.MethodSignature; import sootup.core.types.ClassType; +import sootup.interceptors.DeadAssignmentEliminator; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; -import sootup.java.core.interceptors.DeadAssignmentEliminator; import sootup.java.core.views.JavaView; /** This example illustrates how to invoke body interceptors. */ diff --git a/sootup.interceptors/pom.xml b/sootup.interceptors/pom.xml new file mode 100644 index 00000000000..4d93d41c3d0 --- /dev/null +++ b/sootup.interceptors/pom.xml @@ -0,0 +1,29 @@ + + + 4.0.0 + SootUp Interceptors + + org.soot-oss + sootup + 1.3.1-SNAPSHOT + + + sootup.interceptors + jar + + + 8 + 8 + UTF-8 + + + + + org.soot-oss + sootup.java.core + + + + \ No newline at end of file diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Aggregator.java b/sootup.interceptors/src/main/java/sootup/interceptors/Aggregator.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Aggregator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/Aggregator.java index 2854b4e7fcf..aaa1cab3727 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Aggregator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/Aggregator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/BytecodeBodyInterceptors.java b/sootup.interceptors/src/main/java/sootup/interceptors/BytecodeBodyInterceptors.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/BytecodeBodyInterceptors.java rename to sootup.interceptors/src/main/java/sootup/interceptors/BytecodeBodyInterceptors.java index c4e6992299e..a403432a478 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/BytecodeBodyInterceptors.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/BytecodeBodyInterceptors.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/CastAndReturnInliner.java b/sootup.interceptors/src/main/java/sootup/interceptors/CastAndReturnInliner.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/CastAndReturnInliner.java rename to sootup.interceptors/src/main/java/sootup/interceptors/CastAndReturnInliner.java index f7b79a056ca..ba4d0672f37 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/CastAndReturnInliner.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/CastAndReturnInliner.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/ConditionalBranchFolder.java b/sootup.interceptors/src/main/java/sootup/interceptors/ConditionalBranchFolder.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/ConditionalBranchFolder.java rename to sootup.interceptors/src/main/java/sootup/interceptors/ConditionalBranchFolder.java index 9a7d4f03ed6..e5fbe7b912a 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/ConditionalBranchFolder.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/ConditionalBranchFolder.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/ConstantPropagatorAndFolder.java b/sootup.interceptors/src/main/java/sootup/interceptors/ConstantPropagatorAndFolder.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/ConstantPropagatorAndFolder.java rename to sootup.interceptors/src/main/java/sootup/interceptors/ConstantPropagatorAndFolder.java index b3dad0dbbe3..c68a87740a8 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/ConstantPropagatorAndFolder.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/ConstantPropagatorAndFolder.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/CopyPropagator.java b/sootup.interceptors/src/main/java/sootup/interceptors/CopyPropagator.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/CopyPropagator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/CopyPropagator.java index ecc203ba222..c38786558ce 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/CopyPropagator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/CopyPropagator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/DeadAssignmentEliminator.java b/sootup.interceptors/src/main/java/sootup/interceptors/DeadAssignmentEliminator.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/DeadAssignmentEliminator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/DeadAssignmentEliminator.java index 50d5159ec35..d3b4fd28b45 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/DeadAssignmentEliminator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/DeadAssignmentEliminator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/EmptySwitchEliminator.java b/sootup.interceptors/src/main/java/sootup/interceptors/EmptySwitchEliminator.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/EmptySwitchEliminator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/EmptySwitchEliminator.java index b629f1eab88..ce3893b7b4f 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/EmptySwitchEliminator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/EmptySwitchEliminator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Evaluator.java b/sootup.interceptors/src/main/java/sootup/interceptors/Evaluator.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/Evaluator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/Evaluator.java index 3a733c8e97a..1093ca2b8a4 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/Evaluator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/Evaluator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/JimpleSemanticsChecker.java b/sootup.interceptors/src/main/java/sootup/interceptors/JimpleSemanticsChecker.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/JimpleSemanticsChecker.java rename to sootup.interceptors/src/main/java/sootup/interceptors/JimpleSemanticsChecker.java index 14899d9993d..45948656f13 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/JimpleSemanticsChecker.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/JimpleSemanticsChecker.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalLivenessAnalyser.java b/sootup.interceptors/src/main/java/sootup/interceptors/LocalLivenessAnalyser.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalLivenessAnalyser.java rename to sootup.interceptors/src/main/java/sootup/interceptors/LocalLivenessAnalyser.java index 94df8f46d14..69d19aa1ac1 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalLivenessAnalyser.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/LocalLivenessAnalyser.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalNameStandardizer.java b/sootup.interceptors/src/main/java/sootup/interceptors/LocalNameStandardizer.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalNameStandardizer.java rename to sootup.interceptors/src/main/java/sootup/interceptors/LocalNameStandardizer.java index a81e7d1ac39..7a3b85ea2ab 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalNameStandardizer.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/LocalNameStandardizer.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework @@ -31,7 +31,7 @@ import sootup.core.transform.BodyInterceptor; import sootup.core.types.Type; import sootup.core.views.View; -import sootup.java.core.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.BottomType; // https://github.com/Sable/soot/blob/master/src/main/java/soot/jimple/toolkits/scalar/LocalNameStandardizer.java diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalPacker.java b/sootup.interceptors/src/main/java/sootup/interceptors/LocalPacker.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalPacker.java rename to sootup.interceptors/src/main/java/sootup/interceptors/LocalPacker.java index 6d039272ccf..5112a61f983 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalPacker.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/LocalPacker.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalSplitter.java b/sootup.interceptors/src/main/java/sootup/interceptors/LocalSplitter.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalSplitter.java rename to sootup.interceptors/src/main/java/sootup/interceptors/LocalSplitter.java index 8ddb839632b..9bff5a22e57 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/LocalSplitter.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/LocalSplitter.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/NopEliminator.java b/sootup.interceptors/src/main/java/sootup/interceptors/NopEliminator.java similarity index 97% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/NopEliminator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/NopEliminator.java index 8292176212c..74b03694087 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/NopEliminator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/NopEliminator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/StaticSingleAssignmentFormer.java b/sootup.interceptors/src/main/java/sootup/interceptors/StaticSingleAssignmentFormer.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/StaticSingleAssignmentFormer.java rename to sootup.interceptors/src/main/java/sootup/interceptors/StaticSingleAssignmentFormer.java index 3f6f59ef2ff..0bc4c6bf3b7 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/StaticSingleAssignmentFormer.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/StaticSingleAssignmentFormer.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/TrapTightener.java b/sootup.interceptors/src/main/java/sootup/interceptors/TrapTightener.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/TrapTightener.java rename to sootup.interceptors/src/main/java/sootup/interceptors/TrapTightener.java index 6dd55cd29c3..32f86ca5a43 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/TrapTightener.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/TrapTightener.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/TypeAssigner.java b/sootup.interceptors/src/main/java/sootup/interceptors/TypeAssigner.java similarity index 92% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/TypeAssigner.java rename to sootup.interceptors/src/main/java/sootup/interceptors/TypeAssigner.java index 39d34184e7d..11794705e23 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/TypeAssigner.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/TypeAssigner.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework @@ -25,7 +25,7 @@ import sootup.core.model.Body; import sootup.core.transform.BodyInterceptor; import sootup.core.views.View; -import sootup.java.core.interceptors.typeresolving.TypeResolver; +import sootup.interceptors.typeresolving.TypeResolver; import sootup.java.core.views.JavaView; /** diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/UnreachableCodeEliminator.java b/sootup.interceptors/src/main/java/sootup/interceptors/UnreachableCodeEliminator.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/UnreachableCodeEliminator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/UnreachableCodeEliminator.java index 29ec9c6a682..0dd52a6d474 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/UnreachableCodeEliminator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/UnreachableCodeEliminator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/UnusedLocalEliminator.java b/sootup.interceptors/src/main/java/sootup/interceptors/UnusedLocalEliminator.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/UnusedLocalEliminator.java rename to sootup.interceptors/src/main/java/sootup/interceptors/UnusedLocalEliminator.java index ab2d3324c2c..b6960b05cc1 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/UnusedLocalEliminator.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/UnusedLocalEliminator.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors; +package sootup.interceptors; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/AugEvalFunction.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/AugEvalFunction.java similarity index 97% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/AugEvalFunction.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/AugEvalFunction.java index 2bdeae00372..fe9d943f390 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/AugEvalFunction.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/AugEvalFunction.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L * Soot - a J*va Optimization Framework @@ -42,9 +42,9 @@ import sootup.core.types.PrimitiveType; import sootup.core.types.Type; import sootup.core.views.View; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; -import sootup.java.core.interceptors.typeresolving.types.BottomType; -import sootup.java.core.interceptors.typeresolving.types.TopType; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; +import sootup.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.TopType; /** @author Zun Wang */ public class AugEvalFunction { diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/BytecodeHierarchy.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/BytecodeHierarchy.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/BytecodeHierarchy.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/BytecodeHierarchy.java index 6009a044077..15588c4650d 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/BytecodeHierarchy.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/BytecodeHierarchy.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L * Soot - a J*va Optimization Framework @@ -29,8 +29,8 @@ import sootup.core.typehierarchy.TypeHierarchy; import sootup.core.types.*; import sootup.core.views.View; -import sootup.java.core.interceptors.typeresolving.types.BottomType; -import sootup.java.core.interceptors.typeresolving.types.TopType; +import sootup.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.TopType; /** @author Zun Wang */ public class BytecodeHierarchy { diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/CastCounter.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/CastCounter.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/CastCounter.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/CastCounter.java index b2860b7e567..13b0885d955 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/CastCounter.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/CastCounter.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/PrimitiveHierarchy.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/PrimitiveHierarchy.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/PrimitiveHierarchy.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/PrimitiveHierarchy.java index 4d74079b12c..b6112999d6a 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/PrimitiveHierarchy.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/PrimitiveHierarchy.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L * Soot - a J*va Optimization Framework @@ -27,9 +27,9 @@ import sootup.core.types.ArrayType; import sootup.core.types.PrimitiveType; import sootup.core.types.Type; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; -import sootup.java.core.interceptors.typeresolving.types.BottomType; -import sootup.java.core.interceptors.typeresolving.types.TopType; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; +import sootup.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.TopType; /** @author Zun Wang */ public class PrimitiveHierarchy { diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/StmtLocalPair.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/StmtLocalPair.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/StmtLocalPair.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/StmtLocalPair.java index a6f22dfbce9..9f6071ee42b 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/StmtLocalPair.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/StmtLocalPair.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypeChecker.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypeChecker.java similarity index 99% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypeChecker.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypeChecker.java index 03063c08684..51552d1d8d8 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypeChecker.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypeChecker.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypePromotionVisitor.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypePromotionVisitor.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypePromotionVisitor.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypePromotionVisitor.java index adb6605e3be..069b1d5b4f1 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypePromotionVisitor.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypePromotionVisitor.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L @@ -30,8 +30,8 @@ import sootup.core.model.Body; import sootup.core.types.PrimitiveType; import sootup.core.types.Type; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; -import sootup.java.core.interceptors.typeresolving.types.TopType; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; +import sootup.interceptors.typeresolving.types.TopType; public class TypePromotionVisitor extends TypeChecker { public TypePromotionVisitor( diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypeResolver.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypeResolver.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypeResolver.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypeResolver.java index ff964e368a5..1c73fe0b5ab 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/TypeResolver.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/TypeResolver.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L @@ -45,9 +45,9 @@ import sootup.core.types.NullType; import sootup.core.types.PrimitiveType; import sootup.core.types.Type; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; -import sootup.java.core.interceptors.typeresolving.types.BottomType; -import sootup.java.core.interceptors.typeresolving.types.TopType; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; +import sootup.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.TopType; import sootup.java.core.views.JavaView; /** @author Zun Wang Algorithm: see 'Efficient Local Type Inference' at OOPSLA 08 */ diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/Typing.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/Typing.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/Typing.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/Typing.java index dc73cf5afa3..d7795a4c45e 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/Typing.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/Typing.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving; +package sootup.interceptors.typeresolving; /*- * #%L * Soot - a J*va Optimization Framework @@ -25,7 +25,7 @@ import javax.annotation.Nullable; import sootup.core.jimple.basic.Local; import sootup.core.types.Type; -import sootup.java.core.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.BottomType; public class Typing { @Nonnull private final Map local2Type; diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/AugmentIntegerTypes.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/AugmentIntegerTypes.java similarity index 98% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/AugmentIntegerTypes.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/AugmentIntegerTypes.java index 33f8a38a770..dbb377b3d55 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/AugmentIntegerTypes.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/AugmentIntegerTypes.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving.types; +package sootup.interceptors.typeresolving.types; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/BottomType.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/BottomType.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/BottomType.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/BottomType.java index 123fae55021..8b5fffabc2d 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/BottomType.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/BottomType.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving.types; +package sootup.interceptors.typeresolving.types; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/TopType.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/TopType.java similarity index 92% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/TopType.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/TopType.java index ebbba740ed2..1441b8a743a 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/TopType.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/TopType.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving.types; +package sootup.interceptors.typeresolving.types; /*- * #%L @@ -25,8 +25,8 @@ import javax.annotation.Nonnull; import sootup.core.jimple.visitor.TypeVisitor; import sootup.core.types.Type; -import sootup.java.core.interceptors.LocalSplitter; -import sootup.java.core.interceptors.TypeAssigner; +import sootup.interceptors.LocalSplitter; +import sootup.interceptors.TypeAssigner; /** * The top type is a superclass of all other types. This is similar to {@code java.lang.Object} but diff --git a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/WeakObjectType.java b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/WeakObjectType.java similarity index 96% rename from sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/WeakObjectType.java rename to sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/WeakObjectType.java index 2b197152b36..1ca4cbb83ff 100644 --- a/sootup.java.core/src/main/java/sootup/java/core/interceptors/typeresolving/types/WeakObjectType.java +++ b/sootup.interceptors/src/main/java/sootup/interceptors/typeresolving/types/WeakObjectType.java @@ -1,4 +1,4 @@ -package sootup.java.core.interceptors.typeresolving.types; +package sootup.interceptors.typeresolving.types; /*- * #%L * Soot - a J*va Optimization Framework diff --git a/sootup.java.bytecode/pom.xml b/sootup.java.bytecode/pom.xml index cdba91f9f6e..ffaeac674c6 100644 --- a/sootup.java.bytecode/pom.xml +++ b/sootup.java.bytecode/pom.xml @@ -21,6 +21,10 @@ org.soot-oss sootup.java.core + + org.soot-oss + sootup.interceptors + org.ow2.asm asm-util diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ArchiveBasedAnalysisInputLocation.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ArchiveBasedAnalysisInputLocation.java index 6b67b35c8ed..808c947f378 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ArchiveBasedAnalysisInputLocation.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ArchiveBasedAnalysisInputLocation.java @@ -37,9 +37,9 @@ import sootup.core.transform.BodyInterceptor; import sootup.core.types.ClassType; import sootup.core.views.View; +import sootup.interceptors.BytecodeBodyInterceptors; import sootup.java.bytecode.frontend.AsmJavaClassProvider; import sootup.java.core.JavaSootClassSource; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; import sootup.java.core.types.JavaClassType; public class ArchiveBasedAnalysisInputLocation extends PathBasedAnalysisInputLocation { diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JavaClassPathAnalysisInputLocation.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JavaClassPathAnalysisInputLocation.java index f5d65a85295..bf3720442c1 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JavaClassPathAnalysisInputLocation.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JavaClassPathAnalysisInputLocation.java @@ -40,8 +40,8 @@ import sootup.core.util.PathUtils; import sootup.core.util.StreamUtils; import sootup.core.views.View; +import sootup.interceptors.BytecodeBodyInterceptors; import sootup.java.core.JavaSootClassSource; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; /** * An implementation of the {@link AnalysisInputLocation} interface for the Java class path. Handles diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JrtFileSystemAnalysisInputLocation.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JrtFileSystemAnalysisInputLocation.java index dbf4e19f86c..bcf4de5fc3c 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JrtFileSystemAnalysisInputLocation.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/JrtFileSystemAnalysisInputLocation.java @@ -38,10 +38,10 @@ import sootup.core.types.ClassType; import sootup.core.util.StreamUtils; import sootup.core.views.View; +import sootup.interceptors.BytecodeBodyInterceptors; import sootup.java.bytecode.frontend.AsmJavaClassProvider; import sootup.java.bytecode.frontend.AsmModuleSource; import sootup.java.core.*; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; import sootup.java.core.signatures.ModulePackageName; import sootup.java.core.signatures.ModuleSignature; import sootup.java.core.types.JavaClassType; diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ModuleFinder.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ModuleFinder.java index 0fe94ee39e5..d85aeef23c5 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ModuleFinder.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/ModuleFinder.java @@ -40,10 +40,10 @@ import sootup.core.model.SourceType; import sootup.core.transform.BodyInterceptor; import sootup.core.util.PathUtils; +import sootup.interceptors.BytecodeBodyInterceptors; import sootup.java.bytecode.frontend.AsmModuleSource; import sootup.java.core.JavaModuleIdentifierFactory; import sootup.java.core.JavaModuleInfo; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; import sootup.java.core.signatures.ModuleSignature; /** diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/MultiReleaseJarAnalysisInputLocation.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/MultiReleaseJarAnalysisInputLocation.java index f70f98ed307..975e447eddb 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/MultiReleaseJarAnalysisInputLocation.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/MultiReleaseJarAnalysisInputLocation.java @@ -43,8 +43,8 @@ import sootup.core.transform.BodyInterceptor; import sootup.core.types.ClassType; import sootup.core.views.View; +import sootup.interceptors.BytecodeBodyInterceptors; import sootup.java.core.JavaSootClassSource; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; /** * If the user wants to analyze a Multi-Release Jar, they have to specify the language level to diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/OTFCompileAnalysisInputLocation.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/OTFCompileAnalysisInputLocation.java index 8bae4ee4b64..9c0c53378c3 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/OTFCompileAnalysisInputLocation.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/OTFCompileAnalysisInputLocation.java @@ -41,7 +41,7 @@ import sootup.core.transform.BodyInterceptor; import sootup.core.types.ClassType; import sootup.core.views.View; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; +import sootup.interceptors.BytecodeBodyInterceptors; /** e.g. to simplify creating testcases - no manual compilation step is required */ public class OTFCompileAnalysisInputLocation implements AnalysisInputLocation { diff --git a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/PathBasedAnalysisInputLocation.java b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/PathBasedAnalysisInputLocation.java index 8d1ebf0b681..51f654e6451 100644 --- a/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/PathBasedAnalysisInputLocation.java +++ b/sootup.java.bytecode/src/main/java/sootup/java/bytecode/inputlocation/PathBasedAnalysisInputLocation.java @@ -28,9 +28,9 @@ import sootup.core.util.PathUtils; import sootup.core.util.StreamUtils; import sootup.core.views.View; +import sootup.interceptors.BytecodeBodyInterceptors; import sootup.java.bytecode.frontend.AsmJavaClassProvider; import sootup.java.core.*; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; import sootup.java.core.types.JavaClassType; /*- diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/RuntimeJarConversionTests.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/RuntimeJarConversionTests.java index fcf56f32ac0..3d70252c2e0 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/RuntimeJarConversionTests.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/RuntimeJarConversionTests.java @@ -20,12 +20,12 @@ import sootup.core.transform.RunTimeBodyInterceptor; import sootup.core.util.DotExporter; import sootup.core.util.Utils; +import sootup.interceptors.BytecodeBodyInterceptors; +import sootup.interceptors.CopyPropagator; +import sootup.interceptors.DeadAssignmentEliminator; +import sootup.interceptors.TypeAssigner; import sootup.java.bytecode.inputlocation.DefaultRTJarAnalysisInputLocation; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; -import sootup.java.core.interceptors.BytecodeBodyInterceptors; -import sootup.java.core.interceptors.CopyPropagator; -import sootup.java.core.interceptors.DeadAssignmentEliminator; -import sootup.java.core.interceptors.TypeAssigner; import sootup.java.core.views.JavaView; @Tag("Java8") diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/AggregatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/AggregatorTest.java index a845dcba242..a458bce607a 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/AggregatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/AggregatorTest.java @@ -23,11 +23,11 @@ import sootup.core.model.SourceType; import sootup.core.types.ClassType; import sootup.core.types.PrimitiveType; +import sootup.interceptors.Aggregator; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; import sootup.java.bytecode.inputlocation.PathBasedAnalysisInputLocation; import sootup.java.core.JavaIdentifierFactory; import sootup.java.core.JavaSootMethod; -import sootup.java.core.interceptors.Aggregator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CastAndReturnInlinerTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CastAndReturnInlinerTest.java index 3bd7a3b0325..7327a6e0ba9 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CastAndReturnInlinerTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CastAndReturnInlinerTest.java @@ -16,8 +16,8 @@ import sootup.core.jimple.common.stmt.Stmt; import sootup.core.model.Body; import sootup.core.types.UnknownType; +import sootup.interceptors.CastAndReturnInliner; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.CastAndReturnInliner; import sootup.java.core.jimple.basic.JavaLocal; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConditionalBranchFolderTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConditionalBranchFolderTest.java index 4de56f3674a..f53176e56fb 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConditionalBranchFolderTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConditionalBranchFolderTest.java @@ -23,8 +23,8 @@ import sootup.core.signatures.PackageName; import sootup.core.util.ImmutableUtils; import sootup.core.util.Utils; +import sootup.interceptors.ConditionalBranchFolder; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.ConditionalBranchFolder; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConstantPropagatorAndFolderTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConstantPropagatorAndFolderTest.java index 758359923d4..545bc7ed5a0 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConstantPropagatorAndFolderTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/ConstantPropagatorAndFolderTest.java @@ -19,8 +19,8 @@ import sootup.core.model.Body; import sootup.core.types.PrimitiveType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.ConstantPropagatorAndFolder; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.ConstantPropagatorAndFolder; import sootup.java.core.language.JavaJimple; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CopyPropagatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CopyPropagatorTest.java index 6503c11d978..f61d777d2c6 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CopyPropagatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/CopyPropagatorTest.java @@ -32,10 +32,10 @@ import sootup.core.util.ImmutableUtils; import sootup.core.util.Utils; import sootup.core.views.View; +import sootup.interceptors.CopyPropagator; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; import sootup.java.bytecode.inputlocation.PathBasedAnalysisInputLocation; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.CopyPropagator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/DeadAssignmentEliminatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/DeadAssignmentEliminatorTest.java index 2407412259f..13bb7f6d76b 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/DeadAssignmentEliminatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/DeadAssignmentEliminatorTest.java @@ -17,8 +17,8 @@ import sootup.core.jimple.common.stmt.Stmt; import sootup.core.model.Body; import sootup.core.types.PrimitiveType; +import sootup.interceptors.DeadAssignmentEliminator; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.DeadAssignmentEliminator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/EmptySwitchEliminatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/EmptySwitchEliminatorTest.java index 86c476119c9..ffdafdc0151 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/EmptySwitchEliminatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/EmptySwitchEliminatorTest.java @@ -18,8 +18,8 @@ import sootup.core.signatures.MethodSignature; import sootup.core.types.VoidType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.EmptySwitchEliminator; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.EmptySwitchEliminator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalLivenessAnalyserTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalLivenessAnalyserTest.java index 649667073db..d07cf50eb2f 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalLivenessAnalyserTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalLivenessAnalyserTest.java @@ -19,8 +19,8 @@ import sootup.core.signatures.MethodSignature; import sootup.core.types.VoidType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.LocalLivenessAnalyser; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.LocalLivenessAnalyser; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalNameStandardizerTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalNameStandardizerTest.java index e7d65ac5fa1..e89f60de5b2 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalNameStandardizerTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalNameStandardizerTest.java @@ -21,8 +21,8 @@ import sootup.core.types.UnknownType; import sootup.core.types.VoidType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.LocalNameStandardizer; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.LocalNameStandardizer; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalPackerTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalPackerTest.java index 48f7c336bd8..41fe355cfcd 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalPackerTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalPackerTest.java @@ -22,8 +22,8 @@ import sootup.core.types.VoidType; import sootup.core.util.DotExporter; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.LocalPacker; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.LocalPacker; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalSplitterTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalSplitterTest.java index 5c647256004..ea5a3a02ddc 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalSplitterTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/LocalSplitterTest.java @@ -15,9 +15,9 @@ import sootup.core.model.SourceType; import sootup.core.signatures.PackageName; import sootup.core.types.ClassType; +import sootup.interceptors.LocalSplitter; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; import sootup.java.bytecode.inputlocation.JrtFileSystemAnalysisInputLocation; -import sootup.java.core.interceptors.LocalSplitter; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/NopEliminatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/NopEliminatorTest.java index c9257e835ef..f7b1a45e891 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/NopEliminatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/NopEliminatorTest.java @@ -14,8 +14,8 @@ import sootup.core.jimple.common.stmt.*; import sootup.core.model.Body; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.NopEliminator; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.NopEliminator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/StaticSingleAssignmentFormerTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/StaticSingleAssignmentFormerTest.java index badffc5b066..cb8cbb98a3f 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/StaticSingleAssignmentFormerTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/StaticSingleAssignmentFormerTest.java @@ -21,8 +21,8 @@ import sootup.core.types.ClassType; import sootup.core.types.VoidType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.StaticSingleAssignmentFormer; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.StaticSingleAssignmentFormer; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/TrapTightenerTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/TrapTightenerTest.java index c7a8f9fcdb0..d4fad2701d4 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/TrapTightenerTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/TrapTightenerTest.java @@ -23,8 +23,8 @@ import sootup.core.types.ClassType; import sootup.core.types.VoidType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.TrapTightener; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.TrapTightener; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnreachableCodeEliminatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnreachableCodeEliminatorTest.java index eca18c6a770..e9ecd4180f5 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnreachableCodeEliminatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnreachableCodeEliminatorTest.java @@ -23,8 +23,8 @@ import sootup.core.types.PrimitiveType; import sootup.core.types.VoidType; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.UnreachableCodeEliminator; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.UnreachableCodeEliminator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnusedLocalEliminatorTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnusedLocalEliminatorTest.java index e51d1dff226..34fbddc0814 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnusedLocalEliminatorTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/UnusedLocalEliminatorTest.java @@ -18,8 +18,8 @@ import sootup.core.jimple.common.stmt.Stmt; import sootup.core.model.Body; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.UnusedLocalEliminator; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.UnusedLocalEliminator; import sootup.java.core.language.JavaJimple; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/AugEvalFunctionTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/AugEvalFunctionTest.java index ef1467b3aa8..ceff58eb785 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/AugEvalFunctionTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/AugEvalFunctionTest.java @@ -19,10 +19,10 @@ import sootup.core.types.PrimitiveType; import sootup.core.types.Type; import sootup.core.types.VoidType; +import sootup.interceptors.typeresolving.AugEvalFunction; +import sootup.interceptors.typeresolving.Typing; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; import sootup.java.core.JavaIdentifierFactory; -import sootup.java.core.interceptors.typeresolving.AugEvalFunction; -import sootup.java.core.interceptors.typeresolving.Typing; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; /** @author Zun Wang */ @Tag(TestCategories.JAVA_8_CATEGORY) diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/BytecodeHierarchyTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/BytecodeHierarchyTest.java index c866386de07..79b7fe8d412 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/BytecodeHierarchyTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/BytecodeHierarchyTest.java @@ -11,11 +11,11 @@ import sootup.core.IdentifierFactory; import sootup.core.types.*; import sootup.core.util.ImmutableUtils; +import sootup.interceptors.typeresolving.BytecodeHierarchy; +import sootup.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.types.TopType; import sootup.java.bytecode.inputlocation.DefaultRTJarAnalysisInputLocation; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; -import sootup.java.core.interceptors.typeresolving.BytecodeHierarchy; -import sootup.java.core.interceptors.typeresolving.types.BottomType; -import sootup.java.core.interceptors.typeresolving.types.TopType; import sootup.java.core.views.JavaView; /** @author Zun Wang */ diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/CastCounterTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/CastCounterTest.java index 9e7ca95dd3b..17c9fc6108f 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/CastCounterTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/CastCounterTest.java @@ -20,11 +20,11 @@ import sootup.core.types.PrimitiveType; import sootup.core.types.Type; import sootup.core.util.Utils; -import sootup.java.core.interceptors.typeresolving.AugEvalFunction; -import sootup.java.core.interceptors.typeresolving.BytecodeHierarchy; -import sootup.java.core.interceptors.typeresolving.CastCounter; -import sootup.java.core.interceptors.typeresolving.Typing; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; +import sootup.interceptors.typeresolving.AugEvalFunction; +import sootup.interceptors.typeresolving.BytecodeHierarchy; +import sootup.interceptors.typeresolving.CastCounter; +import sootup.interceptors.typeresolving.Typing; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; @Tag(TestCategories.JAVA_8_CATEGORY) public class CastCounterTest extends TypeAssignerTestSuite { diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/PrimitiveHierarchyTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/PrimitiveHierarchyTest.java index 114a13f98f6..e53eff59afa 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/PrimitiveHierarchyTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/PrimitiveHierarchyTest.java @@ -11,9 +11,9 @@ import org.junit.jupiter.api.Test; import sootup.core.types.*; import sootup.core.util.ImmutableUtils; -import sootup.java.core.interceptors.typeresolving.PrimitiveHierarchy; -import sootup.java.core.interceptors.typeresolving.types.AugmentIntegerTypes; -import sootup.java.core.interceptors.typeresolving.types.BottomType; +import sootup.interceptors.typeresolving.PrimitiveHierarchy; +import sootup.interceptors.typeresolving.types.AugmentIntegerTypes; +import sootup.interceptors.typeresolving.types.BottomType; /** @author Zun Wang */ @Tag(TestCategories.JAVA_8_CATEGORY) diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTest.java index f83f2493669..bbb0b628bb1 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTest.java @@ -11,7 +11,7 @@ import org.junit.jupiter.api.Test; import sootup.core.model.Body; import sootup.core.util.Utils; -import sootup.java.core.interceptors.TypeAssigner; +import sootup.interceptors.TypeAssigner; @Tag(TestCategories.JAVA_8_CATEGORY) public class TypeAssignerTest extends TypeAssignerTestSuite { diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTestSuite.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTestSuite.java index 7a7f55165c2..bd958b2fdea 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTestSuite.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeAssignerTestSuite.java @@ -12,11 +12,11 @@ import sootup.core.signatures.MethodSignature; import sootup.core.types.ClassType; import sootup.core.types.Type; +import sootup.interceptors.typeresolving.Typing; import sootup.java.bytecode.inputlocation.DefaultRTJarAnalysisInputLocation; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; import sootup.java.core.JavaSootClass; import sootup.java.core.JavaSootMethod; -import sootup.java.core.interceptors.typeresolving.Typing; import sootup.java.core.views.JavaView; public class TypeAssignerTestSuite { diff --git a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeResolverTest.java b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeResolverTest.java index 04c1a523e7a..0897c43e5ee 100644 --- a/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeResolverTest.java +++ b/sootup.java.bytecode/src/test/java/sootup/java/bytecode/interceptors/typeresolving/TypeResolverTest.java @@ -20,12 +20,12 @@ import sootup.core.types.PrimitiveType; import sootup.core.types.Type; import sootup.core.util.Utils; +import sootup.interceptors.LocalSplitter; +import sootup.interceptors.TypeAssigner; +import sootup.interceptors.typeresolving.TypeResolver; +import sootup.interceptors.typeresolving.types.TopType; import sootup.java.bytecode.inputlocation.JavaClassPathAnalysisInputLocation; import sootup.java.core.JavaPackageName; -import sootup.java.core.interceptors.LocalSplitter; -import sootup.java.core.interceptors.TypeAssigner; -import sootup.java.core.interceptors.typeresolving.TypeResolver; -import sootup.java.core.interceptors.typeresolving.types.TopType; import sootup.java.core.types.JavaClassType; import sootup.java.core.views.JavaView; diff --git a/sootup.report/pom.xml b/sootup.report/pom.xml index a50dc6ecf2b..1064051dc01 100644 --- a/sootup.report/pom.xml +++ b/sootup.report/pom.xml @@ -85,7 +85,13 @@ org.soot-oss - sootup.analysis + sootup.analysis.interprocedural + ${project.version} + compile + + + org.soot-oss + sootup.analysis.intraprocedural ${project.version} compile @@ -95,6 +101,12 @@ ${project.version} compile + + org.soot-oss + sootup.interceptors + ${project.version} + compile + org.soot-oss sootup.tests diff --git a/sootup.tests/pom.xml b/sootup.tests/pom.xml index 45f08cbec7a..2d65ddaf24a 100644 --- a/sootup.tests/pom.xml +++ b/sootup.tests/pom.xml @@ -22,6 +22,10 @@ org.soot-oss sootup.java.core + + org.soot-oss + sootup.interceptors + org.soot-oss sootup.java.bytecode