Show simple item record

dc.contributor.advisorKapoor, Kalpesh
dc.contributor.authorNimmagadda, Rahul
dc.date.accessioned2017-06-10T14:37:13Z
dc.date.available2017-06-10T14:37:13Z
dc.date.issued2007
dc.identifier.citationNimmagadda, Rahul (2007). Identifying mutant hierarchies to reduce test effort in mutation testing. Dhirubhai Ambani Institute of Information and Communication Technology, viii, 73 p. (Acc.No: T00125)
dc.identifier.urihttp://drsr.daiict.ac.in/handle/123456789/162
dc.description.abstractMutation testing is a fault-based testing approach. The main goal of mutation testing is to assess the quality of a test suite, and in that process, test the software. The approach asserts the absence of pre-specified faults. In mutation testing, a single syntactic change is made and the resulting program is referred to as ‘Mutant’. The mutants obtained by making n syntactic changes are known as nth-order mutants’. Mutation Testing is based on two hypotheses, (i) Coupling Hypothesis assumes if a test suite can detect a first-order mutant from the original program, it will detect most higher-order mutants, (ii) Competent Programmer Hypothesis assumes the program to be tested is “close” to the intended program. Mutation testing is practically infeasible because the number of generated mutants is myriad for each program. It is also resource intensive requiring substantial amount of computation power and time to execute all the mutants against the original program for a given test suite. The objective of this thesis is two-fold. First, an empirical study is done to validate a formal approach proposed [Kapoor, K and Bowen, J. P, 2004] to reduce the test effort required in mutation testing. The formal approach orders the mutants in a hierarchy such that a mutant occurring higher in the hierarchy is stronger than a mutant occurring lower in the hierarchy. If a test suite can distinguish the original program from a stronger mutant, it is guaranteed to distinguish any mutant occurring lower than the stronger mutant in the hierarchy. Second, the concept of conditional strong mutant for relational operators is proposed which is a specialisation of the strong mutant concept. It further reduces the test effort by identifying more number of strong mutants through some constraints on the operands of the relational operators. The savings obtained by using conditional strong mutants is more than that obtained by strong mutants. There is a saving of 80% in the test effort required involving mutants generated by invoking the Relational Operator Replacement (ROR) operator on conditions present in the branch statements of a program. The analysis done applies to any program containing relational operators in the conditions of branch statements.
dc.publisherDhirubhai Ambani Institute of Information and Communication Technology
dc.subjectComputer software - Testing
dc.subjectTesting techniques
dc.subjectOperation acceptance testing
dc.subjectMutation testing
dc.subjectFault based testing
dc.classification.ddc005.14 NIM
dc.titleIdentifying mutant hierarchies to reduce test effort in mutation testing
dc.typeDissertation
dc.degreeM. Tech
dc.student.id200511033
dc.accession.numberT00125


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record