From a207f29f15bee07102d5a514c56a5a66ff2b35f4 Mon Sep 17 00:00:00 2001
From: aalsaqer <aalsaqer@student.unimelb.edu.au>
Date: Fri, 31 Aug 2018 14:42:01 +1000
Subject: [PATCH] new examples

---
 build.xml                                     |  47 ++++++++++--------
 classes/swen90006/machine/BoundaryTests.class | Bin 2225 -> 2765 bytes
 classes/swen90006/machine/BugException.class  | Bin 387 -> 659 bytes
 .../machine/InvalidInstructionException.class | Bin 266 -> 266 bytes
 classes/swen90006/machine/Machine.class       | Bin 4003 -> 4300 bytes
 .../machine/NoReturnValueException.class      | Bin 256 -> 256 bytes
 .../swen90006/machine/PartitioningTests.class | Bin 2229 -> 2214 bytes
 classes/swen90006/machine/SimpleDriver.class  | Bin 2109 -> 2297 bytes
 examples/array.s                              |   3 +-
 .../swen90006/machine/BugException.java       |  14 +++---
 test/swen90006/machine/BoundaryTests.java     |  25 +++++++++-
 11 files changed, 60 insertions(+), 29 deletions(-)

diff --git a/build.xml b/build.xml
index 658996f..3386c31 100644
--- a/build.xml
+++ b/build.xml
@@ -16,28 +16,35 @@
     </target>
 
     <target name="partitioning" depends="classes">
-        <junit printsummary="yes" fork="yes" haltonfailure="yes">
-	    <classpath>
-                <pathelement path="classes/"/>
-                <pathelement path="lib/junit-4.11.jar"/>
-                <pathelement path="lib/hamcrest-core-1.3.jar"/>
-            </classpath>
-            <formatter type="plain"/>
-            <test name="swen90006.machine.PartitioningTests"/>
-        </junit>
+      <parallel threadCount="1" timeout="5000">
+            <sequential>
+              <junit printsummary="yes" fork="yes" haltonfailure="yes">
+		<classpath>
+                  <pathelement path="classes/"/>
+                  <pathelement path="lib/junit-4.11.jar"/>
+                  <pathelement path="lib/hamcrest-core-1.3.jar"/>
+		</classpath>
+		<formatter type="plain"/>
+		<test name="swen90006.machine.PartitioningTests"/>
+              </junit>
+            </sequential>
+        </parallel>
     </target>
 
-    <target name="boundary" depends="classes">
-        <junit printsummary="yes" fork="yes" haltonfailure="yes">
-	    <classpath>
-                <pathelement path="classes/"/>
-                <pathelement path="lib/junit-4.11.jar"/>
-                <pathelement path="lib/hamcrest-core-1.3.jar"/>
-            </classpath>
-            <formatter type="plain"/>
-            <test name="swen90006.machine.BoundaryTests"/>
-        </junit>
+   <target name="boundary" depends="classes">
+        <parallel threadCount="1" timeout="5000">
+            <sequential>
+                <junit printsummary="yes" fork="yes" haltonfailure="yes">
+        	    <classpath>
+                        <pathelement path="classes/"/>
+                        <pathelement path="lib/junit-4.11.jar"/>
+                        <pathelement path="lib/hamcrest-core-1.3.jar"/>
+                    </classpath>
+                    <formatter type="plain"/>
+                    <test name="swen90006.machine.BoundaryTests"/>
+                </junit>
+            </sequential>
+        </parallel>
     </target>
 
-
 </project>
diff --git a/classes/swen90006/machine/BoundaryTests.class b/classes/swen90006/machine/BoundaryTests.class
index 75ca15dbf4f906cd2b7beec235fa91a8de079579..5de9d64622916194eb3374e519052f1cbdc4b160 100644
GIT binary patch
delta 1374
zcmdlecviIj)W2Q(7#JAL7$$KsXft@SGC%+m7lRjrH#>t57XvGUCkKNsH-j649|wa!
zhz<Zr268Y2aWQBy1hX@Qa53;Pc!G#fn0{S$hA=J$VUX5vm>4riTLcF~BnLwj2SYSi
z*p7jLA%%k>hKs?KA(o3Fjv=0%A%Tk_ks*nTA(<hCogtNzA&nuOgCT>9A(J7Ci$R4U
zn~NchA%~qImz^PR;_4HO`IAc+jq8Oy^U4x)GE+SBic5-0lS?x5^NJZ6^nHrUQ}Zkh
z3=GWla}$#@GV@aPF%`O2B&QaDbXYSo2>X`ilw=l^=A;IdmZTQtg`^gjFfvH_<(Ift
zB$t+?h8N}MrK4IRP?VZDc{QUOO94AW;pBgep7lBmy6g-^JPgGQC5#NhS&3zd`lThA
zIr@%8MTwO@nIIDx6L}a)8Oj(L7?XGy${EUd7%CVl85vBRtztrpQ;UjY9D_rHW70EA
zVuHh6{lGrZbu`p9GBC7=Nv%lCEyzhNj!6WWr&r9w;Kbm}$RG*x>*S?O!pv0+)suHK
z>DL!C)G#twl5T8#a(+RjUNIws6-jz?LBSW4T2fk+2hwa_Pm=DG%(D2B)Z!A5R@TrE
zH(d)JhFXR?c7}Q$h6aX4Mg{?JVCE#|rRxWm6lLb6vokdDFf=o?ursvsFtjnW!@?V^
z#I+)s4-&KN3>`cSoeW)*-I#R+x_KCS7<zda`WX6o7$z`G+}zB}%UrL;pbbv@JPeEs
zIt;oDj0}1V3=Dz{j0}tn3=FJV+Zh-)f)y|_=riatFoC6c85qFQP$>fj1_m|;Mg~K$
zun{3;#$aV8U}cPYlLgqNMPVkGf~CyBQhJje*v-*o%%L(p?7C<&77V%!%nW*y&#_CY
zSTZm$urM$(STTUi<z`@HFlAt5uuf*MVPIsig&M)lAzKfU200vJtsO*$fq_AZfr){c
zfq_9xOGt7%1Fz3+2ENGc4E(-2+S?ce!Xe=S(u-uYJp&_y1Ka=&1{MYu1_lNhEg>lk
z1MFm5Id?FyY-Feh1uV!Mgc}^;Mrc8ekkb;9#%6>FgACXZbTgPh*#a6*X$;H^paREO
zNNxv%yf35Q4h98n=DiGx+ZdE|b}$4f`z>dXv|`!Bpem%cjX_-!#M;K7!LoxvQ+ERc
zBLfG61cNk#3Iij93j+g#Bm>ib25ANsb_OkW21RxTS9S(B21a%U6;TFv1_lNu1`h@X
E0LCQ@F8}}l

delta 838
zcmX>rx>2zH)W2Q(7#J9g8M?U`)EJyu86bd(i@}A#m7T$ji-DEFnS;Tdo56#@lY_wv
zM0<lIeK;6=xfoO#{MZ@%xfu8uoIykYOusHWLm(G}Fi2|<OpF<%EtrELgo`1RA&iS5
zoFRf;har-SA&McIiy?*~mYpGvlOdiVfrBBDiy?_2nTtW5A%%+}o*|W;A&s3Oed68|
zj2V;L7>y^JFnRH&u`@)nGi0(eWU({EO>ScH3|42*U}wnYVaQ>~Wn>V}N-Rs%FD=Q;
z(RVB=O04wBEG}VWU`%9Z$l_thW5{P@U`*m+C}7CvVJKuMVq_3Vtw_u*$Vn~MPXsB~
zE9POaWU!iS&n(AW%uq5pfmz=!hoO{_fi*P5P1k~*A(MxpjG>&Jp@N5@lA(%`K>%!D
zPGVlVesD=qW?niwLp2XW4MQzELmdx8JwwCfS{4bmMjnPHhUUq$S#$+jco<q4+ISe+
z89I0vIvKh)-(cZou2*GH1IGX-10#bvg9Za5gC+w5gCGMV10w?i1FP0{2F8tG1&j<@
z3>pkfU};_k2Cy_#N}GX!fsKKYK?f|XOGud>SeZUpnIXtFF$NX}W(EcZE)fPM5eB9m
z3@i{UVdffuH5h_5XilEWVJ?a)V+56X$e|mADr3x`!N3f5vIqkc*vTBb8H6LZGl=X5
zd&-1?fq{jAk-?M!q>r0{k->n0k-;pP!JL7S!2)V*0;g;}NE+ltkW-jI5d{s2GzMk{
zP<k^KlH9={<;&=|gF#xGc`t*^HU?Rp9Sm}Q%NZoCST->z2q|u3P?7|(wlOHP>|jvQ
z-N3-ez`-EFAk84pz{p_Dz`!8M!1SL%nt_F#!G@i|mYu<loxz@gk)6Rol#9WUfq{XE
I!HIzZ0DiW0NdN!<

diff --git a/classes/swen90006/machine/BugException.class b/classes/swen90006/machine/BugException.class
index f118d84a4f1eb3cda19ec8de216e3dc339d6090c..8ec803fc103ba36c5d6d192e2a60d3cdcc09c5d2 100644
GIT binary patch
literal 659
zcmX^0Z`VEs1_m<*Ss?}n25v3}76u-623~dsK1K#Mo6Nk-5<5l)Q4OE0#Ii*FoW#6z
z{os<K%)E4K%`ip=7U%qwR7M5?r~Leq;*z4o0^ih<jQo^hel`Yv4h8`p20;cP9tKth
zHbw@y;_}oyO9KM~GyUAe<c!R`RDGw?bk~aH)Pj=C{5(bmVT28EQ7#5y1`$RE&B**x
zg_5Go^z_uC)D(sMyi|q!G=-9kRE6Ty<kF(dl1hc7()40QE=EQM@!Z7hROkG><iwKj
z%#sY}{Ji3l#JrMXMg}!(p1|}MJA)|5-I9z9DhL;4=9T4Vr$W6BG2JaOxg@`+lAS@C
zk%7%8KR>&)fRTa6GcPZ-$T=smxHz?#kzoe1l~6MvLFAE`my(lOtOC(!jp+;|5fqIf
zl?AC-lt&|}_fN`7O)jz4L=u7;;hdP06P#I+YR%3d!^ohD;XiC{V`PxSuZ}^Hfti7Y
z0R$Ks7(ubkz{tSPz`!8Rz{J1=N>p0fyBHW57`8JoZ3L-eU}BJ9U|`^4U}O+ukYW&L
UkYwOsU|`^2U}WHAU}WF|0HX7{O8@`>

delta 234
zcmbQt+RUtV>ff$?3=9m$43g{&JX{Qn47?l+d?1=1L<n#(a4-n6GYGLW2v3yKQV`Ed
zEKAhSNz6;v4=yRn%u9DF&CE$jE#hI|WDsFw(3rSXgP(^%ltGM#L7YJXB+4~0&0L6)
zfmuT{jFEvYv7jI|FNKjocj9Z+ET~><Mh1?Oe28(33?dquKIoQMGbl2!GjK3~03!n<
z11AH>ZQKkD3@QxF3``6R3=&$q85kqCGcXA;Z)0H5-p0VPje&JL1KUQB76t|Y`pPU)

diff --git a/classes/swen90006/machine/InvalidInstructionException.class b/classes/swen90006/machine/InvalidInstructionException.class
index b825f28f0bae9bc7d1352fc96ae041000ea4a729..b3f25d4547b9f1e25ba7bd67083bf90255f76e6c 100644
GIT binary patch
delta 17
YcmeBT>SE$J^>5cc1_lPRjT}sj05~`WQvd(}

delta 17
YcmeBT>SE$J^>5cc1_lP>jT}sj05~ZHPyhe`

diff --git a/classes/swen90006/machine/Machine.class b/classes/swen90006/machine/Machine.class
index bc67cdff3d66160515599de443f4aea563326bac..e06c46bfae2c3ecc1f099f913ef298b643eb2afc 100644
GIT binary patch
literal 4300
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
FvjL4ttAhXl

literal 4003
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
X7NLR+jNp2YRci|a(;86a#=rmosEtlI

diff --git a/classes/swen90006/machine/NoReturnValueException.class b/classes/swen90006/machine/NoReturnValueException.class
index 8e5254e009b57eb2894b9bb735e33962cd163259..dccdbed2d7ed8229a93d01ac2be229f43c10e792 100644
GIT binary patch
delta 16
XcmZo*YGC3x^>5cc1_lPRi5x!wGEW8+

delta 16
XcmZo*YGC3x^>5cc1_lP>i5x!wGD8Lt

diff --git a/classes/swen90006/machine/PartitioningTests.class b/classes/swen90006/machine/PartitioningTests.class
index af52566636122d3ab4edeca3dfd4fb3e867aa1db..1956a4b569518fd62c2163fb19c998dccf2e5f65 100644
GIT binary patch
delta 402
zcmdlgxJ<DA)W2Q(7#JAL7}~fP)EFFC86bd(i@}k>iJifji-DEFfrG(?o57aBm4m?z
zM7x6|JvbOVxfoO#yx1AMxfu8u96*E*OusHWgD)3@Fi5K(OpF<%&7XrIfQ!L~A&`q9
zh#{C=harTEA(SDEiy@pLf}J6flOc*Bnu8&Riy@XFj*CH_A)bpNiXnlWA(5RSY2xY=
zjLDNr7;9Nl*cnnM|6}wsPUB%nXUJe=5Y9?0OVlqd$;{DrEGkN@^vNtPVPs%T<YCBU
z$YNw*OyXh4X2{}U$YIEx+{9$YoX3zqc{h`OWI96uBLiz_h?}kj4?`hC5j#UM4?_t<
zDI<db*u<Q~ymbBGlA_GKbasX^9)@y;3U-D{9)>E0YM7;9C9W08sRbpO`FZRNH9QQp
z40V&;m~{o}c^DcP8hIF+7@Bz)S{Pb4H#1AHN~y9l$gnfmurt^)FtRhqi!#_TFfcGN
I*fTHy08_b2;s5{u

delta 417
zcmZ1`xK*(J)W2Q(7#J9g8M?U`)EJyu86bd(i@}A#m7T$ji-DEFnS;Tdo56#@lY_wv
zM0<lIeK;6=xfoO#{MZ@%xfu8uoIykYOusHWLm(G}Fi2|<OpF<%EtrELgo`1RA&iS5
zoFRf;har-SA&McIiy?*~mYpGvlOdiVfrBBDiy?_2nTtW5A%%+}o*|W;A&s3Oed6j9
zj2V+l7;Aac*cl?(88X=!ve+5oCVyr0Gt1^-$YIE3WDw3uEKAfcEy>K$cPuJOtn|q&
zE@5O~Ok`)s;$g^R$Y*3=OyXfEV94iTC}b#_T*hR^T+C21c|DVUOb$aSBLiz_h?}kj
zJ3}T9Lm5LkJ3|EzLnT8MBZC0g+?>R`bp7CxqRhN>c7|#mh8l)ic7{40hI)nunAKn<
zt`*6t1tppJdF%|0JPb_?&6CZUbp={@7+M+Hco^ClI(Qg58M-!?FiWsX*|0O%vNPDR
XGuSgQvNJe{GB`3YFfcJVF)#oCDr`=_

diff --git a/classes/swen90006/machine/SimpleDriver.class b/classes/swen90006/machine/SimpleDriver.class
index e2898a8d0db987dacaa7428260b0686b6d57b7e3..8005196bd7d3f94b52b969d55fc6d13d97071a75 100644
GIT binary patch
delta 1178
zcmdlh@Kdn<)W2Q(7#JAL7@FA`w7D2$7<4!pbQ$zG81%Uq3>XZB7#J8#xfpaA%s3d#
zxfnDUEVvjf8LZeDthpF$7;L#1>=^9X85}qm9Jv_y7@R<Qow*q_8C--I7(p5t8FaW9
z7#ZBS7~B~=gcz6@yf_%VK_Wgv49pCs?5qra><s=BXXo1nurma*GXya*aJg0_rxuiC
z=I0eNGDsGer{-B27#Nu8=O!j+Wag#n`$A|Q21N!Xc7|Xch7g9($%c%YNntz;;S3Rs
z3<6I1`6b0AMTrHzsU;ctDaHJ343QiRQ9KOM3^6<mu?%sH46LCcZn_pc4Dk#J><o!K
z3`q>hj0^%<iDilUIf;4c`oSednR)5#3@JPesSIiC4Cy=!84Q_|-!eL@W-(;*Fyt_V
z@-XBw<Z&?M^Dq=J6tXiE@h}uKlyESVf~+Z<yo$++gNLCUq@rT79P@n+E`~~mDn<sS
z$+e7%3XF^l;<<_0sm}R%$%!T5nI##{`FX`9iFqZ(j0~b0o|{uxHZn3QPqt=KVq}~w
z%ogb_6i}3(UX+-tP?TC+np0w>z{thOpswMAaI$A!Nosm(k+mk07{nXaj0_y<sU^<&
zrFkWc491h6Ga1!0vNKeJTw2e_pn@<XGp{T^I~D4Ch~wN6lS}f8D%lwt85!7o^7FGx
z3m6%AJoEBWi=1;3i;Gi>85w3Ey8~(lB<wvB^HOqBi&Y>Rt>I2ng9R}{C|w^#XGmp1
zs`X?;R=LTQY{K<WDd)tToZ!roRBLvICPoHT42NU0l#xLWzd8m*25ANv1_lO31}O$v
z1~~>s26+Ys1||jt1||kZP%>kvXJk-jU|<krU}RuqU|?X?+RnhVkpToa8B`cl8JIxQ
zj9d)N46F<c44bs}vCL<X*~Gvs#IlWnbrS=#*1lZ~Yzz$B7+6_$Ft7`8>|o&ZVf5X>
zz@^1(#Jrb*dm96f_6`PK-{lPAejsi9+Zb4NH!(18V-NsoV66As#2~1%lR=1)VHbli
z*r44EjFH<JMEn@7Safx^F^KM95VK<0#2_fivWr0+tYSHX4oHMqNMaiUt0W7=INf6m
zLYo+vb+<7{?qZMvs{`4vk%5Upoxzg9hJlYEh@q9CgMp8MkwFbyGO)@2&ts5bU}k4f
zXJ^o0XV7F|WM|+L{?A~}zycRz2L%l~1K%G86?O)`UkuC)S_}*fEDVecd<;wsbqov)
kpj=<W(7;g3Ajx3Fz`!8Iz`|h6z{p?%CSAd#Cz$jF023etxBvhE

delta 960
zcmew<xL2V5)W2Q(7#J9g8Ctj)lo?Do8B7_>I2g>i7%Uhp*%_?37+4uhI2f!!v<--`
z1rc^!45keB91IRz42}#=Tnx?(F6<1hTnugu?pzEW44&)^UK|YGTns`CJ|F{qIT-x7
z8T=Un*ck%37$g`>KtvE1Loh>#3<pCf$iy%XhHwss2o8owkX#fyLo_=>%*2*_^;mX>
zICh43b_OqYhCoIJF4v0W)Pj=C{Jdfw1`P&Hc7_BVhD3&>$p(y?%E>$oDGaHM4B}ad
zWr_MZiFxVz!6ikRdFf82nK>z`MT`uJlYN*K{dpMD7}7yR1`k6fLlzH1HbV|018ZoA
zo2~^rLmUr7E<+wWLp~2f0Yf1pg8;f|><mRb48;s3><pzm3}p=ElXo*Zb5}4_@-S2}
zBr!55O}1xM;$UZp=V7R3sF}>pD5qY_P{+<t&%@Bb(8$Oj5Kxq#UX+-tP?TC+np0w>
z0CGtaBLgGXWMw8RW=001$!u&!tUL_O3^kKeneOv4GO#5U6r|>*Ff!<BOwMJIbj0+U
zH6w$JhNq?vx?7<>w`OGED9MKe1|x%r#^zq;jf|61Si_lgH70*xldFeFA*oJJEpg5-
z%`0J0WKd#IW?*1oWRPM|VNhjYWKd&ZU|?cUXJBGr1VsS@BZC$L1A`y~BLgD?0|Tqp
zb_T|c3?RVCpv|Dezyy+JbY@^?U}a!nc&)XMWj=%ECI%)U=4}itn;4jOGq6V1Z)ac=
zV&BHVp|x)t1Lrmdu5An~EISyug?M%_@cJ<N?qJ~4Vm4yl%fP>lK|p&4gP`wn25~=-
zA;Q}jSadfrFl}QH0cl|L+r%IWG7)5;*fs_Zot+Hgj0|u?cQZ&tZfB76W3*z?)!D`%
zwSz(0ie(c+JzS5>HU<t!mTe5OLUP*}I3O-r&R_{r#3UrYje$iH<mPP*BD%*I<e{zy
z*`=_JfkSs2gCg7}kZU$FFfo`gxG{J#2r<MnY-HHNAjH7Ppv%C(V8+0v^PfS6ftj5_
zkDWo^gq^{FfsviTQ20MX7y}DLke$JRoxun!{D;Aiox$)I12cm$0|NsK10#bF0|Nle
C@V+Pj

diff --git a/examples/array.s b/examples/array.s
index 54b5878..976f537 100644
--- a/examples/array.s
+++ b/examples/array.s
@@ -29,7 +29,8 @@
         MOV R1 0                ; i = 0;
         MOV R0 100    
         MOV R5 0                ; sum = 0;
-
+		;RET R5
+		
         SUB R4 R3 R1            ; while(i != N)
         JZ  R4 6                ; {
         LDR R4 R0 0             ;   
diff --git a/mutants/mutant-1/swen90006/machine/BugException.java b/mutants/mutant-1/swen90006/machine/BugException.java
index 41cb9ca..8c55483 100644
--- a/mutants/mutant-1/swen90006/machine/BugException.java
+++ b/mutants/mutant-1/swen90006/machine/BugException.java
@@ -1,7 +1,7 @@
-package swen90006.machine;
-
-public class BugException extends Exception {
-    public BugException(String msg){
-        super("You triggered one of the security bugs!\n" + msg);
-    }
-}
+package swen90006.machine;
+
+public class BugException extends Exception {
+    public BugException(String msg){
+        super("You triggered one of the security bugs!\n" + msg);
+    }
+}
diff --git a/test/swen90006/machine/BoundaryTests.java b/test/swen90006/machine/BoundaryTests.java
index 61ce1ca..2106399 100644
--- a/test/swen90006/machine/BoundaryTests.java
+++ b/test/swen90006/machine/BoundaryTests.java
@@ -47,7 +47,7 @@ public class BoundaryTests
   //Test test opens a file and executes the machine
   @Test public void aFileOpenTest()
   {
-    final List<String> lines = readInstructions("examples/array.s");
+    final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\array.s");
     Machine m = new Machine();
     assertEquals(m.execute(lines), 45);
   }
@@ -71,6 +71,29 @@ public class BoundaryTests
     assertEquals("Some failure message", expected, actual);
   }
 
+  @Test(expected = InvalidInstructionException.class)
+public void InvalidInstructions() {
+	  final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\array_copy.s");
+	    Machine m = new Machine();
+	   m.execute(lines);
+  }
+  
+  @Test public void MultipuleRuternTest() {
+	  final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\multiReturn.s");
+	  Machine m = new Machine();
+	   int val = m.execute(lines);
+	   
+	   assertEquals(val, 0);
+  }
+  
+  @Test public void NotExcuteWrongInstructions() {
+	  final List<String> lines = readInstructions("C:\\Users\\ASUS\\git\\SWEN90006-A1-2018\\examples\\div_test.s");
+	  Machine m = new Machine();
+	   int val = m.execute(lines);
+
+	   assertEquals(val, 100);
+  }
+  
   //Read in a file containing a program and convert into a list of
   //string instructions
   private List<String> readInstructions(String file)
-- 
GitLab