From 09ca25fb12badf156fbad1c91ae0e3703105f753 Mon Sep 17 00:00:00 2001
From: Junhan Yang <junhany@student.unimelb.edu.au>
Date: Fri, 31 Aug 2018 19:12:02 +1000
Subject: [PATCH] Task 6 mutant modifications

---
 classes/swen90006/machine/Machine.class       | Bin 4003 -> 4003 bytes
 .../mutant-5/swen90006/machine/Machine.java   |   2 +-
 src/swen90006/machine/Machine.java            |  30 +++++++++---------
 3 files changed, 16 insertions(+), 16 deletions(-)

diff --git a/classes/swen90006/machine/Machine.class b/classes/swen90006/machine/Machine.class
index bc67cdff3d66160515599de443f4aea563326bac..e8ad0e469a8f1238f60c863da1415d3ab8a51b74 100644
GIT binary patch
delta 1801
zcmZ21zgWKh)W2Q(7#J8#7>=?t6mT(EF%)t#FftS|GcYnRfLO&KqJ)`&;s1Xw1`&o*
zc7`%822O@T5T_hORB$m=GE}iMRC6&fGSq;GTIT=%85p@4>KN)lL<2iRBS>Kr2SYOl
zLko!6%E8da!O+gdAX3lJ0TSrsVCdpt=mzQT0TI0%41FNFpMzlnh@Qy7FbPCY=3tn@
z!7vrXoCYGMb1=*R(K9(1W`XG091L?f80K;^%ww3(&ai-s!HA)dgJB_vUIZc*b1^Jo
zSjx_@jElj7p^%+n`Nn^b7}*Qh85-FcswY2ZS}ViIAX!|VnrCTXU|^=7o0y!DnU|{X
z3!yhpVcx*FIe}G^sh*L+ih+SakU^5cn!$#Fk-?UMfq{uZjzN;a4vDYGAjx2l#8+mJ
zWN<*@t1?J3I3n@Y86+8;koX!5k_^sBd~F6v1{V-t18SizgCv71NC3*$XOLuYL*g4u
zHsH_~WMPnG@MZ9TJCl8K0f(_PlNR$<24*cGmOWfs8CbOh6hJf^Sa9+_4mln+X{{{`
zY%+Qva`FofB~$@1PBZ}*P9+I8S-n{dY|9zMKzfk1*Kz7-u*vAjCJ3=F0Vz-cDFE^3
zfOv4_tRUgZmpJvc*`)PkP!xmsaK&JCAQ7;79WEV4w#kuPie4P7ix{|fGjK+3XW-he
z&Ag3)TcBt@k_gK-1|DB#JDnX2ymreOc&%7qYPDpyGw{o<VPIs?V$f$WV&I#6giDK&
zbMkvGX?b4T<qSN2aFsIK83bfNDw!DA8MqkuCTnu5GICD#=T?%3*t?N|fq{`Bih+TF
zg@K8SogoFxVr1Z)Jb_!nQ*a>zr!*)O;O<0G&x53%fq@~DA&Y^TA%uZ}xtD>3fs28G
z*^}9p*-m>WgV5xU+@kfuObiDYM66gPS+_BW3W*7cZ)1=Uk_1yAK_RJa4ANF?l5EUI
zV6ON!2AP=*BC;$Ac3P2J7?@cSwlXj;|G&D0iBXbONEWJiA95&y^a{y=_1Q|Y?PEs@
zPA$oLHWs7p4Dx2|T9Rz6U>1j#BpVx;#i=FAF3KUwxt&2_Ia40k7)2b$5M_$eawZM1
zDar^_>QP)nlrbvH86Sa-QAHR-x+!YQ8Rtl{G1nUjse_G?*OG+W4i8vR;uK}qTLZRE
z1FQ}+2;th$Lr~KU5rSIF8TG)XXrr1^4^8SwwnL23G{Y7VI?EYefQ``w8)GQRwvP>;
z-$AB;B5^x|-g1U@V4eD4oqCdN`&j2QaM#0g1;qQBX6&+}>?n!rZ!lP&0a%|WF*a^t
zU=wB6o5jE_E6R~zx150;ExG<>+{9qGo53h@JA<LIkjXX%Q&8$R-Ns<Hjlmr5Ab2c*
ibT9vNZa0HP<aP$j$%g!H%$y7sldJd@IhfZlfB^u4pjdGL

delta 1799
zcmZ21zgWKh)W2Q(7#J9g8IE!>STPiEGFUPcGBYqTFo0M^AflL=f#LsuE(T$S5_X1C
zE(Q*U0uZMRM3i$eR4`PsGgNUgSTa<Dh#Kbq{}~v$8EP5oKtw$|Ljy=*BL_nh2SYQ6
z*}}ol%E8bEVzzVDGYB(ua4>XoFm!=*cY}x?4u)P3-N(Vu527b<FiZr|lQ<YAb1+N+
zF{grvX&emGLG%m`hM6FG76-#@4u(0L409Rgu`|r)VlZSV;9yt)q8EaQMO+Mv8J4g!
zEahS_XDDE2SjNt<eB-}IjO@$U85-CbswO{YTDy4z^9DvK$>Q?VJWB%u12g^H#N>?3
zyi|Q(2)#LuRhy~alEI3BfkBW#lEIq6hJlg6mVtqRi9wb@lEDs%ufQP5V2{LCVvuBT
zK;o+~NHRDg@zoe48Jv*#>I{+$&PaSM21y1N5MKjop$>y2gDXe?%GYC%WN<^`>rXb|
z&=+K8kYw;>@PIp$ZE^vJu{5I=^Hv5XEg|MTTw57fv;-7DG%Hwe@;(kZ9#(0sEexzO
zdLVN03l1ez0WnTA0T)gs307IXSqyB;8N@((khRxw>S(aa=*cDsu`K~9Pys0b@#lbe
zaOEr@;mMac^|e{0^<+>KgZOa8V09o7uzDRX9Y)s4kz9&i?5v9zxOX#fL~du`+^@~N
zje$#`Xg-n%%QgmXUuHX<9Sl5n%NcmBSYT?kWVbW$$*y5wWYA*JXE0*moqU8#i;-jU
zdoF2t9^2&%JbrMMGTRyWWk4#K7}y!O7<eaZa;q|OO!ntil84y4k%57Mks*qKfq{jA
ziHn^f1<Yb(;FvstTf$RdAp@s0C=}rCL{ZO!q@IC+A(J7CftewMfq}V~frWvKfq~hR
z*_PQ(dnbe7<d58<^+HSx2N;B{SS4AvF^C9>3W;rF5EqgFQy@Vh$!!c$R&0`N%tm0Y
z*fs{~nG7PbED3g6ky{v;SQ54}FfISTx`l~Rl2u3ss(2rAD1!6~$%6ISO0w-^M+#0Y
z$$B;xqwNfGX6#y$Y^-1whn6H88<@qZCCV<!A<DU(L4G+?9@rQK9L5l3isEu64X`On
z2vh1&Ttk#G%F7uafsIi?7(==#s>>PYNU|~48wsg_jgi-qgxd}eSWw~=W!GB+woV<a
z4l@Yh+R#H#!weCEn#&pWz@})Sno<u<>PWUjjL|T|77^OZ8D4;m(E%G{D9N^u4WHjZ
zrhp=GJA>|WhIL?_dSIP;l5G1}=QD8E!*d11`x<8KvZCxLiR*7LSf4&vpC>UkZed^*
zW!Ia<z%47vkzlu+fgLTm{$<?6V6dCPFmgMCp^=dBHU<+=>NnZOV7iUL4DKL!EP!+`
g|8s6PgL&k328+pt{BFz~4Ca%o_!T*r)-Zqp0Iru?JOBUy

diff --git a/mutants/mutant-5/swen90006/machine/Machine.java b/mutants/mutant-5/swen90006/machine/Machine.java
index 27c8d4f..b2fa4d1 100644
--- a/mutants/mutant-5/swen90006/machine/Machine.java
+++ b/mutants/mutant-5/swen90006/machine/Machine.java
@@ -82,7 +82,7 @@ public class Machine
 
   private void do_load(int dest, int src, int offs) {
     // Relational Operator Replacement
-    if (regs[src] + offs => MAX_ADDR){
+    if (regs[src] + offs >= MAX_ADDR){
       /* no op */
     }else if(regs[src] + offs < 0){
       /* no op */
diff --git a/src/swen90006/machine/Machine.java b/src/swen90006/machine/Machine.java
index 9bf5731..1e17b30 100644
--- a/src/swen90006/machine/Machine.java
+++ b/src/swen90006/machine/Machine.java
@@ -3,7 +3,7 @@ package swen90006.machine;
 import java.util.Arrays;
 import java.util.List;
 
-public class Machine 
+public class Machine
 {
   /** arithmetic instructions each take three registers as arguments with the
    *  destination register appearing first
@@ -12,13 +12,13 @@ public class Machine
   /** add rd rs1 rs2   =~   rd = rs1 + rs2 */
   public static final String INSTRUCTION_ADD = "add";
 
-  /** sub rd rs1 rs2   =~   rd = rs1 - rs2 */    
+  /** sub rd rs1 rs2   =~   rd = rs1 - rs2 */
   public static final String INSTRUCTION_SUBTRACT = "sub";
 
-  /** mul rd rs1 rs2   =~   rd = rs1 * rs2 */        
+  /** mul rd rs1 rs2   =~   rd = rs1 * rs2 */
   public static final String INSTRUCTION_MULT = "mul";
 
-  /** div rd rs1 rs2   =~   rd = rs1 / rs2 */            
+  /** div rd rs1 rs2   =~   rd = rs1 / rs2 */
   public static final String INSTRUCTION_DIVIDE = "div";
 
   /** ret rs           =~   return rs */
@@ -38,17 +38,17 @@ public class Machine
 
   /** jz ra offs       =~   if (ra == 0) pc = pc + offs else pc = pc + 1 */
   public static final String INSTRUCTION_JZ = "jz";
-    
+
   public static final int NUM_REGS = 32;
   public static final int MAX_REG = (NUM_REGS - 1);
   public static final int MEMORY_SIZE = 65536; /* 4 x as much memory as a 64 */
   public static final int MAX_ADDR = MEMORY_SIZE-1;
-    
+
   private int[] memory;
   private int[] regs;
 
   private int count = 0; /* counts number of instructions executed so far */
-    
+
   public Machine()
   {
     memory = new int[MEMORY_SIZE];
@@ -60,17 +60,17 @@ public class Machine
   {
     regs[dest] = regs[src1] + regs[src2];
   }
-    
+
   private void do_sub(int dest, int src1, int src2)
   {
     regs[dest] = regs[src1] - regs[src2];
   }
-    
+
   private void do_mult(int dest, int src1, int src2)
   {
     regs[dest] = regs[src1] * regs[src2];
   }
-    
+
   private void do_div(int dest, int src1, int src2)
   {
     if (regs[src2] == 0){
@@ -152,16 +152,16 @@ public class Machine
       throw new InvalidInstructionException();
     }
   }
-    
+
   /** Execute an assembly program.
    *
-   * @param prog is the program to execute as an iterable collection of strings, 
+   * @param prog is the program to execute as an iterable collection of strings,
    *        each of which is a single instruction.
    * @return the program's return value.
-   * @throws Exception when program has unrecognised or 
+   * @throws Exception when program has unrecognised or
    *         invalid instructions, or when it returns no result when it finishes
    */
-  int execute(List<String> instructions) 
+  int execute(List<String> instructions)
     throws InvalidInstructionException,
 	   NoReturnValueException
   {
@@ -180,7 +180,7 @@ public class Machine
 	break;
       }
       String inst = instructions.get(pc);
-      /* strip leading and trailing whitespace */ 
+      /* strip leading and trailing whitespace */
       inst = inst.toLowerCase().replaceAll("^\\s+","").replaceAll("\\s+$","");
       /* strip out any comments */
       String[] toks = inst.split(";");
-- 
GitLab