header

Program Information

Name: Sin
Domain: Numerical program
Functionality: Sin function in Math
Input: X: A certain Real Number (Type: Real)
Output: Y: The value of Sin(X)(Type: Real)

Reference



    Metamorphic Testing and Beyond http://doi.ieeecomputersociety.org/10.1109/STEP.2003.18




MR Information

MR1------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = PI – Xs
Output relation: Yf = Ys.
Pattern:

MR2------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = 2 * PI + Xs
Output relation: Yf = Ys.
Pattern:

MR3------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = -Xs
Output relation: Yf = -Ys.
Pattern:

MR4------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = PI + Xs
Output relation: Yf = -Ys.
Pattern:

MR5------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = 2 * PI – Xs
Output relation: Yf = -Ys.
Pattern:

MR6------

Description:
Property:
Source input: <Xs1>
Source output: Ys1
Source input: <Xs2>
Source output: Ys2
Source input: <Xs3>
Source output: Ys3
Follow-up input: <Xf1>
Follow-up output: Yf1
Follow-up input: <Xf2>
Follow-up output: Yf2
Follow-up input: <Xf3>
Follow-up output: Yf3
Follow-up input: <Xf4>
Follow-up output: Yf4
Input relation: let Xf1 = (Xs1 + Xs2) / 2, Xf2 = (Xs1 + Xs3) / 2, Xf3 = (Xs2 + Xs3) / 2, Xf4 = Xs1 + Xs2 + Xs3
Output relation: Ys1 + Ys2 + Ys3 – Yf4 – 4 * Yf1 * Yf2 * Yf3 = 0
Pattern:

MR7------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = PI / 2 – Xs
Output relation: Yf * Yf = 1 – Ys * Ys.
Pattern:

MR8------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf>
Follow-up output: Yf
Input relation: let Xf = 3 * Xs
Output relation: Yf = 3 * Ys – 4 * Ys * Ys * Ys.
Pattern:

MR9------

Description:
Property:
Source input: <Xs1>
Source output: Ys1
Source input: <Xs2>
Source output: Ys2
Follow-up input: <Xf1>
Follow-up output: Yf1
Follow-up input: <Xf2>
Follow-up output: Yf2
Input relation: let Xf1 = Xs1 – Xs2, Xf2 = Xs1 + Xs2
Output relation: Yf1 * Yf2 = Ys1 * Ys1 – Ys2 * Ys2
Pattern:

MR10------

Description:
Property:
Source input: <Xs>
Source output: Ys
Follow-up input: <Xf1>
Follow-up output: Yf1
Follow-up input: <Xf2>
Follow-up output: Yf2
Input relation: let Xf1 = 3 * Xs, Xf2 = 5 * Xs
Output relation: 15 * Yf2 + 5 * Yf1 – 10 * Ys = 0
Pattern:
Insert title here