From e1adb7ded91d323c6f958616661b23704a6aaac9 Mon Sep 17 00:00:00 2001
From: Koen Wermer <koenwermer@gmail.com>
Date: Tue, 7 Feb 2017 16:51:54 +0100
Subject: [PATCH] experimented with basesecantsolver test file

---
 .gitignore                                    |   1 +
 Main.hs                                       |   2 +-
 ...eturnValueVar == returnValue_False_False_1 |  34 ++++++++++++++++++
 ...esecantsolver_true_true_true_False_False_1 |  14 ++++++++
 Settings.hs                                   |  11 ++++--
 Tests/BaseSecantSolver$1.class                | Bin 0 -> 1519 bytes
 Tests/BaseSecantSolver$Method.class           | Bin 0 -> 1296 bytes
 Tests/BaseSecantSolver.class                  | Bin 0 -> 11581 bytes
 Tests/arrays1.class                           | Bin 2560 -> 9377 bytes
 9 files changed, 59 insertions(+), 3 deletions(-)
 create mode 100644 .gitignore
 create mode 100644 Results/basesecantsolver_true_returnValue != null_returnValueVar == returnValue_False_False_1
 create mode 100644 Results/basesecantsolver_true_true_true_False_False_1
 create mode 100644 Tests/BaseSecantSolver$1.class
 create mode 100644 Tests/BaseSecantSolver$Method.class
 create mode 100644 Tests/BaseSecantSolver.class

diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..c5c3302
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+tests/org/
\ No newline at end of file
diff --git a/Main.hs b/Main.hs
index e0b4450..6f952b3 100644
--- a/Main.hs
+++ b/Main.hs
@@ -37,7 +37,7 @@ main = do
     mutationFolders <- listDirectory mutantsDir
     
     -- Map each folder name to the path containing the mutant (mutant name is the same as the original file name)
-    let mutationPaths = map (\n -> joinPath [mutantsDir, n, testFile ++ ".java"]) mutationFolders
+    let mutationPaths = map (\n -> joinPath [mutantsDir, n, classPath testFile, testFile ++ ".java"]) mutationFolders
     
     -- Calculate the wlp per method of all the mutants
     wlpMutants <- mapM (\path -> parseFile path >>= (\(env', decls', methods') -> wlpMethods env' decls' methods') >>= return . (getMutantNumber path, )) mutationPaths
diff --git a/Results/basesecantsolver_true_returnValue != null_returnValueVar == returnValue_False_False_1 b/Results/basesecantsolver_true_returnValue != null_returnValueVar == returnValue_False_False_1
new file mode 100644
index 0000000..2521dc0
--- /dev/null
+++ b/Results/basesecantsolver_true_returnValue != null_returnValueVar == returnValue_False_False_1	
@@ -0,0 +1,34 @@
+testFile: basesecantsolver
+postCondVoid: true
+postCondRefType: returnValue != null
+postCondPrimType: returnValueVar == returnValue
+ignoreLibMethods: False
+ignoreMainMethod: False
+nrOfUnroll: 1
+erronous mutations detected:
+206 verifyBracketing
+200 verifyInterval1
+200 verifySequence1
+200 verifyBracketing
+197 isSequence1
+196 isSequence1
+195 isSequence1
+194 isSequence1
+193 isSequence1
+192 isSequence1
+191 isSequence1
+190 isSequence1
+189 isSequence1
+188 isSequence1
+152 midpoint
+151 midpoint
+150 midpoint
+149 midpoint
+148 midpoint
+147 midpoint
+146 midpoint
+145 midpoint
+144 midpoint
+143 midpoint
+Total number of mutants: 207
+Number of mutants in which we found an error: 22
\ No newline at end of file
diff --git a/Results/basesecantsolver_true_true_true_False_False_1 b/Results/basesecantsolver_true_true_true_False_False_1
new file mode 100644
index 0000000..42d7fe5
--- /dev/null
+++ b/Results/basesecantsolver_true_true_true_False_False_1
@@ -0,0 +1,14 @@
+testFile: basesecantsolver
+postCondVoid: true
+postCondRefType: true
+postCondPrimType: true
+ignoreLibMethods: False
+ignoreMainMethod: False
+nrOfUnroll: 1
+erronous mutations detected:
+206 verifyBracketing
+200 verifyInterval1
+200 verifySequence1
+200 verifyBracketing
+Total number of mutants: 207
+Number of mutants in which we found an error: 2
\ No newline at end of file
diff --git a/Settings.hs b/Settings.hs
index 98778a6..b241d71 100644
--- a/Settings.hs
+++ b/Settings.hs
@@ -1,7 +1,9 @@
 module Settings where
 
+import System.FilePath(joinPath)
+
 testFile, postCondVoid, postCondRefType, postCondPrimType :: String
-testFile = "BaseSecantSolver"
+testFile = "basesecantsolver"
 
 -- The post condition may depend on the type of the method we are looking at
 postCondVoid = "true"
@@ -16,4 +18,9 @@ ignoreMainMethod = False
 
 
 nrOfUnroll :: Int
-nrOfUnroll = 1
\ No newline at end of file
+nrOfUnroll = 1
+
+-- The classpath for test files
+classPath :: FilePath -> FilePath
+classPath "basesecantsolver" = joinPath ["org", "apache", "commons", "math3", "analysis", "solvers"]
+classPath _ = ""
\ No newline at end of file
diff --git a/Tests/BaseSecantSolver$1.class b/Tests/BaseSecantSolver$1.class
new file mode 100644
index 0000000000000000000000000000000000000000..bec0ed2fba45f003679dbdd52cc1df95e176387f
GIT binary patch
literal 1519
zcmbu9ZBNrs6vzK}Y;>DNCW;^;qEwz#8bFaJk#2OjST;g=h#`iQu3?3)CG7@L-<ude
zhA(_ACWIKn2k=7~&mGJ~kOVO4&N;u^-v3Vjz4!k7_5BdQFw$|{MQ02N+>23lpJSH*
ziNgaPx_Ri~p*M~`^z%m_#;AJ4v5Qxac^D8N3m9V1Bz@N|nT0uHTk`x3$=Ei`f+d+=
zvFN#hR5VJ3Vaad}=WSpIQs6l|mLEt-Bd~PKG~AM28Ik6!Qo+kJgjO>QGndj-9LL+W
z@+4R;*`CV~oirWWwM$bBb-jJd4B?cQw-_2V+qJUg;=1K88tV>?H0UM6+@e>gF!{j{
z*S)fDT4|f#Z$8=Yz^1Wdkdo?}ju+VO#!>$Qh6Owk@f0H>Zs59zXBZVRhH-{AK1Fs6
zcSFv4df6<bZOh54zVG=WCir8MJUr)N3ZnvEa2-WN6W2*1C1QpL6)A>EvRXc}T0XW~
zu2?Nst(K3imQS`W4Kjd1%($-QryL^)tbid=>n^vxX_+O4@yq`Q!`S&JpZad~JBCx{
zO-=Rot!kGRnxGY+WM8l8nHiN~;=hCh&(GVmh$}0JR%lF9(~HN-@rBIn%Ri7*wcJYe
zj*`qRtH+?6|3yxHvg+=ruNLWxIdg^}cPOK2nQShjGo&uy(Ak2*ygIAsOQa_*sIyC&
zvX)jfJ(K99gX9{WL7_w|U(o<%+95PTO`sV!DYp=`ppGiw(*fAwkN7u)_V`t|k8n8m
z1>si}tS5}rP#~<YVU$p)VT>?Z!2`rAnpgHfm$;9HswUx8!m1`=BjJ(eS86au&9)$d
zR&=48au0@RcSbM*g|=mccI7;D%5PA>7G(#!ct`m?KHwwe5X}VQlz~Gm;xleh)sMuA
pfHutiBP{<tMz-9h86mXe4&^X9C=SxEiN+F~5>YyrJ1{-n{u}S^kYWG;

literal 0
HcmV?d00001

diff --git a/Tests/BaseSecantSolver$Method.class b/Tests/BaseSecantSolver$Method.class
new file mode 100644
index 0000000000000000000000000000000000000000..2c436a53bcdc9bc2c78059d3eeba86dc646cff4e
GIT binary patch
literal 1296
zcmb_b-A@xi5dUp^?Ol)K!}6hgC<-VoC?_H>mKZ7)(&Pl=Sq$;PEXP`oT<^@?mBjx_
zOCm<2;n}|i_1!po5UJvmb~l;XnVp^a&BuQE@!>Oo1uW*E;JS_*m{u{QqNt+>Gm^||
z=+)`+rnI=Fp<nVj4Fi&!DsD3vPbzCQtNdcMY}r+Y>?0BH20Ns$`o0KPJRU_NVpy?)
zux|2K+}RbT6EqruADImv?=G0!=ickcjm#+U_C*+(4|pVO;c!2;6V23#&k}=HwXEv;
zM%89eA6M4Oc1@n9Hp^D6LZ^q%I}#<k&%LGuy;>-C#-p+l><ETl%k{;2v#~A0r+nKZ
zjhckoc**drVD0gJZhG9Wn|2(!e!W!eOgc-h@5c8ThW-+wTHIvF*>2tEaWf=D>4MZ~
zOOAK?s@8_9;x`*h9RPKoda2t%GjznNE9)@$XV2$kF$@gKc^on@k2@+B7|Q=WMFvK3
z*T7|5IVHWw8|as00C|R<vo6SN88VI+_ylpFP;9Hj#`d0YVoKxQzawH;Z0|_&S4wR$
zeoevekV?z*^!s|~>nh8`Aou`r${^vC1kg7kD<>_G!$n*I!!St`#O2akVDFGRLi!C!
z3?oFd$=xy8k7Df9eiErf+tm+c<~=e;P|iO{$y$=33^0x~Z9tuw9Xmw!?K$t`q)Fi_
zG+ZNkf=Uodxym1*Y~|JTA+!VJ5<yoIp(_!LOd@n=KapL!MN_+_w9sX5Wm@RA55UgC
l<r9}*(T#7E+;>dlm~fp0pTJ}SVhR_C>jXkU0e#D3KLK&6NKF6$

literal 0
HcmV?d00001

diff --git a/Tests/BaseSecantSolver.class b/Tests/BaseSecantSolver.class
new file mode 100644
index 0000000000000000000000000000000000000000..2bb94aed62ecc60b5a296eeb85e071bb882e16da
GIT binary patch
literal 11581
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
aU5kt8vxuH%(!VM|`RN~;XJB^yg#QE8`BZ8E

literal 0
HcmV?d00001

diff --git a/Tests/arrays1.class b/Tests/arrays1.class
index e5852dfde49dcfa0375623ed8358d28bdcb63bb5..df1e9ac357781be2475b93cb342a24fafc25d9bb 100644
GIT binary patch
literal 9377
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

literal 2560
zcmbtVYi|@~6n@^_*`3|(_DZ)DcZ&lQY!_TEVr^kt?r5bKq<{imI^7xC!R<~nGpp8X
zR0K^-RH6wNO{ALe!Ara(ZKI}q(}cu-;7>5|I|BN=Gh4QJ`(ihJ=gfJ}d(Ly7bKW!8
zZhf}^U@M9VtVDML8T80yn_RZXx#U&!#?Y5Q6gv{wiCuB*#vT=W6R1IV4EyABzg!-S
z;h`A%V|ZA;9Y|mRgE0)nFf5%NlpbjRh}0jF%ZQ4@2^_&u6^{xmYu8=ZbUe#0xqB^F
zA1j)MfH*D?&08hQ>k|lfbRHE@_Sl9gP(NUm%%Sq+nCTpr#@v|Ht&%`X$BBVc`ZM~*
zqFx%`IN~{0X?(jpsGhV+#-KEbbe!n#>=&pV@$|yegZfm(Lwrm(4w<g?JiSF})89#K
zj|n8kZTt3y>TjIj@kZ%zSIIcY5Z*!Ea$K5@mB)z2wH>b#hmm9Mg#GM*<x*8+xx3tg
zSu%*KV!#w*`9iUhWMafFI|XyUB~wc3j-yYzn{zUuBvxT{5*x8TiA~s?#1^^S4Nai6
zn((eg7WX-h?U2`#I$asslw%fbhLr?MPsdaoPvQg~SMfv=PvR+o<y9{MZM(}>(J<*G
zb9lnkyk~9AESi&M$#XT`)0n(fFkLN)Q4riH#+Z<%mka{p(=qw1(R9Pm%2S$W)2;wR
zg_*=jF!%bRZBJ<hyIk^2N3&_%Xt|nQ_B8vXHb%AK=90J%TiFFXJArX|a5d{#Aw`9i
z#3?*2&`<?FJa)<~kmryrP^x1|Cj>iwC)8E#2X$|Poi!P>1uM>DOWci2yPi2o1LC5;
zz@24p^h-{XOnq`Ydqtm`Vo3$=T^ew)^_F0`gH|5Qbo6)r$9BxKgA)SH9e+2ZgJpgu
zcLE|qQ?etA?DRVrSOmn5jQAETLY0X<MP5K&AA=XbF^$`O#5>}Zxxw3aoPCqwoB%{a
ztL!{V2?*JjT-WfejZeX6Bs&N3H3flou2EkZMI39fj<Pg;10nu^o(A=Y#K8L4JVNW|
z5$3<rP$M<}^r9@;sJh>VIy#CWLNs#r)S(tlsK;_NAdN;MT}Bwq=s*e^sNIBCj=UA<
z=58GKP#-{=MwmaK>l;Kaq9ywyV%dd{Q2RZi$C}hR#IA<(N^d5+FoWi7CYMd;W)R8b
zPlv>nKYmSr&XXZO-IY)&uVREXjL^<?E#t03j`CJy(aGIfMC#)=5f-B1I)TTjUSEN6
z1`0JmuMZ<d7;5^%r6|%rBnGn!>3PKa!d*&AX`4aghLn;`DY@a(3c>ug;ecc(K(m_6
z$PwR)E>`aWqUj-;ZPfH|-GMx(x<phDr7nI8wJJ6Uah;UKaW5eU)Vx~3l>Z-?zPb%5
zAgG^^4iM4+Aq^4IFd+>Q(xHEY!_ilP^E2TnboYu6r!o7}QhLHciOh^L+SewFbwn1c
zEjOC}7<<1#;(OE_n?tgxb{2J+S=2W*P-v4vBL&(n>Uc(qP1L3-%wpLrnooyG@MnI_
zFa4F|$Ju00GNY$h>``on4u|q{)V<8vB}r~ZwD|^vxPiF%9gnc|LG?M%gVaR2!t|H_
zl$z2T4pMq4a{<%gUcda=g*HPmW>D}?Y)L7XkW4AcXm;T;+GX!9CY)j-DMhB#LW$|f
zmX=+^e`PfHDbh-BAm;st+#2SR4!Y{RpZe>5l&0)FmS04TbU%mIt5qiY*hqlQOdYhq
z<!JEO_GNypp20Y|@Gwp3dAx)da27A(ZSI|;-Fdu<FYubr(sIO`Z}BQhp6bL(tv%qW
znJvkWUZn@dNt7HQo5K0Dta5v`w7i)z%N0SEv$*TDV9|b|!7S2Ms4f0AJHz{NmMwUO
zq2J`^^(`Ml9HAQs@gA&WP=19fL0_wkh#d+iLHYu^{b{hp=OmT6ggD<XS82&+6eGuu
z`UI+S1xh%W71#bYE8bxy?=qkFIJ?d<<omp*AE1|{1hXP~6N(Tk)ViG_O1Ssm9=H;h
i{A+AtC%0X!g!vYcYL<(`S9*#dl-wytbQfPjc;HVw+6oK+

-- 
GitLab