Human Competitiveness of Genetic Programming for Spectrum Based - - PowerPoint PPT Presentation

human competitiveness of genetic programming for spectrum
SMART_READER_LITE
LIVE PREVIEW

Human Competitiveness of Genetic Programming for Spectrum Based - - PowerPoint PPT Presentation

Human Competitiveness of Genetic Programming for Spectrum Based Fault Localisation Shin Yoo 1 , Xiaoyuan Xie 2 , Fei-Ching Kuo 3 , Tsong Yueh Chen 3 , Mark Harman 4 1: KAIST, Republic of Korea 2: Wuhan University, China 3: Swinburne University


slide-1
SLIDE 1

Human Competitiveness of Genetic Programming for Spectrum Based Fault Localisation

Shin Yoo1, Xiaoyuan Xie2, Fei-Ching Kuo3, Tsong Yueh Chen3, Mark Harman4

HUMIES@GECCO 2017

1: KAIST, Republic of Korea 2: Wuhan University, China 3: Swinburne University of Technology, Australia 4: University College London/Facebook, UK

slide-2
SLIDE 2

Automated Debugging

  • Debugging is hard for

humans: we increasingly have to work on and with large code base written by others.

  • Debugging is hard for

machines: automated repair techniques rely heavily on automated fault localisation.

slide-3
SLIDE 3

Spectrum Based Fault Localisation

Program

slide-4
SLIDE 4

Spectrum Based Fault Localisation

Program Tests

slide-5
SLIDE 5

Spectrum Based Fault Localisation

Program Tests Spectrum

slide-6
SLIDE 6

Spectrum Based Fault Localisation

ef − ep ep + np + 1

Risk Evaluation Formula Program Tests Spectrum

slide-7
SLIDE 7

Spectrum Based Fault Localisation

ef − ep ep + np + 1

Risk Evaluation Formula Ranking Program Tests Spectrum

slide-8
SLIDE 8

Spectrum Based Fault Localisation

ef − ep ep + np + 1

Risk Evaluation Formula Ranking Program Tests Spectrum Higher ranking = Fewer statements to check

slide-9
SLIDE 9

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

slide-10
SLIDE 10

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

slide-11
SLIDE 11

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

slide-12
SLIDE 12

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

Tarantula =

ef ef +nf ep ep+np + ef ef +nf

slide-13
SLIDE 13

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

slide-14
SLIDE 14

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

slide-15
SLIDE 15

Structural Test Test Test Spectrum Tarantula Rank Elements t1 t2 t3 ep ef np nf s1

  • 1

2 0.00 9 s2

  • 1

2 0.00 9 s3

  • 1

2 0.00 9 s4

  • 1

2 0.00 9 s5

  • 1

2 0.00 9 s6

  • 1

1 1 0.33 4 s7 (faulty)

  • 2

1 1.00 1 s8

  • 1

1 1 0.33 4 s9

  • 1

2 0.50 2 Result P F F

Spectrum Based Fault Localisation

slide-16
SLIDE 16

(Empirical) State of the Art (circa 2012)

Over 30 formulæ in the literature, manually developed over a decade’s time: none guaranteed to perform best for all types of faults

slide-17
SLIDE 17

(Empirical) State of the Art (circa 2012)

ef ef + nf + ep

ef ef + 2(nf + ep)

2ef 2ef + nf + ep

2ef ef + nf + ep

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, manually developed over a decade’s time: none guaranteed to perform best for all types of faults

slide-18
SLIDE 18

Evolving Formulæ

ef − ep ep + np + 1

Risk Evaluation Formula Ranking Program Tests Spectrum

slide-19
SLIDE 19

Evolving Formulæ

ef − ep ep + np + 1

Risk Evaluation Formula Ranking

Program Tests Spectrum

P S P S Training Data

slide-20
SLIDE 20

Evolving Formulæ

Ranking

Program Tests Spectrum

P S P S

GP

Training Data

slide-21
SLIDE 21

Evolving Formulæ

Program Tests Spectrum

P S P S

GP

Fitness (minimise) Training Data

slide-22
SLIDE 22

Evolving Formulæ

Program Tests Spectrum

P S P S

GP

Fitness (minimise)

e2

f(2ep + 2ef + 3np)

e2

f(e2 f + √np)

. . .

Training Data

slide-23
SLIDE 23

Our Claims

slide-24
SLIDE 24

Our Claims

GP evolved SBFL formulas are provably better than many human designs.

slide-25
SLIDE 25

Our Claims

GP evolved SBFL formulas are provably better than many human designs. We proved that no human can surpass what GP evolved, ever.

slide-26
SLIDE 26

Our Claims

GP evolved SBFL formulas are provably better than many human designs. We proved that no human can surpass what GP evolved, ever. GP has transformed the future research

  • n fault localisation.
slide-27
SLIDE 27

Crash Course into Our Proof System

Formula X Formula Y

SX

B

SY

B

SX

F

SX

A

SY

A

SY

F

SY

B ⊆ SX B ∧ SX A ⊆ SY A

To show that Y dominates X, we show that: (assuming that we break ties in F sets consistently) Statement Ranking Equivalence is defined as:

X ↔ Y ⇐ ⇒ X → Y ∧ Y → X

slide-28
SLIDE 28

Crash Course into Our Proof System

  • Maximal Groups: a set of formulas that are equivalent to

each other, but are strictly better to some others

  • Previous work theoretically proved the existence of maximal

groups with respect to the space of known formulas:

  • ER1 (contains 2 manually designed formulas) and ER5

(contains 3 manually designed formulas)

slide-29
SLIDE 29

GP’s Human Competitiveness

  • GP expanded the known

maximal groups:

  • GP added one additional

formula to ER1

  • GP founded three new

maximal groups, each containing one GP-evolved formula

Name Formula expression ER1’ Naish1 ⇢ −1 if ef<F P − ep if ef=F Naish2 ef −

ep ep+np+1

GP13 ef(1 +

1 2ep+ef )

ER5 Wong1 ef Russel & Rao

ef ef +nf +ep+np

Binary ⇢ 0 if ef<F 1 if ef=F GP02 2(ef + √np) + √ep GP03 q |e2

f − √ep|

GP19 ef p |ep − ef + nf − np|

slide-30
SLIDE 30

GP’s Human Competitiveness

  • We have proved that there is

no greatest formula (i.e. one that outperforms all maximals):

  • GP evolved the best possible

formula.

  • No future human

endeavour can surpass GP’s results.

slide-31
SLIDE 31

GP’s Influence on Future Research

  • Manually designing SBFL

formulae is no longer productive.

  • We need richer information than

program spectrum: GP can deal with increased complexity better than human.

  • GP continues to produce

state-of-the-art localisation results, outperforming SVMs (ISSTA 2017).

slide-32
SLIDE 32
slide-33
SLIDE 33

Automated Debugging

  • Debugging is hard for
humans: we increasingly have to work on and with large code base written by others.
  • Debugging is hard for
machines: automated repair techniques rely heavily on automated fault localisation.

Debugging is hard.

slide-34
SLIDE 34

GP’s Human Competitiveness

  • GP expanded the known
maximal groups:
  • GP added one additional
formula to ER1
  • GP founded three new
maximal groups, each containing one GP-evolved formula Name Formula expression ER1’ Naish1 ⇢ −1 if ef<F P − ep if ef=F Naish2 ef − ep ep+np+1 GP13 ef(1 + 1 2ep+ef ) ER5 Wong1 ef Russel & Rao ef ef +nf +ep+np Binary ⇢ 0 if ef<F 1 if ef=F GP02 2(ef + √np) + √ep GP03 q |e2 f − √ep| GP19 ef p |ep − ef + nf − np|

GP-evolved fault localisation techniques were provably better than over a decade’s manual work.

Automated Debugging

  • Debugging is hard for
humans: we increasingly have to work on and with large code base written by others.
  • Debugging is hard for
machines: automated repair techniques rely heavily on automated fault localisation.

Debugging is hard.

slide-35
SLIDE 35

GP’s Human Competitiveness

  • GP expanded the known
maximal groups:
  • GP added one additional
formula to ER1
  • GP founded three new
maximal groups, each containing one GP-evolved formula Name Formula expression ER1’ Naish1 ⇢ −1 if ef<F P − ep if ef=F Naish2 ef − ep ep+np+1 GP13 ef(1 + 1 2ep+ef ) ER5 Wong1 ef Russel & Rao ef ef +nf +ep+np Binary ⇢ 0 if ef<F 1 if ef=F GP02 2(ef + √np) + √ep GP03 q |e2 f − √ep| GP19 ef p |ep − ef + nf − np|

GP-evolved fault localisation techniques were provably better than over a decade’s manual work.

GP’s Human Competitiveness

  • We have proved that there is
no greatest formula (i.e. one that outperforms all maximals):
  • GP evolved the best
possible formula
  • No future human
endeavour can surpass GP’s results

We proved that no human can surpass GP results, ever.

Automated Debugging

  • Debugging is hard for
humans: we increasingly have to work on and with large code base written by others.
  • Debugging is hard for
machines: automated repair techniques rely heavily on automated fault localisation.

Debugging is hard.

slide-36
SLIDE 36

GP’s Human Competitiveness

  • GP expanded the known
maximal groups:
  • GP added one additional
formula to ER1
  • GP founded three new
maximal groups, each containing one GP-evolved formula Name Formula expression ER1’ Naish1 ⇢ −1 if ef<F P − ep if ef=F Naish2 ef − ep ep+np+1 GP13 ef(1 + 1 2ep+ef ) ER5 Wong1 ef Russel & Rao ef ef +nf +ep+np Binary ⇢ 0 if ef<F 1 if ef=F GP02 2(ef + √np) + √ep GP03 q |e2 f − √ep| GP19 ef p |ep − ef + nf − np|

GP-evolved fault localisation techniques were provably better than over a decade’s manual work.

GP’s Human Competitiveness

  • We have proved that there is
no greatest formula (i.e. one that outperforms all maximals):
  • GP evolved the best
possible formula
  • No future human
endeavour can surpass GP’s results

We proved that no human can surpass GP results, ever.

GP’s Influence on Future Research

  • Manually designing SBFL
formulae is no longer productive.
  • We need richer information
than program spectrum: GP can deal with increased complexity better than human.
  • GP continues to produce
state-of-the-art localisation results, using 47 features: it
  • utperformed SVMs (ISSTA
2017).

GP continues to have strong influence

  • n future research.

Automated Debugging

  • Debugging is hard for
humans: we increasingly have to work on and with large code base written by others.
  • Debugging is hard for
machines: automated repair techniques rely heavily on automated fault localisation.

Debugging is hard.