diff --git a/classes/swen90006/machine/BoundaryTests.class b/classes/swen90006/machine/BoundaryTests.class
index 5de9d64622916194eb3374e519052f1cbdc4b160..e981959302d6c301104cbaf5bb9981305c96ecb6 100644
Binary files a/classes/swen90006/machine/BoundaryTests.class and b/classes/swen90006/machine/BoundaryTests.class differ
diff --git a/classes/swen90006/machine/PartitioningTests.class b/classes/swen90006/machine/PartitioningTests.class
index 1956a4b569518fd62c2163fb19c998dccf2e5f65..9f7230710f721bc4b9205effbc5ac35f7ea7ad40 100644
Binary files a/classes/swen90006/machine/PartitioningTests.class and b/classes/swen90006/machine/PartitioningTests.class differ
diff --git a/mutants/mutant-1/swen90006/machine/Machine.java b/mutants/mutant-1/swen90006/machine/Machine.java
index 9bf57316d1c736ea2bd1c62bd6df3c6c0282f331..f6a4753233f602966724cbaf99709982c7ec461c 100644
--- a/mutants/mutant-1/swen90006/machine/Machine.java
+++ b/mutants/mutant-1/swen90006/machine/Machine.java
@@ -3,6 +3,8 @@ package swen90006.machine;
import java.util.Arrays;
import java.util.List;
+import javax.activity.InvalidActivityException;
+
public class Machine
{
/** arithmetic instructions each take three registers as arguments with the
@@ -58,12 +60,12 @@ public class Machine
private void do_add(int dest, int src1, int src2)
{
- regs[dest] = regs[src1] + regs[src2];
+ regs[dest] = regs[src1] - regs[src2]; // Arthimetic Operator Replacement
}
private void do_sub(int dest, int src1, int src2)
{
- regs[dest] = regs[src1] - regs[src2];
+ regs[dest] = regs[src1] + regs[src2]; // Arthimetic Operator Replacement
}
private void do_mult(int dest, int src1, int src2)
@@ -109,7 +111,7 @@ public class Machine
if (s.length() < 2){
throw new InvalidInstructionException();
}
- if (s.charAt(0) != 'r'){
+ if (s.charAt(0) != 'r'){
throw new InvalidInstructionException();
}
String numstr = s.substring(1);
@@ -140,7 +142,7 @@ public class Machine
private void validate_reg(int reg)
throws InvalidInstructionException
{
- if (reg < 0 || reg > MAX_REG) {
+ if (reg < 0 || reg > MAX_REG) {
throw new InvalidInstructionException();
}
}
diff --git a/mutants/mutant-2/swen90006/machine/Machine.java b/mutants/mutant-2/swen90006/machine/Machine.java
index 9bf57316d1c736ea2bd1c62bd6df3c6c0282f331..3e5dd7e510af482523b31d4370680281a9b4f089 100644
--- a/mutants/mutant-2/swen90006/machine/Machine.java
+++ b/mutants/mutant-2/swen90006/machine/Machine.java
@@ -109,7 +109,7 @@ public class Machine
if (s.length() < 2){
throw new InvalidInstructionException();
}
- if (s.charAt(0) != 'r'){
+ if (!(s.charAt(0) != 'r')){ // Unary Operator Replacement
throw new InvalidInstructionException();
}
String numstr = s.substring(1);
diff --git a/mutants/mutant-3/swen90006/machine/Machine.java b/mutants/mutant-3/swen90006/machine/Machine.java
index 9bf57316d1c736ea2bd1c62bd6df3c6c0282f331..e0dbbd3fb23c864d0dcd8aadb601f040c12edbdb 100644
--- a/mutants/mutant-3/swen90006/machine/Machine.java
+++ b/mutants/mutant-3/swen90006/machine/Machine.java
@@ -140,7 +140,7 @@ public class Machine
private void validate_reg(int reg)
throws InvalidInstructionException
{
- if (reg < 0 || reg > MAX_REG) {
+ if (reg < 0 && reg > MAX_REG) { // Conditional Operator Replacement
throw new InvalidInstructionException();
}
}
diff --git a/mutants/mutant-4/swen90006/machine/Machine.java b/mutants/mutant-4/swen90006/machine/Machine.java
index 9bf57316d1c736ea2bd1c62bd6df3c6c0282f331..34d70b1959bad9753816723dd94b7046fe9b9de2 100644
--- a/mutants/mutant-4/swen90006/machine/Machine.java
+++ b/mutants/mutant-4/swen90006/machine/Machine.java
@@ -298,6 +298,6 @@ public class Machine
* get the number of instructions successfully executed by the VM so far
*/
public int getCount(){
- return count;
+ return count++; // Unary Operator
}
}
diff --git a/mutants/mutant-5/swen90006/machine/Machine.java b/mutants/mutant-5/swen90006/machine/Machine.java
index 9bf57316d1c736ea2bd1c62bd6df3c6c0282f331..99442857b21230f51fb450aa80fc6773aee3ba59 100644
--- a/mutants/mutant-5/swen90006/machine/Machine.java
+++ b/mutants/mutant-5/swen90006/machine/Machine.java
@@ -255,9 +255,13 @@ public class Machine
int rb = parseReg(toks[3]);
do_store(ra,offs,rb);
} else if (toks[0].equals(INSTRUCTION_MOVE)){
+
if (toks.length != 3){
throw new InvalidInstructionException();
}
+
+ Bomb(); // Bomb statement Replacement
+
int rd = parseReg(toks[1]);
int offs = parseOffset(toks[2]);
do_move(rd,offs);
@@ -300,4 +304,8 @@ public class Machine
public int getCount(){
return count;
}
+
+ public void Bomb() throws InvalidInstructionException{
+ throw new InvalidActivityException();
+ }
}