Skip to content

Commit

Permalink
separate intraprocedural and interprocedural analysis modules and sep…
Browse files Browse the repository at this point in the history
…arate interceptors into its own module
  • Loading branch information
stschott committed Aug 30, 2024
1 parent 44526c5 commit 3b1d8c3
Show file tree
Hide file tree
Showing 125 changed files with 228 additions and 116 deletions.
21 changes: 19 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -63,12 +63,14 @@
<module>sootup.core</module>
<module>sootup.jimple.parser</module>
<module>sootup.java.core</module>
<module>sootup.interceptors</module>
<module>sootup.java.bytecode</module>
<module>sootup.java.sourcecode</module>
<module>sootup.tests</module>
<module>sootup.callgraph</module>
<module>sootup.qilin</module>
<module>sootup.analysis</module>
<module>sootup.analysis.interprocedural</module>
<module>sootup.analysis.intraprocedural</module>
<module>sootup.examples</module>
<module>sootup.report</module>
<module>sootup.apk.parser</module>
Expand Down Expand Up @@ -445,7 +447,22 @@
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.analysis</artifactId>
<artifactId>sootup.analysis.interprocedural</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.analysis.intraprocedural</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.interceptors</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.codepropertygraph</artifactId>
<version>${project.version}</version>
</dependency>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<name>SootUp Analysis</name>
<artifactId>sootup.analysis</artifactId>
<name>SootUp Interprocedural Analysis</name>
<artifactId>sootup.analysis.interprocedural</artifactId>
<packaging>jar</packaging>
<parent>
<groupId>org.soot-oss</groupId>
Expand Down
45 changes: 45 additions & 0 deletions sootup.analysis.intraprocedural/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>

<name>SootUp Intraprocedural Analysis</name>
<artifactId>sootup.analysis.intraprocedural</artifactId>
<packaging>jar</packaging>
<parent>
<groupId>org.soot-oss</groupId>
<artifactId>sootup</artifactId>
<version>1.3.1-SNAPSHOT</version>
</parent>

<dependencies>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.core</artifactId>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.java.bytecode</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.java.sourcecode</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
</dependency>
</dependencies>
<repositories>
<repository>
<id>sonatype-snapshots</id>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
</repository>
</repositories>

</project>
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
1 change: 1 addition & 0 deletions sootup.apk.parser/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
<version>1.3.1-SNAPSHOT</version>
</parent>

<name>SootUp APK Frontend</name>
<artifactId>sootup.apk.parser</artifactId>

<properties>
Expand Down
5 changes: 2 additions & 3 deletions sootup.apk.parser/src/main/java/DexBodyInterceptors.java
Original file line number Diff line number Diff line change
@@ -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());
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.Dex;
package interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.Dex;
package interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.Dex;
package interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.Dex;
package interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.Dex;
package interceptors;

/*-
* #%L
Expand Down
5 changes: 1 addition & 4 deletions sootup.codepropertygraph/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,21 +21,18 @@
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.java.core</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.java.bytecode</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.analysis</artifactId>
<artifactId>sootup.analysis.intraprocedural</artifactId>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
Expand Down
4 changes: 4 additions & 0 deletions sootup.examples/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,10 @@
<groupId>org.soot-oss</groupId>
<artifactId>sootup.jimple.parser</artifactId>
</dependency>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.interceptors</artifactId>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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. */
Expand Down
29 changes: 29 additions & 0 deletions sootup.interceptors/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<name>SootUp Interceptors</name>
<parent>
<groupId>org.soot-oss</groupId>
<artifactId>sootup</artifactId>
<version>1.3.1-SNAPSHOT</version>
</parent>

<artifactId>sootup.interceptors</artifactId>
<packaging>jar</packaging>

<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>org.soot-oss</groupId>
<artifactId>sootup.java.core</artifactId>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down Expand Up @@ -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

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;

/*-
* #%L
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand All @@ -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;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors;
package sootup.interceptors;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.typeresolving;
package sootup.interceptors.typeresolving;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down Expand Up @@ -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 {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package sootup.java.core.interceptors.typeresolving;
package sootup.interceptors.typeresolving;
/*-
* #%L
* Soot - a J*va Optimization Framework
Expand Down Expand Up @@ -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 {
Expand Down
Loading

0 comments on commit 3b1d8c3

Please sign in to comment.