Tot_info

### Program Information

Name: Tot_info
Domain: Algorithm
Functionality: Given a test case have $n$ tables $T_s=\{t^s_1,t^s_2,\ldots ,t^s_n\}$.For each table $t^s_i \in T_s$,tot_info prints $(info)^s_i,(df)^s_i$ and $q^s_i$,where $(info)^s_i,(df)^s_i$ and $q^s_i$ denote the Kullbacks information measure,the degree of freedom and the possibility density of $\chi^2$ distribution of $t^s_i$,respectively.In addition, tot_info prints $(tot\_info)^s,(tot\_df)^s$ and $(df)^s_i$,respectively,and $q^s$ is the possibility density of $\chi^2$ distribution calculated with $(tot\_info)^s$ and $(tot\_df)^s$
Input: Given a source test case have $n$ tables $T_s=\{t^s_1,t^s_2,\ldots ,t^s_n\}$.And  denote the $m$ tables in the follow-up test case as $T_f=\{t^f_1,t^f_2,\ldots ,t^f_m\}$
Output: For $t_s$, the printed results are denoted as $(info)^s_i,(df)^s_i,q^s_i,(tot\_info)^s,(tot\_df)^s,q^s$; For $t_f$, the printed results are denoted as $(info)^f_i,(df)^f_i,q^f_i,(tot\_info)^f,(tot\_df)^f$ and $q^f$.

#### Reference

 Metamorphic slice: An application in spectrum-based fault localization https://doi.org/10.1016/j.infsof.2012.08.008

### MR Information

#### MR1------ Duplication of the whole input file

Description:
Property: $T^f$ is constructed by duplicating all $t^i_s \in T_s$,that is,$T_f=T_s \cup T_s$ $\Rightarrow$ $(tot\_info)_f = 2*(tot\_info)_s$ and $(tot\_df)_f = 2*(tot\_df)_s$
Source input: $T^s$
Source output: $(info)^s_i,(df)^s_i,q^s_i,(tot\_info)^s,(tot\_df)^s,q^s$
Follow-up input: $T^f$
Follow-up output: $(info)^f_i,(df)^f_i,q^f_i,(tot\_info)^f,(tot\_df)^f,q^f$
Input relation: $T^f$ is constructed by duplicating all $t^i_s \in T_s$,that is,$T_f=T_s \cup T_s$
Output relation: $(tot\_info)_f = 2*(tot\_info)_s$ and $(tot\_df)_f = 2*(tot\_df)_s$
Pattern:

#### MR2------ Duplication of one table

Description: For an arbitrarily chosen table $t^s_i \in T_s$,suppose $t^s_i$ has $r^s_i$ rows and $c^s_i$ columns.In $T_f,t^f_i$ is defined to have $r^f_i$ rows and $c^f_i$ columns.
Property: $r^f_i=2*r^s_i$ and $c^f_i=c^s_i$,the content from the $(r^s_i+1)$th row to the $(2*r^s_i)$th row in $t^f_i$ is the duplicate of its first $r^s_i$ rows. $\Rightarrow$ $(info)^f_i=2*(info)^f_i$ and $(df)^f_i=(df)^s_i+r^s_i*(c^s_i-1)$
Source input: $T^s$
Source output: $(info)^s_i,(df)^s_i,q^s_i,(tot\_info)^s,(tot\_df)^s,q^s$
Follow-up input: $T^f$
Follow-up output: $(info)^f_i,(df)^f_i,q^f_i,(tot\_info)^f,(tot\_df)^f,q^f$
Input relation: $r^f_i=2*r^s_i$ and $c^f_i=c^s_i$
Output relation: $(info)^f_i=2*(info)^f_i$ and $(df)^f_i=(df)^s_i+r^s_i*(c^s_i-1)$
Pattern:

#### MR3------ Scaling the value of each element in one table

Description:
Property: $T_f$ is constructed by defining $t^f_i$ such that each value in $t^f_i$ is the corresponding value in $t^f_i$ multiplied by $k$ $\Rightarrow$ $(info)^f_i=k*(info)^s_i$ and $(df)^f_i=(df)^s_i$
Source input: $T^s$
Source output: $(info)^s_i,(df)^s_i,q^s_i,(tot\_info)^s,(tot\_df)^s,q^s$
Follow-up input: $T^f$
Follow-up output: $(info)^f_i,(df)^f_i,q^f_i,(tot\_info)^f,(tot\_df)^f,q^f$
Input relation: $T_f$ is constructed by defining $t^f_i$ such that each value in $t^f_i$ is the corresponding value in $t^f_i$ multiplied by $k$
Output relation: $(info)^f_i=k*(info)^s_i$ and $(df)^f_i=(df)^s_i$
Pattern:
Insert title here