Skip to content

Commit 36fcaa6

Browse files
authored
MutAPK 2.0.0 - Merge from develop
2 parents 930ac1b + 5992ad2 commit 36fcaa6

File tree

121 files changed

+25304
-24025
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

121 files changed

+25304
-24025
lines changed

.classpath

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,39 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
3-
<classpathentry including="**/*.java" kind="src" output="target/classes" path="src">
3+
<classpathentry kind="src" output="target/classes" path="src/main/java">
44
<attributes>
55
<attribute name="optional" value="true"/>
66
<attribute name="maven.pomderived" value="true"/>
77
</attributes>
88
</classpathentry>
9-
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
9+
<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
10+
<attributes>
11+
<attribute name="maven.pomderived" value="true"/>
12+
</attributes>
13+
</classpathentry>
14+
<classpathentry kind="src" output="target/test-classes" path="src/test/java">
15+
<attributes>
16+
<attribute name="optional" value="true"/>
17+
<attribute name="maven.pomderived" value="true"/>
18+
<attribute name="test" value="true"/>
19+
</attributes>
20+
</classpathentry>
21+
<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
1022
<attributes>
1123
<attribute name="maven.pomderived" value="true"/>
24+
<attribute name="test" value="true"/>
1225
</attributes>
1326
</classpathentry>
1427
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
1528
<attributes>
16-
<attribute name="module" value="true"/>
1729
<attribute name="maven.pomderived" value="true"/>
1830
</attributes>
1931
</classpathentry>
20-
<classpathentry kind="src" path="target/generated-sources/annotations">
32+
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
2133
<attributes>
22-
<attribute name="ignore_optional_problems" value="true"/>
23-
<attribute name="optional" value="true"/>
2434
<attribute name="maven.pomderived" value="true"/>
25-
<attribute name="m2e-apt" value="true"/>
2635
</attributes>
2736
</classpathentry>
28-
<classpathentry kind="lib" path="extra/commons-io-2.4.jar"/>
37+
<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>
2938
<classpathentry kind="output" path="target/classes"/>
3039
</classpath>

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
target/
22
temp/
3+
test/mutants
34
pom.xml.tag
45
pom.xml.releaseBackup
56
pom.xml.versionsBackup
@@ -12,7 +13,8 @@ test/temp/
1213
test/mutantes/
1314
.vscode/
1415
.settings/
16+
.classpath
1517

1618
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
1719
!/.mvn/wrapper/maven-wrapper.jar
18-
/target/
20+
/target/

.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<projectDescription>
3-
<name>MutAPK</name>
3+
<name>MutAPK2</name>
44
<comment></comment>
55
<projects>
66
</projects>

.settings/org.eclipse.jdt.apt.core.prefs

Lines changed: 0 additions & 2 deletions
This file was deleted.

.settings/org.eclipse.jdt.core.prefs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,6 @@
11
eclipse.preferences.version=1
2-
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
3-
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
42
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
5-
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
63
org.eclipse.jdt.core.compiler.compliance=1.7
7-
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
8-
org.eclipse.jdt.core.compiler.debug.localVariable=generate
9-
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
10-
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
11-
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
124
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
13-
org.eclipse.jdt.core.compiler.processAnnotations=disabled
145
org.eclipse.jdt.core.compiler.release=disabled
156
org.eclipse.jdt.core.compiler.source=1.7

README.md

Lines changed: 27 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,37 @@ cd MutAPK
2323
mvn clean
2424
mvn package
2525
```
26-
The generated runnable jar can be found in: ``MutAPK/target/MutAPK-0.0.1.jar``
26+
The generated runnable jar can be found in: ``MutAPK/target/MutAPK-2.0.0.jar``
2727

2828
# Usage
29-
To run MutAPK use the following command, specifying the required arguments:
29+
To run MutAPK use the following command, specifying the path to the config file:
3030
```
31-
java -jar MutAPK-0.0.1.jar <APKPath> <AppPackage> <Output> <ExtraComponentFolder> <operatorsDir> <multithread> <amountMutants>?
31+
java -jar MutAPK-2.0.0.jar <pathToJSONConfigFile>
3232
```
33-
### Arguments
33+
34+
### JSON Configuration File
35+
36+
MutAPK uses a JSON file to define the values to be used during execution, an example of this file can be found in ```./src/main/resources/parameters.json```. Following is the structure of the JSON file:
37+
38+
```json
39+
{
40+
"apkPath": "./apk/com.evancharlton.mileage_3110.apk",
41+
"appName": "com.evancharlton.mileage",
42+
"mutantsFolder": "./mutants",
43+
"operatorsDir": "./",
44+
"multithreadExec": "true",
45+
"extraPath": "./extra",
46+
"selectionStrategy": "all",
47+
"selectionParameters":{
48+
"amountMutants":"34",
49+
"perOperator":"false",
50+
"confidenceLevel":"85",
51+
"marginError":"10",
52+
"baseAPKPath":"./"
53+
}
54+
}
55+
```
56+
3457
Provide the following list of required arguments when running MutAPK:
3558
1. ``APK path``: relative path of the apk to mutate;
3659
2. ``AppPackage``: App main package name;

pom.xml

Lines changed: 30 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,13 @@
1-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
1+
<project xmlns="http://maven.apache.org/POM/4.0.0"
2+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
23
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
34
<modelVersion>4.0.0</modelVersion>
4-
<groupId>MutAPK</groupId>
5+
<groupId>edu.uniandes.thesoftwaredesignlab</groupId>
56
<artifactId>MutAPK</artifactId>
6-
<version>0.0.1</version>
7+
<version>2.0.0</version>
78
<name>MutAPK</name>
89
<description>Android Application Mutation Testion over APK files</description>
910
<build>
10-
<sourceDirectory>src</sourceDirectory>
11-
<resources>
12-
<resource>
13-
<directory>src</directory>
14-
<excludes>
15-
<exclude>**/*.java</exclude>
16-
</excludes>
17-
</resource>
18-
</resources>
1911
<plugins>
2012
<plugin>
2113
<artifactId>maven-compiler-plugin</artifactId>
@@ -41,7 +33,7 @@
4133
<!-- add Main-Class to manifest file -->
4234
<transformer
4335
implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
44-
<mainClass>uniandes.tsdl.mutapk.MutAPK</mainClass>
36+
<mainClass>edu.uniandes.tsdl.mutapk.MutAPK</mainClass>
4537
</transformer>
4638
</transformers>
4739
<filters>
@@ -62,6 +54,27 @@
6254
</plugins>
6355
</build>
6456
<dependencies>
57+
<dependency>
58+
<groupId>org.bouncycastle</groupId>
59+
<artifactId>bcprov-jdk15on</artifactId>
60+
<version>1.53</version>
61+
</dependency>
62+
<dependency>
63+
<groupId>com.googlecode.json-simple</groupId>
64+
<artifactId>json-simple</artifactId>
65+
<version>1.1.1</version>
66+
</dependency>
67+
<dependency>
68+
<groupId>junit</groupId>
69+
<artifactId>junit</artifactId>
70+
<version>4.12</version>
71+
<scope>test</scope>
72+
</dependency>
73+
<dependency>
74+
<groupId>org.apache.commons</groupId>
75+
<artifactId>commons-math3</artifactId>
76+
<version>3.0</version>
77+
</dependency>
6578
<dependency>
6679
<groupId>org.apache.directory.studio</groupId>
6780
<artifactId>org.apache.commons.io</artifactId>
@@ -113,9 +126,10 @@
113126
<version>3.5.2</version>
114127
</dependency>
115128
<dependency>
116-
<groupId>org.smali</groupId>
117-
<artifactId>dexlib2</artifactId>
118-
<version>2.2.3</version>
129+
<groupId>org.smali</groupId>
130+
<artifactId>dexlib2</artifactId>
131+
<version>2.2.3</version>
119132
</dependency>
120133
</dependencies>
134+
121135
</project>

0 commit comments

Comments
 (0)