An Effort-Aware, Evolu1on-Oriented Approach for - - PowerPoint PPT Presentation

an effort aware evolu1on oriented approach for integra1on
SMART_READER_LITE
LIVE PREVIEW

An Effort-Aware, Evolu1on-Oriented Approach for - - PowerPoint PPT Presentation

An Effort-Aware, Evolu1on-Oriented Approach for Integra1on Tes1ng Ordering Aminata Saban , Giuliano Antoniol, Philippe Galinier, Yann-Gal Guhneuc,


slide-1
SLIDE 1

An ¡Effort-­‑Aware, ¡ ¡ Evolu1on-­‑Oriented ¡Approach ¡ ¡ for ¡Integra1on ¡Tes1ng ¡Ordering ¡

Aminata ¡Sabané, ¡Giuliano ¡Antoniol, ¡Philippe ¡Galinier, ¡ Yann-­‑Gaël ¡Guéhéneuc, ¡Massimiliano ¡Di ¡Penta ¡ ¡

Juin ¡2014 ¡ ¡

slide-2
SLIDE 2

Outline ¡

  • Mo:va:on ¡
  • Goal ¡
  • Related ¡Work ¡
  • Problem ¡Formaliza:on ¡
  • Meme:c ¡Algorithm ¡
  • Process ¡of ¡Using ¡METER ¡ ¡
  • Experiment ¡
  • Results ¡
  • Conclusion ¡

1 ¡

slide-3
SLIDE 3

Mo1va1on ¡

Not ¡only ¡regression ¡tes-ng… ¡

¡

  • It ¡is ¡in ¡the ¡nature ¡of ¡soLware ¡to ¡evolve ¡ ¡

¡

  • During ¡evolu:on ¡of ¡OO ¡programs ¡, ¡classes ¡are ¡

added, ¡modified, ¡or ¡deleted ¡ ¡

  • Tes:ng ¡ac:vi:es ¡are ¡required ¡for ¡quality ¡

assurance ¡of ¡the ¡next ¡release ¡

  • Some ¡changes ¡can ¡require ¡not ¡only ¡regression ¡

tes:ng ¡but ¡also ¡a ¡par1al ¡(re-­‑)integra1on ¡of ¡ classes ¡in ¡the ¡system. ¡ ¡

2 ¡

slide-4
SLIDE 4

SBC ¡principle ¡viola-on ¡& ¡early ¡defect ¡detec-on ¡

¡

  • Server-­‑before-­‑client ¡è ¡Test ¡server ¡first ¡

¡

  • Greenfield ¡development ¡vs ¡SoLware ¡Evolu:on ¡

¡

  • Importance ¡of ¡the ¡test ¡server ¡first ¡principle ¡

– fault ¡localiza:on ¡ ¡

¡

  • Importance ¡of ¡early ¡defect ¡detec:on ¡in ¡tes:ng ¡

ac:vi:es ¡

¡

¡

3 ¡

Mo1va1on ¡

slide-5
SLIDE 5

No ¡big-­‑bang ¡strategy… ¡

¡

  • Although ¡the ¡whole ¡system ¡is ¡available, ¡big-­‑bang ¡

tes:ng ¡would ¡not ¡be ¡efficient ¡for: ¡

– fault ¡localiza:on ¡ ¡ – Early ¡defect ¡detec:on ¡

¡

  • Need ¡of ¡a ¡specific ¡order ¡for ¡class ¡integra1on ¡

tes1ng ¡

– Server-­‑before-­‑client(SBC) ¡principle ¡to ¡reduce ¡ tes:ng ¡effort ¡ – Priori:za:on ¡to ¡maximize ¡early ¡defect ¡detec:on ¡

4 ¡

Mo1va1on ¡

slide-6
SLIDE 6

METER’s ¡Goal ¡

¡METER ¡(Minimizing ¡Evolu1on ¡Tes1ng ¡EffoRt) ¡

¡

Determines ¡class ¡tes:ng ¡order ¡in ¡the ¡context ¡of ¡ soLware ¡evolu:on, ¡with ¡the ¡goal ¡of: ¡

¡

  • (1) ¡minimizing ¡the ¡number ¡of ¡viola:ons ¡of ¡the ¡

SBC ¡principle ¡ ¡

¡

  • (2) ¡maximizing ¡early ¡defect ¡detec:on ¡

¡

5 ¡

slide-7
SLIDE 7

Related ¡Work ¡

6 ¡

Harrold ¡et ¡al., ¡92 ¡ SBC ¡principle ¡with ¡only ¡Inheritance ¡ Kung ¡et ¡al., ¡93 ¡ CITO ¡– ¡SBC ¡principle ¡extended ¡ CITO ¡graph-­‑based ¡approaches ¡

  • Taï ¡& ¡Daniel, ¡97 ¡
  • Le ¡Traon ¡et ¡al., ¡00 ¡
  • Briand ¡et ¡al., ¡01 ¡
  • … ¡
  • Abdurazik ¡et ¡Offut, ¡09 ¡

¡ ¡ CITO ¡heuris:c-­‑based ¡approaches ¡

  • Le ¡Hanh ¡et ¡al., ¡01 ¡
  • Briand ¡et ¡al., ¡02 ¡
  • .. ¡
  • Borner ¡& ¡Peach, ¡09 ¡
  • Verglios ¡et ¡al, ¡12 ¡

METER, ¡CITO ¡in ¡SoTware ¡Evolu1on ¡Context ¡+ ¡Class ¡Priori1za1on ¡

Breaking ¡cycles ¡with ¡minimum ¡ number ¡of ¡removed ¡edges ¡is ¡NP-­‑hard ¡

A ¡ B ¡

AS ¡ AS ¡

slide-8
SLIDE 8

Problem ¡Formaliza1on ¡

  • C ¡is ¡the ¡impact ¡set ¡

¡

  • For ¡ ¡c ¡E ¡C, ¡Prio(c) ¡gives ¡the ¡priority ¡assigned ¡to ¡c ¡

¡

  • (X,Y) ¡means ¡that ¡X ¡depends ¡on ¡Y ¡by ¡a ¡rela:on ¡of ¡As, ¡Ag, ¡or ¡I ¡

¡

  • S ¡=< ¡c1, ¡c2, ¡…, ¡cn>, ¡permuta1on ¡of ¡|C| ¡classes, ¡a ¡solu1on ¡

¡

  • Pos(c, ¡S) ¡ ¡is ¡the ¡rank ¡of ¡c ¡ ¡in ¡S ¡ ¡

¡

  • SBCS, ¡set ¡of ¡of ¡couples ¡(X, ¡Y) ¡with ¡viola:on ¡(Pos(X, ¡S) ¡<Pos(Y, ¡S)) ¡

7 ¡

slide-9
SLIDE 9

Problem ¡Formaliza1on ¡

  • Cost ¡Func:on ¡to ¡be ¡Minimized ¡

¡

8 ¡

Cpx( ¡X,Y ¡) ¡is ¡a ¡complexity ¡measure ¡for ¡the ¡dependency ¡between ¡ ¡X ¡and ¡ ¡Y ¡ ¡ ϒ( ¡Type( ¡X, ¡Y ¡)) ¡a ¡penalty ¡used ¡to ¡favor ¡a ¡certain ¡type ¡of ¡SBC ¡viola:ons ¡ ¡ α ¡ ¡ [0 ¡ ; ¡ 1] ¡ expresses ¡ the ¡ balance ¡ between ¡ the ¡ two ¡ objec:ves: ¡ Early ¡ defect ¡ detec:on ¡ maximiza:on ¡ ¡& ¡SBC ¡principle ¡respect ¡

slide-10
SLIDE 10

Meme1c ¡Algorithm ¡

Meme:c ¡ Algorithms ¡ (Mas) ¡ are ¡ an ¡ enhancement ¡ of ¡ Gene:c ¡ Algorithms ¡(GAs), ¡both ¡being ¡Evolu:onary ¡Algorithms ¡(Eas) ¡

9 ¡

slide-11
SLIDE 11

Meme1c ¡Algorithm ¡

  • MA ¡is ¡an ¡hybrid ¡algorithm: ¡GA ¡+ ¡LS ¡ ¡
  • MA ¡is ¡one ¡of ¡the ¡most ¡powerful ¡exis:ng ¡meta-­‑heuris:c ¡

10 ¡

slide-12
SLIDE 12

Meme1c ¡Algorithm ¡

A ¡configura1on ¡(poten1al ¡solu1on) ¡of ¡the ¡problem ¡corresponds ¡ to ¡any ¡permuta1on ¡of ¡N ¡classes ¡

¡

11 ¡

Crossover ¡Operator: ¡Posi1on-­‑Based ¡Crossover ¡(G. ¡Syswerda, ¡90) ¡ ¡

slide-13
SLIDE 13

Meme1c ¡Algorithm ¡

  • ¡Local ¡Search ¡Operator ¡

Performs ¡ itera:vely ¡ a ¡ move ¡ that ¡ strictly ¡ decreases ¡ the ¡ cost ¡ of ¡ the ¡ solu:on ¡ and ¡ stops ¡ when ¡no ¡more ¡improving ¡move ¡is ¡available ¡

¡

12 ¡

slide-14
SLIDE 14

Process ¡of ¡Using ¡METER ¡

13 ¡

(1) ¡ Iden:fy ¡Changes ¡ Ri-­‑1-­‑>Ri ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(4) ¡ ¡ ¡ ¡ ¡ ¡ ¡M ¡ ¡ ¡ ¡ ¡ ¡E ¡ ¡ ¡ ¡ ¡ ¡T ¡ ¡ ¡ ¡ ¡ ¡E ¡ ¡ ¡ ¡ ¡ ¡R ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Engine ¡ ¡ ¡

(3b) ¡ Build ¡Dependency ¡ Graph ¡ (3a) ¡ Assign ¡ ¡ Priori:es ¡ (2) ¡ Generate ¡ ¡Impact ¡Set ¡ Releases ¡ (source ¡ files) ¡

slide-15
SLIDE 15

Experiment ¡

Goal ¡

Assess ¡the ¡ability ¡of ¡METER ¡to ¡ promote ¡early ¡defect ¡detec:on ¡ while ¡minimizing ¡SBC ¡viola:ons ¡

¡ ¡ ¡

14 ¡

General ¡Research ¡Ques1on ¡ I s ¡ t h e r e ¡ a ¡ t r a d e -­‑ o ff ¡ between ¡ minimizing ¡ SBC ¡ principle ¡ viola:ons ¡ and ¡ early ¡ defect ¡ detec:on ¡ capability? ¡

¡

slide-16
SLIDE 16

Research ¡ques-on ¡1 ¡ What ¡is ¡the ¡effect ¡of ¡class ¡test ¡priority ¡on ¡early ¡ defect ¡detec1on ¡when ¡varying ¡its ¡importance ¡in ¡ determining ¡the ¡test ¡order? ¡

15 ¡

Experiment ¡

slide-17
SLIDE 17

Research ¡ques-on ¡2 ¡ What ¡is ¡the ¡effect ¡of ¡class ¡test ¡ priority ¡on ¡the ¡number ¡of ¡server-­‑ before-­‑client ¡violated ¡constraints ¡ when ¡varying ¡its ¡importance ¡in ¡ determining ¡the ¡test ¡order? ¡

16 ¡

Experiment ¡

slide-18
SLIDE 18
  • Cost ¡Func:on ¡Used ¡

¡

17 ¡

Cpx( ¡X,Y ¡) ¡=1 ¡ ¡ ¡ ϒ( ¡As( ¡X ¡,Y ¡))=1; ¡ϒ( ¡Ag( ¡X,Y ¡))=10; ¡ϒ( ¡Ih( ¡X,Y ¡))=100 ¡ ¡ α ¡=0: ¡No ¡class ¡priori:za:on ¡ α ¡in ¡{0.1,0.25,0.5,0.75}: ¡Class ¡priori:za:on ¡and ¡SBC ¡viola:ons ¡ α ¡=1: ¡Only ¡class ¡priori:za:on ¡ ¡

Experiment ¡

slide-19
SLIDE 19
  • Analyzed ¡Systems ¡

18 ¡

Experiment ¡

Version ¡ Classes ¡ NMC ¡ CIS ¡ Defects ¡

Ant ¡1.6.2 ¡ 623 ¡ 92 ¡ 187 ¡ 30 ¡ Ant ¡1.7.1 ¡ 731 ¡ 209 ¡ 440 ¡ 14 ¡ Argouml ¡0.14 ¡ 1187 ¡ 802 ¡ 1005 ¡ 473 ¡ Argouml ¡0.22 ¡ 1353 ¡ 687 ¡ 876 ¡ 359 ¡ Xerces ¡2.0.1 ¡ 466 ¡ 57 ¡ 92 ¡ 51 ¡ Xerces ¡2.6.2 ¡ 396 ¡ 57 ¡ 88 ¡ 28 ¡

slide-20
SLIDE 20

19 ¡

(1) ¡ Iden:fy ¡Changes ¡ Ri-­‑1-­‑>Ri ¡

¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡(4) ¡ ¡ ¡ ¡ ¡ ¡ ¡M ¡ ¡ ¡ ¡ ¡ ¡E ¡ ¡ ¡ ¡ ¡ ¡T ¡ ¡ ¡ ¡ ¡ ¡E ¡ ¡ ¡ ¡ ¡ ¡R ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Engine ¡ ¡ ¡ ¡

(3b) ¡ Build ¡Dependency ¡ Graph ¡ (3a) ¡ Assign ¡ ¡ Priori:es ¡ (2) ¡ Generate ¡ ¡Impact ¡Set ¡ Releases ¡ (source ¡ files) ¡

P1dej ¡Tools ¡(PADL) ¡ P1dej ¡Tools ¡(PADL) ¡ Perfect ¡Knowledge ¡ Logis1c ¡Regression ¡Model ¡

Data ¡Extrac1on ¡

Experiment ¡

slide-21
SLIDE 21

Class ¡Priori1es ¡Assignment ¡

  • Ideal ¡Situa>on: ¡Perfect ¡knowledge ¡(perfect ¡

defect ¡predictor) ¡ ¡prio(c) ¡= ¡( ¡nbDefects(c) ¡/maxDefects) ¡/( ¡callsite(c)) ¡ ¡

  • Realis>c ¡Situa>on: ¡Real ¡life ¡– ¡Assignment ¡by ¡

defect ¡predic:on ¡mechanisms ¡

prio( ¡c) ¡= ¡defectProba(c) ¡/( ¡callsite( ¡c)) ¡ ¡ ¡ Coverage ¡Criteria: ¡call ¡coupling ¡ ¡

¡

20 ¡

Experiment ¡

slide-22
SLIDE 22

Results ¡

RQ1: ¡Effect ¡of ¡α ¡on ¡early ¡defect ¡detec:on? ¡ ¡

21 ¡

Ideal ¡

slide-23
SLIDE 23

Results ¡

RQ1: ¡Effect ¡of ¡α ¡on ¡early ¡defect ¡detec:on? ¡ ¡

22 ¡

Realis:c ¡

slide-24
SLIDE 24

Results ¡

RQ2: ¡Effect ¡of ¡α ¡on ¡the ¡number ¡of ¡SBC ¡viola:ons? ¡ ¡ ¡

23 ¡

Ideal ¡

Order ¡ As ¡ Ag ¡ Ih ¡ ¡ ¡ ¡ α ¡ 0 ¡ 23 ¡ 0 ¡ 0 ¡ 0.1 ¡ 23.25 ¡ 0 ¡ 0 ¡ 0.25 ¡ 25.15 ¡ 0 ¡ 0 ¡ 0.5 ¡ 43.05 ¡ 0 ¡ 0 ¡ 0.75 ¡ 67 ¡ 0 ¡ 0 ¡ 1 ¡ 272.65 ¡ 8.8 ¡ 51 ¡ Random ¡ 258.6 ¡ 8 ¡ 5.5 ¡ Ideal ¡ 243 ¡ 8 ¡ 63 ¡

slide-25
SLIDE 25

Results ¡

RQ2: ¡Effect ¡of ¡α ¡on ¡the ¡number ¡of ¡SBC ¡viola:ons? ¡ ¡ ¡

24 ¡

Realis:c ¡

Order ¡ As ¡ Ag ¡ Ih ¡ ¡ ¡ ¡ α ¡ 0 ¡ 24 ¡ 0 ¡ 0 ¡ 0.1 ¡ 24 ¡ 0 ¡ 0 ¡ 0.25 ¡ 31 ¡ 0 ¡ 0 ¡ 0.5 ¡ 48.95 ¡ 0 ¡ 0 ¡ 0.75 ¡ 71.05 ¡ 2 ¡ 0 ¡ 1 ¡ 206.35 ¡ 9.85 ¡ 55.4 ¡ Random ¡ 258.6 ¡ 8 ¡ 5.55 ¡ Ideal ¡ 243 ¡ 8 ¡ 63 ¡

slide-26
SLIDE 26

Results ¡

25 ¡

50% ¡vs ¡30 ¡% ¡at ¡20% ¡ ¡ All ¡defects ¡at ¡60% ¡

slide-27
SLIDE 27

Conclusion ¡ ¡

  • METER, ¡ a ¡ new ¡ model ¡ encompassing ¡ test ¡ priority ¡ to ¡

determine ¡a ¡class ¡tes:ng ¡order ¡in ¡evolving ¡soLware ¡

  • An ¡ efficient ¡ and ¡ scalable ¡ meta-­‑heuris:c ¡ to ¡ determine ¡
  • rders ¡based ¡on ¡the ¡METER ¡model ¡
  • Empirical ¡study ¡with ¡main ¡outcomes: ¡

ü ¡The ¡order ¡plays ¡a ¡key ¡role ¡in ¡early ¡defect ¡discovery ¡ ü ¡METER ¡performs ¡bezer ¡than ¡Random ¡ ¡ ü METER ¡can ¡act ¡as ¡a ¡framework ¡to ¡devise ¡compromised ¡orders ¡ that ¡take ¡into ¡account ¡early ¡defect ¡detec:on ¡

¡

  • Future ¡Work ¡

Ø Evaluate ¡the ¡impact ¡of ¡the ¡quality ¡of ¡the ¡predictor ¡on ¡METER ¡ Ø Evaluate ¡the ¡real ¡benefit ¡of ¡using ¡METER ¡ Ø Evaluate ¡more ¡systema:cally ¡the ¡proposed ¡algorithm ¡

26 ¡

slide-28
SLIDE 28

Thanks!

27 ¡

Ideal ¡ Realis:c ¡