Identify 9 (or more) subject programs, each of which has a size similar to (or larger than) the grep, sed, or bash programs. These programs should have characteristics similar to the grep, sed, and bash programs in the sense that each of them have multiple faulty versions (preferably with real faults, but systematically seeded faults are also acceptable) and (2) you can apply the GCOV tool to record the coverage data for each test case execution. Do the following:
(1) For each subject program, identify 10 or more metamorphic relations (MRs).
(2) For each MR, generate a large number of (minimum 1000) source test cases. You can use existing test suites or test case generation tools or random generation for this purpose. Different MRs can share the same set of source test cases.
(3) Conduct experiments using the faulty versions of the subject programs, the MRs, and the test cases, in concert with GCC and the GCOV tool, to validate the statement “there is a significant strong positive correlation between BCMD and the fault-detection effectiveness of MRs [1, p161].” You can also use tools other than GCC and GCOV for this study.
(4) Report your findings.