diff --git a/jbmc/regression/janalyzer-taint/pom.xml b/jbmc/regression/janalyzer-taint/pom.xml
new file mode 100644
index 00000000000..d51891beaed
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/pom.xml
@@ -0,0 +1,26 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+ pom
+
+
+ org.cprover.regression
+ regression
+ 1.0-SNAPSHOT
+
+
+
+ taint-aliasing1
+ taint-basic1
+ taint-basic2
+ taint-interface1
+ taint-interproc1
+ taint-map1
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-aliasing1/aliasing1.class b/jbmc/regression/janalyzer-taint/taint-aliasing1/aliasing1.class
deleted file mode 100644
index 099386f68df..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-aliasing1/aliasing1.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-aliasing1/pom.xml b/jbmc/regression/janalyzer-taint/taint-aliasing1/pom.xml
new file mode 100644
index 00000000000..3d602f7bedc
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/taint-aliasing1/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint.taint-aliasing1
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-aliasing1/aliasing1.java b/jbmc/regression/janalyzer-taint/taint-aliasing1/src/main/java/aliasing1.java
similarity index 100%
rename from jbmc/regression/janalyzer-taint/taint-aliasing1/aliasing1.java
rename to jbmc/regression/janalyzer-taint/taint-aliasing1/src/main/java/aliasing1.java
diff --git a/jbmc/regression/janalyzer-taint/taint-aliasing1/test.desc b/jbmc/regression/janalyzer-taint/taint-aliasing1/test.desc
index 4bb46b7dfcb..74baa634e3c 100644
--- a/jbmc/regression/janalyzer-taint/taint-aliasing1/test.desc
+++ b/jbmc/regression/janalyzer-taint/taint-aliasing1/test.desc
@@ -1,6 +1,6 @@
CORE
aliasing1
---taint taint.json
+--taint taint.json --cp target/classes
^EXIT=0$
^SIGNAL=0$
^file aliasing1.java line 10( function .*)?: There is a flow \(taint rule my_sink\)$
diff --git a/jbmc/regression/janalyzer-taint/taint-basic1/basic1.class b/jbmc/regression/janalyzer-taint/taint-basic1/basic1.class
deleted file mode 100644
index f5c1be3c073..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-basic1/basic1.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-basic1/pom.xml b/jbmc/regression/janalyzer-taint/taint-basic1/pom.xml
new file mode 100644
index 00000000000..9d55d0ddf56
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/taint-basic1/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint.taint-basic1
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-basic1/basic1.java b/jbmc/regression/janalyzer-taint/taint-basic1/src/main/java/basic1.java
similarity index 100%
rename from jbmc/regression/janalyzer-taint/taint-basic1/basic1.java
rename to jbmc/regression/janalyzer-taint/taint-basic1/src/main/java/basic1.java
diff --git a/jbmc/regression/janalyzer-taint/taint-basic1/test.desc b/jbmc/regression/janalyzer-taint/taint-basic1/test.desc
index 478d563244e..83c40ff1a89 100644
--- a/jbmc/regression/janalyzer-taint/taint-basic1/test.desc
+++ b/jbmc/regression/janalyzer-taint/taint-basic1/test.desc
@@ -1,6 +1,6 @@
CORE
basic1
---taint taint.json
+--taint taint.json -cp target/classes
^EXIT=0$
^SIGNAL=0$
^file basic1.java line 8( function .*)?: There is a T1 flow \(taint rule my_h1\)$
diff --git a/jbmc/regression/janalyzer-taint/taint-basic2/basic2.class b/jbmc/regression/janalyzer-taint/taint-basic2/basic2.class
deleted file mode 100644
index de24af2b462..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-basic2/basic2.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-basic2/pom.xml b/jbmc/regression/janalyzer-taint/taint-basic2/pom.xml
new file mode 100644
index 00000000000..5d746a830a3
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/taint-basic2/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint.taint-basic2
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-basic2/basic2.java b/jbmc/regression/janalyzer-taint/taint-basic2/src/main/java/basic2.java
similarity index 100%
rename from jbmc/regression/janalyzer-taint/taint-basic2/basic2.java
rename to jbmc/regression/janalyzer-taint/taint-basic2/src/main/java/basic2.java
diff --git a/jbmc/regression/janalyzer-taint/taint-basic2/test.desc b/jbmc/regression/janalyzer-taint/taint-basic2/test.desc
index b855f1c4101..ad86971f6e1 100644
--- a/jbmc/regression/janalyzer-taint/taint-basic2/test.desc
+++ b/jbmc/regression/janalyzer-taint/taint-basic2/test.desc
@@ -1,6 +1,6 @@
CORE
basic2
---taint taint.json
+--taint taint.json -cp target/classes
^EXIT=0$
^SIGNAL=0$
^file basic2.java line 8( function .*)?: There is a T1 flow \(taint rule my_h1\)$
diff --git a/jbmc/regression/janalyzer-taint/taint-interface1/interface1.class b/jbmc/regression/janalyzer-taint/taint-interface1/interface1.class
deleted file mode 100644
index 056ea5d7b3a..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-interface1/interface1.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-interface1/my_I.class b/jbmc/regression/janalyzer-taint/taint-interface1/my_I.class
deleted file mode 100644
index f2560c4dda7..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-interface1/my_I.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-interface1/pom.xml b/jbmc/regression/janalyzer-taint/taint-interface1/pom.xml
new file mode 100644
index 00000000000..6281b32d4a1
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/taint-interface1/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint.taint-interface1
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-interface1/some_class.class b/jbmc/regression/janalyzer-taint/taint-interface1/some_class.class
deleted file mode 100644
index b3261423efd..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-interface1/some_class.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-interface1/interface1.java b/jbmc/regression/janalyzer-taint/taint-interface1/src/main/java/interface1.java
similarity index 100%
rename from jbmc/regression/janalyzer-taint/taint-interface1/interface1.java
rename to jbmc/regression/janalyzer-taint/taint-interface1/src/main/java/interface1.java
diff --git a/jbmc/regression/janalyzer-taint/taint-interface1/test.desc b/jbmc/regression/janalyzer-taint/taint-interface1/test.desc
index f2ffa5e6bda..633afc7c0c8 100644
--- a/jbmc/regression/janalyzer-taint/taint-interface1/test.desc
+++ b/jbmc/regression/janalyzer-taint/taint-interface1/test.desc
@@ -1,6 +1,6 @@
CORE
interface1
---taint taint.json
+--taint taint.json -cp target/classes
^EXIT=0$
^SIGNAL=0$
^file interface1.java line 18( function .*)?: There is a flow! \(taint rule sink_rule\)$
diff --git a/jbmc/regression/janalyzer-taint/taint-interproc1/interproc1.class b/jbmc/regression/janalyzer-taint/taint-interproc1/interproc1.class
deleted file mode 100644
index 6d8559b3085..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-interproc1/interproc1.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-interproc1/pom.xml b/jbmc/regression/janalyzer-taint/taint-interproc1/pom.xml
new file mode 100644
index 00000000000..b328a1349ba
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/taint-interproc1/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint.taint-interproc1
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-interproc1/interproc1.java b/jbmc/regression/janalyzer-taint/taint-interproc1/src/main/java/interproc1.java
similarity index 100%
rename from jbmc/regression/janalyzer-taint/taint-interproc1/interproc1.java
rename to jbmc/regression/janalyzer-taint/taint-interproc1/src/main/java/interproc1.java
diff --git a/jbmc/regression/janalyzer-taint/taint-interproc1/test.desc b/jbmc/regression/janalyzer-taint/taint-interproc1/test.desc
index 54a2d1ae140..94800305b3a 100644
--- a/jbmc/regression/janalyzer-taint/taint-interproc1/test.desc
+++ b/jbmc/regression/janalyzer-taint/taint-interproc1/test.desc
@@ -1,6 +1,6 @@
CORE
interproc1
---taint taint.json
+--taint taint.json -cp target/classes
^EXIT=0$
^SIGNAL=0$
^file interproc1.java line 13( function .*)?: There is a T1 flow \(taint rule my_h1\)$
diff --git a/jbmc/regression/janalyzer-taint/taint-map1/map1.class b/jbmc/regression/janalyzer-taint/taint-map1/map1.class
deleted file mode 100644
index 46876c31837..00000000000
Binary files a/jbmc/regression/janalyzer-taint/taint-map1/map1.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer-taint/taint-map1/pom.xml b/jbmc/regression/janalyzer-taint/taint-map1/pom.xml
new file mode 100644
index 00000000000..162ded92a26
--- /dev/null
+++ b/jbmc/regression/janalyzer-taint/taint-map1/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer-taint.taint-map1
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer-taint
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer-taint/taint-map1/map1.java b/jbmc/regression/janalyzer-taint/taint-map1/src/main/java/map1.java
similarity index 100%
rename from jbmc/regression/janalyzer-taint/taint-map1/map1.java
rename to jbmc/regression/janalyzer-taint/taint-map1/src/main/java/map1.java
diff --git a/jbmc/regression/janalyzer-taint/taint-map1/test.desc b/jbmc/regression/janalyzer-taint/taint-map1/test.desc
index 850c9775508..65b4d101cf8 100644
--- a/jbmc/regression/janalyzer-taint/taint-map1/test.desc
+++ b/jbmc/regression/janalyzer-taint/taint-map1/test.desc
@@ -1,6 +1,6 @@
CORE
map1
---taint taint.json
+--taint taint.json -cp target/classes
^EXIT=0$
^SIGNAL=0$
^file map1.java line 12( function .*)?: There is a flow \(taint rule my_sink\)$
diff --git a/jbmc/regression/janalyzer/pom.xml b/jbmc/regression/janalyzer/pom.xml
new file mode 100644
index 00000000000..7131df0cd6a
--- /dev/null
+++ b/jbmc/regression/janalyzer/pom.xml
@@ -0,0 +1,22 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer
+ 1.0-SNAPSHOT
+ pom
+
+
+ org.cprover.regression
+ regression
+ 1.0-SNAPSHOT
+
+
+
+ string-initializer
+ too-many-args
+
+
+
diff --git a/jbmc/regression/janalyzer/string-initializer/Basic1.class b/jbmc/regression/janalyzer/string-initializer/Basic1.class
deleted file mode 100644
index 49e41ebb0be..00000000000
Binary files a/jbmc/regression/janalyzer/string-initializer/Basic1.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer/string-initializer/pom.xml b/jbmc/regression/janalyzer/string-initializer/pom.xml
new file mode 100644
index 00000000000..9759342d102
--- /dev/null
+++ b/jbmc/regression/janalyzer/string-initializer/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer.string-initializer
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer/string-initializer/Basic1.java b/jbmc/regression/janalyzer/string-initializer/src/main/java/Basic1.java
similarity index 100%
rename from jbmc/regression/janalyzer/string-initializer/Basic1.java
rename to jbmc/regression/janalyzer/string-initializer/src/main/java/Basic1.java
diff --git a/jbmc/regression/janalyzer/string-initializer/test.desc b/jbmc/regression/janalyzer/string-initializer/test.desc
index 67e49735084..e8cfb892f55 100644
--- a/jbmc/regression/janalyzer/string-initializer/test.desc
+++ b/jbmc/regression/janalyzer/string-initializer/test.desc
@@ -1,6 +1,6 @@
CORE
Basic1
---location-sensitive --constants --show
+--location-sensitive --constants --show -cp target/classes
^EXIT=0$
^SIGNAL=0$
Hello_20 := \{ "java::java\.lang\.String" \}
diff --git a/jbmc/regression/janalyzer/too-many-args/A.class b/jbmc/regression/janalyzer/too-many-args/A.class
deleted file mode 100644
index af02287ac8e..00000000000
Binary files a/jbmc/regression/janalyzer/too-many-args/A.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer/too-many-args/B.class b/jbmc/regression/janalyzer/too-many-args/B.class
deleted file mode 100644
index 7ca3e5dbbb7..00000000000
Binary files a/jbmc/regression/janalyzer/too-many-args/B.class and /dev/null differ
diff --git a/jbmc/regression/janalyzer/too-many-args/pom.xml b/jbmc/regression/janalyzer/too-many-args/pom.xml
new file mode 100644
index 00000000000..14a0bdfde69
--- /dev/null
+++ b/jbmc/regression/janalyzer/too-many-args/pom.xml
@@ -0,0 +1,30 @@
+
+
+ 4.0.0
+ org.cprover.regression
+ regression.janalyzer.too-many-args
+ 1.0-SNAPSHOT
+
+
+ org.cprover.regression
+ regression.janalyzer
+ 1.0-SNAPSHOT
+
+
+
+
+
+ maven-jar-plugin
+
+
+ default-jar
+ none
+
+
+
+
+
+
+
diff --git a/jbmc/regression/janalyzer/too-many-args/A.java b/jbmc/regression/janalyzer/too-many-args/src/main/java/A.java
similarity index 100%
rename from jbmc/regression/janalyzer/too-many-args/A.java
rename to jbmc/regression/janalyzer/too-many-args/src/main/java/A.java
diff --git a/jbmc/regression/janalyzer/too-many-args/test.desc b/jbmc/regression/janalyzer/too-many-args/test.desc
index a705ba56b72..de7054254ca 100644
--- a/jbmc/regression/janalyzer/too-many-args/test.desc
+++ b/jbmc/regression/janalyzer/too-many-args/test.desc
@@ -1,6 +1,6 @@
CORE
A
-B
+B -cp target/classes
Please give exactly one class name, and/or use -jar jarfile or --gb goto-binary
^EXIT=1$
^SIGNAL=0$
diff --git a/jbmc/regression/pom.xml b/jbmc/regression/pom.xml
index 9cb0f685389..37525b8d080 100644
--- a/jbmc/regression/pom.xml
+++ b/jbmc/regression/pom.xml
@@ -14,6 +14,8 @@
+ janalyzer
+ janalyzer-taint
jbmc