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 ¡ ¡
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,
Aminata ¡Sabané, ¡Giuliano ¡Antoniol, ¡Philippe ¡Galinier, ¡ Yann-‑Gaël ¡Guéhéneuc, ¡Massimiliano ¡Di ¡Penta ¡ ¡
Juin ¡2014 ¡ ¡
1 ¡
¡
¡
2 ¡
¡
– fault ¡localiza:on ¡ ¡
¡
¡
3 ¡
¡
– fault ¡localiza:on ¡ ¡ – Early ¡defect ¡detec:on ¡
¡
– Server-‑before-‑client(SBC) ¡principle ¡to ¡reduce ¡ tes:ng ¡effort ¡ – Priori:za:on ¡to ¡maximize ¡early ¡defect ¡detec:on ¡
4 ¡
¡
¡
¡
¡
5 ¡
6 ¡
Harrold ¡et ¡al., ¡92 ¡ SBC ¡principle ¡with ¡only ¡Inheritance ¡ Kung ¡et ¡al., ¡93 ¡ CITO ¡– ¡SBC ¡principle ¡extended ¡ CITO ¡graph-‑based ¡approaches ¡
¡ ¡ CITO ¡heuris:c-‑based ¡approaches ¡
METER, ¡CITO ¡in ¡SoTware ¡Evolu1on ¡Context ¡+ ¡Class ¡Priori1za1on ¡
Breaking ¡cycles ¡with ¡minimum ¡ number ¡of ¡removed ¡edges ¡is ¡NP-‑hard ¡
A ¡ B ¡
AS ¡ AS ¡
¡
¡
¡
¡
¡
7 ¡
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 ¡
Meme:c ¡ Algorithms ¡ (Mas) ¡ are ¡ an ¡ enhancement ¡ of ¡ Gene:c ¡ Algorithms ¡(GAs), ¡both ¡being ¡Evolu:onary ¡Algorithms ¡(Eas) ¡
9 ¡
10 ¡
A ¡configura1on ¡(poten1al ¡solu1on) ¡of ¡the ¡problem ¡corresponds ¡ to ¡any ¡permuta1on ¡of ¡N ¡classes ¡
11 ¡
Crossover ¡Operator: ¡Posi1on-‑Based ¡Crossover ¡(G. ¡Syswerda, ¡90) ¡ ¡
¡
12 ¡
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) ¡
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? ¡
¡
15 ¡
16 ¡
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 ¡ ¡
18 ¡
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 ¡
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 ¡
prio( ¡c) ¡= ¡defectProba(c) ¡/( ¡callsite( ¡c)) ¡ ¡ ¡ Coverage ¡Criteria: ¡call ¡coupling ¡ ¡
20 ¡
21 ¡
Ideal ¡
22 ¡
Realis:c ¡
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 ¡
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 ¡
25 ¡
50% ¡vs ¡30 ¡% ¡at ¡20% ¡ ¡ All ¡defects ¡at ¡60% ¡
determine ¡a ¡class ¡tes:ng ¡order ¡in ¡evolving ¡soLware ¡
ü ¡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 ¡
¡
Ø 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 ¡
27 ¡
Ideal ¡ Realis:c ¡