Human Competitive Award, GECCO 2012, 09 July 2012
Evolving Fault Localisation
Shin Yoo, University College London, UK
Evolving Fault Localisation Shin Yoo, University College London, UK - - PowerPoint PPT Presentation
Evolving Fault Localisation Shin Yoo, University College London, UK Human Competitive Award, GECCO 2012, 09 July 2012 Spectra Based Fault Localisation Program Spectra Based Fault Localisation Program Tests Spectra Based Fault Localisation
Human Competitive Award, GECCO 2012, 09 July 2012
Shin Yoo, University College London, UK
Program
Program Tests
Program Tests Spectrum
ef − ep ep + np + 1
Risk Evaluation Formula Program Tests Spectrum
ef − ep ep + np + 1
Risk Evaluation Formula Ranking Program Tests Spectrum
ef − ep ep + np + 1
Risk Evaluation Formula Ranking Program Tests Spectrum
ef − ep ep + np + 1
Risk Evaluation Formula Ranking
Program Tests SpectrumP T S P T S
Ranking
Program Tests SpectrumP T S P T S
GP
P T S P T S
GP
Fitness
P T S P T S
GP
Fitness
P T S P T S
GP
Fitness
f(2ep + 2ef + 3np)
f(e2 f + √np)
Over 30 formulæ in the literature, with various empirical studies with slightly different results
ef ef + 2(nf + ep)
2ef 2ef + nf + ep
2ef ef + nf + ep
1 2( ef ef + nf + ef ef + ep )
ef ef + nf + ep + np
ef + np − nf − ep ef + nf + ep + np
ef + np ef + nf + ep + np
2(ef + np) 2(ef + np) + ep + nf
ef ef + np + 2(ep + nf)
ef + np nf + ep
ef ef +nf ep ep+np + ef ef +nf
Over 30 formulæ in the literature, with various empirical studies with slightly different results
Optimality Proof (Naish et al. 2011)
Op1 = ( −1 if nf > 0 np
Op2 = ef − ep ep + np + 1
Optimality Proof (Naish et al. 2011) But the proof is against a specific model
·
if (t1()) s1(); /* S1 */ else s2(); /* S2 */ if (t2()) x = True; /* S3 */ else x = t3(); /* S4 - BUG */
Op1 = ( −1 if nf > 0 np
Op2 = ef − ep ep + np + 1
Optimality Proof (Naish et al. 2011) But the proof is against a specific model
·
if (t1()) s1(); /* S1 */ else s2(); /* S2 */ if (t2()) x = True; /* S3 */ else x = t3(); /* S4 - BUG */
... not to mention hard.
Op1 = ( −1 if nf > 0 np
Op2 = ef − ep ep + np + 1
How many of 9 Existing Techniques can 30 GP runs match and/or outperform?
20% 13%
20% 23% 13% 10%
< 5 5 6 7 8 9
✤ 6 runs outperform 8 existing
techniques and match/outperform
proof (Op1 and Op2).
✤ 16 runs outperform all 7 existing
techniques without proof.
Four Unix tools with 92 faults: 20 random faults for training, 72 for evaluation.
✤ Per-fault view shows that
evolved techniques can
40 60 80 100 20 40 60 80 100
GP15 tarantula 61 1 10
40 60 80 100 20 40 60 80 100
GP15 tarantula 61 1 10
✤ Per-fault view shows that
evolved techniques can
40 60 80 100 20 40 60 80 100
GP08
3 10 59
40 60 80 100 20 40 60 80 100
GP08
3 10 59
✤ Per-fault view shows that
evolved techniques can
40 60 80 100 20 40 60 80 100
GP11
72
40 60 80 100 20 40 60 80 100
GP11
72
From Solutions to Generic Problems... To Techniques and Strategies for Your Problems.
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project.
Think Hard Write Formula Experiment
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project. Human
Think Hard Write Formula Experiment
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project.
Genetic Op. Evaluate Select
Human GP
Think Hard Write Formula Experiment
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project.
Genetic Op. Evaluate Select
Human GP
Spectrum
Think Hard Write Formula Experiment
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project.
Genetic Op. Evaluate Select
Human GP
Spectrum Spectrum
Think Hard Write Formula Experiment
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project.
Genetic Op. Evaluate Select
Human GP
Spectrum Spectrum Change Hist. Dependency
Think Hard Write Formula Experiment
✤ GP provides a structured,
automated way of doing iterative design.
✤ It can cope with a much diverse
spectra and other meta-data.
✤ GP can evolve to suit your
project.
Genetic Op. Evaluate Select
Human GP
Spectrum Spectrum Change Hist. Dependency Spectrum Change Hist. Dependency
Evolving SBFL
ef − ep ep + np + 1
Risk Evaluation Formula Ranking Program Tests Spectrum
Evolving SBFL
ef − ep ep + np + 1
Risk Evaluation Formula Ranking Program Tests Spectrum
Human Competitiveness
How many of 9 Existing Techniques can 30 GP runs match and/or outperform?
20% 13%
20% 23% 13% 10%
< 5 5 6 7 8 9
✤ 6 runs outperform 8 existingtechniques and match/outperform
proof (Op1 and Op2).
✤ 16 runs outperform all 7 existingtechniques without proof.
Four Unix tools with 92 faults: 20 random faults for training, 72 for evaluation.Evolving SBFL
ef − ep ep + np + 1
Risk Evaluation Formula Ranking Program Tests Spectrum
Human Competitiveness
How many of 9 Existing Techniques can 30 GP runs match and/or outperform?
20% 13%
20% 23% 13% 10%
< 5 5 6 7 8 9
✤ 6 runs outperform 8 existingtechniques and match/outperform
proof (Op1 and Op2).
✤ 16 runs outperform all 7 existingtechniques without proof.
Four Unix tools with 92 faults: 20 random faults for training, 72 for evaluation.Think Hard Write Formula Experiment
The most effective way to do it, is to do it.
✤ GP provides a structured,automated way of doing iterative design.
✤ It can cope with a much diversespectra and other meta-data.
✤ GP can evolve to suit yourproject.
Genetic Op. Evaluate Select
Human GP
Spectrum Spectrum Change Hist. Dependency Spectrum Change Hist. Dependency
Evolving SBFL
ef − ep ep + np + 1
Risk Evaluation Formula Ranking Program Tests Spectrum
Human Competitiveness
How many of 9 Existing Techniques can 30 GP runs match and/or outperform?
20% 13%
20% 23% 13% 10%
< 5 5 6 7 8 9
✤ 6 runs outperform 8 existingtechniques and match/outperform
proof (Op1 and Op2).
✤ 16 runs outperform all 7 existingtechniques without proof.
Four Unix tools with 92 faults: 20 random faults for training, 72 for evaluation.Think Hard Write Formula Experiment
The most effective way to do it, is to do it.
✤ GP provides a structured,automated way of doing iterative design.
✤ It can cope with a much diversespectra and other meta-data.
✤ GP can evolve to suit yourproject.
Genetic Op. Evaluate Select
Human GP
Spectrum Spectrum Change Hist. Dependency Spectrum Change Hist. Dependency
Detailed Statistics & Spectra Data http://www.cs.ucl.ac.uk/staff/s.yoo/ evolving-sbfl.html