2010
DOI: 10.1016/j.jss.2010.07.027
|View full text |Cite
|
Sign up to set email alerts
|

Efficient multi-objective higher order mutation testing with genetic programming

Abstract: It is said ninety percent of faults that survive manufacturer's testing procedures are complex. That is, the corresponding bug fix contains multiple changes. Higher order mutation testing is used to study defect interactions and their impact on software testing for fault finding. We adopt a multi-objective Pareto optimal approach using Monte Carlo sampling, genetic algorithms and genetic programming to search for higher order mutants which are both hard-to-kill and realistic. The space of complex faults (highe… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
97
0
6

Year Published

2012
2012
2023
2023

Publication Types

Select...
6
1
1

Relationship

1
7

Authors

Journals

citations
Cited by 119 publications
(103 citation statements)
references
References 31 publications
(38 reference statements)
0
97
0
6
Order By: Relevance
“…Remember to include code to check the kernel really is working. Once satisfied with your first kernel, inject a fault into it [22]. Did it fail in the way you expected?…”
Section: Your First Gpu Kernelmentioning
confidence: 98%
“…Remember to include code to check the kernel really is working. Once satisfied with your first kernel, inject a fault into it [22]. Did it fail in the way you expected?…”
Section: Your First Gpu Kernelmentioning
confidence: 98%
“…Jia and Harman utilized meta-heuristic search algorithms to generate semantic HOMs which are hard to kill, and reduced mutants greatly [4]. Langdon et al combined FOMs with close semantic relations to form HOMs [31]. Second-order mutants (SOMs, two syntactic changes in a program) proposed by Polo et al get 50% cost saving [32].…”
Section: Mutant Reductionmentioning
confidence: 99%
“…The program, Triangle, is a familiar example in software testing [2,4,30,31], and Figure 1 (a) is its Java version. Figure 1 shows the process of forming P where (a) is the code of P (Triangle); (b) represents the CFG of code from lines 7 to 9 in the dashed box of (a); (c) means the mutant branches constructed after performing ROR on "i f (a == b)" and AORB on "trian = trian + 1", respectively; and (d) is the CFG after inserting mutant branches into P. The dashed boxes in Figure 1 (d) represent the inserted mutant branches.…”
Section: Constructing Mutant Branches and Forming The New Programmentioning
confidence: 99%
See 1 more Smart Citation
“…However, for test data generation problems, the large majority of existing approaches are single objective. Relatively few attack multi-objective test case generation [7], [34], [74], [84], [124], despite it having been proposed sometime ago [52]. This is unrealistic because practising software testers are unlikely to be concerned only with a single test objective [45].…”
Section: Multi-objective Search Based Testing (Mosbat)mentioning
confidence: 99%