SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Effec%ve	
  Test	
  Execu%on	
  for	
  SPLs	
  
Sabrina	
  Souto	
  	
  
(Supervisor:	
  Marcelo	
  d’Amorim)	
  
	
  
Federal	
  University	
  of	
  Pernambuco	
  -­‐	
  UFPE	
  
General	
  Assump%on	
  
•  We	
  assume	
  that	
  tests	
  are	
  not	
  designed	
  for	
  
one	
  specific	
  product	
  
– A	
  test	
  can	
  run	
  against	
  several	
  products!	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
General	
  Problem	
  
•  Which	
  products	
  to	
  select	
  for	
  running	
  a	
  
par%cular	
  SPL	
  test	
  against?	
  
Soundness	
  
Efficiency	
  
– One	
  can	
  miss	
  fault-­‐revealing	
  
products	
  in	
  this	
  set	
  
	
  
– One	
  can	
  add	
  irrelevant	
  products	
  	
  
	
  	
  	
  	
  in	
  this	
  set	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Previous	
  selec%on	
  strategies	
  
•  Black-­‐box	
  tes6ng	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
(e.g.,	
  CIT,	
  sampling,	
  exhaus%ve…)	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
[Cohen	
  et.	
  al.,	
  ROSETEA	
  2006];	
  [Yilmaz	
  et.	
  al.,	
  TSE	
  2006]	
  ;	
  
[Perrouin	
  et.	
  al.,	
  ICST	
  2010];	
  [Cabral	
  et.	
  al.,	
  SPLC	
  2010]	
  …	
  
•  White-­‐box	
  tes6ng	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
[Reisner	
  et.	
  al.,	
  ICSE	
  2010],	
  [Kim	
  et.	
  al.,	
  ISSRE	
  2012];	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
[Kim	
  et.	
  al.,	
  AOSD	
  2011]	
  …	
  
•  Gray-­‐box	
  tes6ng	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
[Garvin	
  et.	
  al.,	
  ISSRE	
  2011];	
  [Shi	
  et.	
  al.,	
  FASE	
  2012];	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  
[Song	
  et.	
  al.,	
  ICSE	
  2012]	
  …	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Hypothesis	
  
Few	
  valid	
  configura%ons	
  are	
  
reachable	
  from	
  individual	
  tests	
  
Substan%ated	
  from	
  results	
  in	
  literature:	
  
[Reisner	
  et.	
  al.,	
  ICSE	
  2010]	
  and	
  [Kim	
  et.	
  al.,	
  AOSD	
  2011]	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Ques%ons	
  (revisited	
  in	
  the	
  end)	
  
•  Is	
  efficiency	
  important	
  in	
  this	
  context?	
  
•  Is	
  combinatorial	
  explosion	
  (scalability)	
  
rela%vely	
  less	
  important	
  for	
  tes%ng?	
  
•  Is	
  soundness	
  important	
  for	
  tes%ng?	
  
	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Ques%ons	
  (revisited	
  in	
  the	
  end)	
  
•  Is	
  efficiency	
  important	
  in	
  this	
  context?	
  
•  Is	
  combinatorial	
  explosion	
  (scalability)	
  
rela%vely	
  less	
  important	
  for	
  tes%ng?	
  
•  Is	
  soundness	
  important	
  for	
  tes%ng?	
  
	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Ques%ons	
  (revisited	
  in	
  the	
  end)	
  
•  Is	
  efficiency	
  important	
  in	
  this	
  context?	
  
•  Is	
  combinatorial	
  explosion	
  (scalability)	
  
rela%vely	
  less	
  important	
  for	
  tes%ng?	
  
•  Is	
  soundness	
  important	
  for	
  tes%ng?	
  
	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Ques%ons	
  (revisited	
  in	
  the	
  end)	
  
•  Is	
  efficiency	
  important	
  in	
  this	
  context?	
  
•  Is	
  combinatorial	
  explosion	
  (scalability)	
  
rela%vely	
  less	
  important	
  for	
  tes%ng?	
  
•  Is	
  soundness	
  important	
  for	
  tes%ng?	
  
Our	
  answer	
  is	
  YES	
  to	
  all	
  ques%ons!	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Symbolic	
  Execu%on	
  of	
  Features	
  –	
  SEF	
  	
  
SEF	
  
Test	
  
Program	
  
schemata	
  
Feature	
  
Model	
  
Configura6ons	
  
Symbolic	
  Execu%on	
  has	
  been	
  
proposed	
  in	
  the	
  70’s	
  
Reisner	
  et	
  al.	
  proposed	
  SEF	
  in	
  
2010	
  (ICSE)	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Program	
  Schemata	
  
#IFDEF FEATURE_1
x = 10;
#ELIF
x = 20;
#ENDIF
static boolean feature1;
if(feature1){x = 10;} else { x = 20;}
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Symbolic	
  Execu%on	
  of	
  Features	
  –	
  SEF	
  	
  
SEF	
  
Test	
  
Program	
  
schemata	
  
Feature	
  
Model	
  
Configura6ons	
  
Symbolic	
  Execu%on	
  has	
  been	
  
proposed	
  in	
  the	
  70’s	
  
Reisner	
  et	
  al.	
  proposed	
  SEF	
  in	
  
2010	
  (ICSE)	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Symbolic	
  Execu%on	
  of	
  Features	
  –	
  SEF	
  	
  
[<o1, c1 >, ...]
feature
model
Driver
Test
SAT
solver
test schemata
program
Our	
  goal	
  is	
  to	
  apply	
  SEF	
  to	
  
reach	
  sound	
  and	
  efficient	
  
tes%ng	
  for	
  SPLs	
  
Symbolic	
  Execu%on	
  has	
  been	
  
proposed	
  in	
  the	
  70’s	
  
Reisner	
  et	
  al.	
  proposed	
  SEF	
  in	
  
2010	
  (ICSE)	
  
Insight	
  for	
  efficient	
  
implementa%on	
  is	
  to	
  
par%%on	
  state	
  in	
  two:	
  one	
  
concrete	
  and	
  one	
  symbolic.	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Example	
  
Valid	
  paths:	
  
[2	
  3	
  8	
  6	
  7	
  5]	
  
[2	
  3	
  8	
  -­‐6	
  7	
  5]	
  
Invalid	
  paths:	
  
[-­‐2] 	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  -­‐7]	
  
[2	
  -­‐3	
  8]	
   	
   	
   	
  [2	
  3	
  8	
  6	
  -­‐7]	
  
[2	
  -­‐3	
  -­‐8]	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  7	
  -­‐5]	
  
[2	
  	
  3	
  -­‐8] 	
   	
   	
  [2	
  3	
  8	
  	
  6	
  7	
  -­‐5]	
  
	
  
	
  
Sudoku	
  Feature	
  Model	
   Test1	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Base(2)	
  
Generator(8)	
  
States(3)	
  
Generator(8)	
  
Color(6)	
  
Solver(7)	
   Solver(7)	
  
Undo(8)	
   Undo(8)	
  
X	
  
X	
   X	
   X	
  
X	
   X	
  
X	
   X	
  ✓ ✓
-­‐2	
   2	
  
-­‐3	
   3	
  
8	
  -­‐8	
   8	
   -­‐8	
  
-­‐6	
   6	
  
-­‐7	
   -­‐7	
  7	
   7	
  
5	
   5	
  -­‐5	
  -­‐5	
  
Example	
  
Sudoku	
  Feature	
  Model	
   Test1	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Base(2)	
  
Generator(8)	
  
States(3)	
  
Generator(8)	
  
Color(6)	
  
Solver(7)	
   Solver(7)	
  
Undo(8)	
   Undo(8)	
  
X	
  
X	
   X	
   X	
  
X	
   X	
  
X	
   X	
  ✓ ✓
-­‐2	
   2	
  
-­‐3	
   3	
  
8	
  -­‐8	
   8	
   -­‐8	
  
-­‐6	
   6	
  
-­‐7	
   -­‐7	
  7	
   7	
  
5	
   5	
  -­‐5	
  -­‐5	
  
Valid	
  paths:	
  
[2	
  3	
  8	
  6	
  7	
  5]	
  
[2	
  3	
  8	
  -­‐6	
  7	
  5]	
  
Invalid	
  paths:	
  
[-­‐2] 	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  -­‐7]	
  
[2	
  -­‐3	
  8]	
   	
   	
   	
  [2	
  3	
  8	
  6	
  -­‐7]	
  
[2	
  -­‐3	
  -­‐8]	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  7	
  -­‐5]	
  
[2	
  	
  3	
  -­‐8] 	
   	
   	
  [2	
  3	
  8	
  	
  6	
  7	
  -­‐5]	
  
	
  
	
  
Example	
  
Valid	
  paths:	
  
[2	
  3	
  8	
  6	
  7	
  5]	
  
[2	
  3	
  8	
  -­‐6	
  7	
  5]	
  
Invalid	
  paths:	
  
[-­‐2] 	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  -­‐7]	
  
[2	
  -­‐3	
  8]	
   	
   	
   	
  [2	
  3	
  8	
  6	
  -­‐7]	
  
[2	
  -­‐3	
  -­‐8]	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  7	
  -­‐5]	
  
[2	
  	
  3	
  -­‐8] 	
   	
   	
  [2	
  3	
  8	
  	
  6	
  7	
  -­‐5]	
  
	
  
	
  
Sudoku	
  Feature	
  Model	
   Test1	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Feature	
  
Model	
  
Base(2)	
  
Generator(8)	
  
States(3)	
  
Generator(8)	
  
Color(6)	
  
Solver(7)	
   Solver(7)	
  
Undo(8)	
   Undo(8)	
  
X	
  
X	
   X	
   X	
  
X	
   X	
  
X	
   X	
  ✓ ✓
-­‐2	
   2	
  
-­‐3	
   3	
  
8	
  -­‐8	
   8	
   -­‐8	
  
-­‐6	
   6	
  
-­‐7	
   -­‐7	
  7	
   7	
  
5	
   5	
  -­‐5	
  -­‐5	
  
Example	
  
Valid	
  paths:	
  
[2	
  3	
  8	
  6	
  7	
  5]	
  
[2	
  3	
  8	
  -­‐6	
  7	
  5]	
  
Invalid	
  paths:	
  
[-­‐2] 	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  -­‐7]	
  
[2	
  -­‐3	
  8]	
   	
   	
   	
  [2	
  3	
  8	
  6	
  -­‐7]	
  
[2	
  -­‐3	
  -­‐8]	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  7	
  -­‐5]	
  
[2	
  	
  3	
  -­‐8] 	
   	
   	
  [2	
  3	
  8	
  	
  6	
  7	
  -­‐5]	
  
	
  
	
  
Sudoku	
  Feature	
  Model	
   Test1	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Feature	
  
Model	
  
Test	
  
Base(2)	
  
Generator(8)	
  
States(3)	
  
Generator(8)	
  
Color(6)	
  
Solver(7)	
   Solver(7)	
  
Undo(8)	
   Undo(8)	
  
X	
  
X	
   X	
   X	
  
X	
   X	
  
X	
   X	
  ✓ ✓
-­‐2	
   2	
  
-­‐3	
   3	
  
8	
  -­‐8	
   8	
   -­‐8	
  
-­‐6	
   6	
  
-­‐7	
   -­‐7	
  7	
   7	
  
5	
   5	
  -­‐5	
  -­‐5	
  
public class SudokuGenerator{ //…!
public Board generate() {!
if(GENERATOR)){!
Board board = new Board(); !
fillBoard(board); !
! makeSolvable(board, 50) ! !
! return board;!
}!
}!
//…!
private void fillBoard(Board board){!
if(GENERATOR)){ !
BoardManager bm = new BoardManager(); !
! //…!
! bm.undo(); !!
//…!
}!
}!
//…!
}!
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
public class Test{ //…!
BoardManager bm;!
SudokuGenerator sGen;!
public static void test1(){!
if(BASE){!
this.bm = new BoardManager();!
if(GENERATOR){!
this.sGen = new SudokuGenerator();!
} !
}!
} //…!
}!
public class BoardManager{ //…!
public BoardManager(){!
if(BASE){// …!
if(STATES){/*…*/} !
!} !
}!
//…!
public void undo(){!
if(UNDO){/*…*/}!
}!
//…!
}!
public class Board { //…!
public Board () {!
if(BASE){ //…!
this.board[i] = new Field();!
} !
}//…!
}!
public class Field{ //…!
public Field() {!
if(BASE){ //…!
if(COLOR){!
! !//…!
! } !
! if(SOLVER){/*…*/} !
} !
}//…!
}!
1	
  
2	
  
3	
  
4	
  
5	
  
6	
  
Example	
  
Valid	
  paths:	
  
[2	
  3	
  8	
  6	
  7	
  5]	
  
[2	
  3	
  8	
  -­‐6	
  7	
  5]	
  
Invalid	
  paths:	
  
[-­‐2] 	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  -­‐7]	
  
[2	
  -­‐3	
  8]	
   	
   	
   	
  [2	
  3	
  8	
  6	
  -­‐7]	
  
[2	
  -­‐3	
  -­‐8]	
   	
   	
   	
  [2	
  3	
  8	
  -­‐6	
  7	
  -­‐5]	
  
[2	
  	
  3	
  -­‐8] 	
   	
   	
  [2	
  3	
  8	
  	
  6	
  7	
  -­‐5]	
  
	
  
	
  
Sudoku	
  Feature	
  Model	
   Test1	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Feature	
  
Model	
  
Test	
  
Base(2)	
  
Generator(8)	
  
States(3)	
  
Generator(8)	
  
Color(6)	
  
Solver(7)	
   Solver(7)	
  
Undo(8)	
   Undo(8)	
  
X	
  
X	
   X	
   X	
  
X	
   X	
  
X	
   X	
  ✓ ✓
-­‐2	
   2	
  
-­‐3	
   3	
  
8	
  -­‐8	
   8	
   -­‐8	
  
-­‐6	
   6	
  
-­‐7	
   -­‐7	
  7	
   7	
  
5	
   5	
  -­‐5	
  -­‐5	
  
Par%%on	
  of	
  configura%on	
  space	
  
…	
  
P1	
  	
  	
  	
  	
  	
  P2	
  
	
  	
  	
  	
  	
  P3 	
  	
  	
  	
  P4	
  
P5	
  
P1	
  	
  	
  	
  	
   	
  	
  	
  P2	
  
	
  	
  	
  	
  	
  	
  	
  P3 	
   	
  	
  
	
   	
  ...Pm	
  
P1	
  
	
  P2
	
  	
  
	
  
P1 	
   	
  P2 	
  	
  
	
  P3 	
  	
  	
  	
  	
  	
  	
  	
  	
  …Pn	
  
P4	
  
P1	
  
	
   	
  P2 	
  	
  
	
  P3 	
   	
  	
  
	
   	
  ...Pm	
  
2n	
  
There	
  is	
  no	
  dis%nc%on	
  amongst	
  the	
  configura%ons	
  from	
  the	
  same	
  par%%on	
  with	
  
respect	
  to	
  the	
  states	
  they	
  elaborate	
  during	
  the	
  test	
  execu%on.	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Research	
  Ques%ons	
  
•  RQ1:	
  How	
  SEF	
  compares	
  to	
  an	
  ideal	
  sampler?	
  
•  RQ2:	
  What	
  is	
  the	
  impact	
  of	
  further	
  constraining	
  
the	
  model	
  for	
  test	
  execu%on?	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Subjects	
  of	
  Analysis	
  	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
RQ1	
  
How	
  SEF	
  compares	
  to	
  an	
  ideal	
  sampler?	
  
101.1.1
101.2.1
101.3.1
101.4.1
101.5.1
101.6.1
101.7.1
101.8.1
101.9.1
01.10.1
01.11.1
01.12.1
01.13.1
bdb.5.1
jto.1.1
jto.1.2
jto.2.1
jto.3.1
jto.4.1
npd.1.1
npd.2.1
npd.3.1
prv.2.1
prv.3.1
prv.4.1
sdk.1.1
sdk.2.1
sdk.3.1
sdk.4.1
xst.1.1
xst.1.2
xst.1.3
xst.1.4
xst.1.5
xst.1.6
xst.1.7
xst.1.8
xst.1.9
zip.1.1
zip.2.1
time(inseconds)
0.00.20.40.6
running feasible paths
running infeasible paths
solving constraints <	
  1	
  second	
  
gpl.1.1
gpl.1.2
gpl.1.3
gpl.1.4
gpl.1.5
gpl.1.6
gpl.1.7
gpl.1.8
gpl.1.9
jto.1.3
jto.1.4
jto.1.5
jto.1.6
jto.1.7
jto.1.8
jto.1.9
prv.1.1
time(inseconds)
0102030
running feasible paths
running infeasible paths
solving constraints
RQ1	
  
How	
  SEF	
  compares	
  to	
  an	
  ideal	
  sampler?	
  
Average	
  overhead	
  of	
  
SEF	
  compared	
  to	
  an	
  
ideal	
  sampler	
  is	
  of	
  7%	
  	
  
>	
  1	
  second	
  
<	
  1	
  minute	
  
Observa%ons	
  
•  We	
   considered	
   9	
   previously-­‐used	
   SPLs	
   with	
  
exis%ng	
  test	
  cases	
  (We	
  did	
  not	
  generate	
  new)	
  
•  For	
  most	
  SEF	
  runs	
  it	
  took	
  less	
  than	
  1	
  second	
  
•  BerkeleyDB	
  took	
  much	
  longer	
  to	
  run!	
  
– System	
  tests	
  covering	
  most	
  features	
  in	
  each	
  path	
  	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
RQ2	
  
What	
  is	
  the	
  impact	
  of	
  further	
  constraining	
  the	
  
model	
  on	
  SEF?	
  
Can	
  one	
  iden%fy	
  
groups	
  of	
  related	
  
features	
  from	
  
changes	
  and	
  one	
  
test?	
  
Possible	
  Future	
  Work	
  	
  
(I	
  need	
  your	
  help	
  here)	
  
•  Bener	
  understand	
  scalability	
  for	
  SPL	
  tes%ng	
  
– Evaluate	
  the	
  importance	
  of	
  scalability	
  for	
  tes%ng	
  on	
  
a	
  much	
  larger	
  set	
  of	
  SPLs	
  
•  Address	
  scalability	
  (if	
  indeed	
  a	
  big	
  problem)	
  
– Possible	
  Solu%ons:	
  
•  Use	
  composi%onal	
  symbolic	
  execu%on	
  
•  Collapse	
  paths	
  with	
  similar	
  states	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Possible	
  Future	
  Work	
  	
  
(I	
  need	
  your	
  help	
  here)	
  
•  Improve	
  automa%on	
  
– Program	
  schemata	
  genera%on	
  can	
  be	
  imprac%cal	
  
– Possible	
  Solu%on:	
  
•  Generate	
   products	
   on	
   demand	
   and	
   use	
   incremental	
  
compila%on	
  
•  Use	
  Concolic	
  Execu%on	
  of	
  Features	
  (CEF)	
  
•  We	
  can	
  also	
  contribute	
  to	
  find	
  type-­‐errors	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  
Ques%ons	
  Revisited	
  
•  Is	
  efficiency	
  important?	
  
•  Is	
  combinatorial	
  explosion	
  (scalability)	
  
rela%vely	
  less	
  important	
  for	
  tes%ng?	
  
•  Is	
  soundness	
  important	
  for	
  tes%ng?	
  
Our	
  answer	
  was	
  YES	
  to	
  all!	
  
What	
  is	
  your	
  opinion?	
  
Dagstuhl	
  Seminar	
  13091,	
  Sabrina	
  Souto,	
  
sfs@cin.ufpe.br	
  

Mais conteúdo relacionado

Semelhante a Effective Test Execution for SPLs

[CVPR2020] Simple but effective image enhancement techniques
[CVPR2020] Simple but effective image enhancement techniques[CVPR2020] Simple but effective image enhancement techniques
[CVPR2020] Simple but effective image enhancement techniquesJaeJun Yoo
 
Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Lionel Briand
 
Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...
Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...
Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...Xavier Llorà
 
Techorama 2017 - Testing the unit, and beyond.
Techorama 2017 - Testing the unit, and beyond.Techorama 2017 - Testing the unit, and beyond.
Techorama 2017 - Testing the unit, and beyond.Bert Brouns
 
Recent and Robust Query Auto-Completion - WWW 2014 Conference Presentation
Recent and Robust Query Auto-Completion - WWW 2014 Conference PresentationRecent and Robust Query Auto-Completion - WWW 2014 Conference Presentation
Recent and Robust Query Auto-Completion - WWW 2014 Conference Presentationstewhir
 
Explainable Online Reinforcement Learning for Adaptive Systems
Explainable Online Reinforcement Learning for Adaptive SystemsExplainable Online Reinforcement Learning for Adaptive Systems
Explainable Online Reinforcement Learning for Adaptive SystemsAndreas Metzger
 
Six sigma - yellow belt program v3-030610
Six sigma - yellow belt program v3-030610Six sigma - yellow belt program v3-030610
Six sigma - yellow belt program v3-030610Prabhu Subramanian
 
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size J. García - Verdugo
 
Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...
Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...
Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...David Dooling
 
IRJET- Optimization of Plastic Injection Molding
IRJET- Optimization of Plastic Injection MoldingIRJET- Optimization of Plastic Injection Molding
IRJET- Optimization of Plastic Injection MoldingIRJET Journal
 
영유아 발달 증진을 위한 모바일 시스템 디자인
영유아 발달 증진을 위한 모바일 시스템 디자인영유아 발달 증진을 위한 모바일 시스템 디자인
영유아 발달 증진을 위한 모바일 시스템 디자인NAVER Engineering
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...David Rosenblum
 
Simple rules for building robust machine learning models
Simple rules for building robust machine learning modelsSimple rules for building robust machine learning models
Simple rules for building robust machine learning modelsKyriakos Chatzidimitriou
 
空英課程 Agile development 2014
空英課程 Agile development 2014空英課程 Agile development 2014
空英課程 Agile development 2014芋頭 烤
 
Shift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaShift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaQA or the Highway
 
Prescriptive Analytics.pptx
Prescriptive Analytics.pptxPrescriptive Analytics.pptx
Prescriptive Analytics.pptxDhruvPatel622666
 
Ae abc general_grenoble_29_juin_25_30_min
Ae abc general_grenoble_29_juin_25_30_minAe abc general_grenoble_29_juin_25_30_min
Ae abc general_grenoble_29_juin_25_30_minMichael Blum
 
Advanced Econometrics L7-8.pptx
Advanced Econometrics L7-8.pptxAdvanced Econometrics L7-8.pptx
Advanced Econometrics L7-8.pptxakashayosha
 

Semelhante a Effective Test Execution for SPLs (20)

[CVPR2020] Simple but effective image enhancement techniques
[CVPR2020] Simple but effective image enhancement techniques[CVPR2020] Simple but effective image enhancement techniques
[CVPR2020] Simple but effective image enhancement techniques
 
Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...Combining genetic algoriths and constraint programming to support stress test...
Combining genetic algoriths and constraint programming to support stress test...
 
Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...
Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...
Do not Match, Inherit: Fitness Surrogates for Genetics-Based Machine Learning...
 
Techorama 2017 - Testing the unit, and beyond.
Techorama 2017 - Testing the unit, and beyond.Techorama 2017 - Testing the unit, and beyond.
Techorama 2017 - Testing the unit, and beyond.
 
Recent and Robust Query Auto-Completion - WWW 2014 Conference Presentation
Recent and Robust Query Auto-Completion - WWW 2014 Conference PresentationRecent and Robust Query Auto-Completion - WWW 2014 Conference Presentation
Recent and Robust Query Auto-Completion - WWW 2014 Conference Presentation
 
Explainable Online Reinforcement Learning for Adaptive Systems
Explainable Online Reinforcement Learning for Adaptive SystemsExplainable Online Reinforcement Learning for Adaptive Systems
Explainable Online Reinforcement Learning for Adaptive Systems
 
Six sigma - yellow belt program v3-030610
Six sigma - yellow belt program v3-030610Six sigma - yellow belt program v3-030610
Six sigma - yellow belt program v3-030610
 
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size
Javier Garcia - Verdugo Sanchez - Six Sigma Training - W3 Sample Size
 
Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...
Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...
Challenges with Data Quality, Sharing, and Versioning in Next-Generation Sequ...
 
IRJET- Optimization of Plastic Injection Molding
IRJET- Optimization of Plastic Injection MoldingIRJET- Optimization of Plastic Injection Molding
IRJET- Optimization of Plastic Injection Molding
 
영유아 발달 증진을 위한 모바일 시스템 디자인
영유아 발달 증진을 위한 모바일 시스템 디자인영유아 발달 증진을 위한 모바일 시스템 디자인
영유아 발달 증진을 위한 모바일 시스템 디자인
 
Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...Jogging While Driving, and Other Software Engineering Research Problems (invi...
Jogging While Driving, and Other Software Engineering Research Problems (invi...
 
Simple rules for building robust machine learning models
Simple rules for building robust machine learning modelsSimple rules for building robust machine learning models
Simple rules for building robust machine learning models
 
空英課程 Agile development 2014
空英課程 Agile development 2014空英課程 Agile development 2014
空英課程 Agile development 2014
 
Shift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David LaulusaShift-Left Testing: QA in a DevOps World by David Laulusa
Shift-Left Testing: QA in a DevOps World by David Laulusa
 
Prescriptive Analytics.pptx
Prescriptive Analytics.pptxPrescriptive Analytics.pptx
Prescriptive Analytics.pptx
 
Dialog
DialogDialog
Dialog
 
Ae abc general_grenoble_29_juin_25_30_min
Ae abc general_grenoble_29_juin_25_30_minAe abc general_grenoble_29_juin_25_30_min
Ae abc general_grenoble_29_juin_25_30_min
 
Advanced Econometrics L7-8.pptx
Advanced Econometrics L7-8.pptxAdvanced Econometrics L7-8.pptx
Advanced Econometrics L7-8.pptx
 
Qm
QmQm
Qm
 

Último

Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Celine George
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxCarlos105
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4MiaBumagat1
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxnelietumpap1
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSJoshuaGantuangco2
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfTechSoup
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfSpandanaRallapalli
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceSamikshaHamane
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...Nguyen Thanh Tu Collection
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Celine George
 

Último (20)

OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
Incoming and Outgoing Shipments in 3 STEPS Using Odoo 17
 
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptxBarangay Council for the Protection of Children (BCPC) Orientation.pptx
Barangay Council for the Protection of Children (BCPC) Orientation.pptx
 
ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4ANG SEKTOR NG agrikultura.pptx QUARTER 4
ANG SEKTOR NG agrikultura.pptx QUARTER 4
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Q4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptxQ4 English4 Week3 PPT Melcnmg-based.pptx
Q4 English4 Week3 PPT Melcnmg-based.pptx
 
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTSGRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
GRADE 4 - SUMMATIVE TEST QUARTER 4 ALL SUBJECTS
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdfInclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
Inclusivity Essentials_ Creating Accessible Websites for Nonprofits .pdf
 
ACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdfACC 2024 Chronicles. Cardiology. Exam.pdf
ACC 2024 Chronicles. Cardiology. Exam.pdf
 
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptxYOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
YOUVE GOT EMAIL_FINALS_EL_DORADO_2024.pptx
 
Roles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in PharmacovigilanceRoles & Responsibilities in Pharmacovigilance
Roles & Responsibilities in Pharmacovigilance
 
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptxLEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
LEFT_ON_C'N_ PRELIMS_EL_DORADO_2024.pptx
 
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptxYOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
YOUVE_GOT_EMAIL_PRELIMS_EL_DORADO_2024.pptx
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
HỌC TỐT TIẾNG ANH 11 THEO CHƯƠNG TRÌNH GLOBAL SUCCESS ĐÁP ÁN CHI TIẾT - CẢ NĂ...
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 
Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17Field Attribute Index Feature in Odoo 17
Field Attribute Index Feature in Odoo 17
 

Effective Test Execution for SPLs

  • 1. Effec%ve  Test  Execu%on  for  SPLs   Sabrina  Souto     (Supervisor:  Marcelo  d’Amorim)     Federal  University  of  Pernambuco  -­‐  UFPE  
  • 2. General  Assump%on   •  We  assume  that  tests  are  not  designed  for   one  specific  product   – A  test  can  run  against  several  products!   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 3. General  Problem   •  Which  products  to  select  for  running  a   par%cular  SPL  test  against?   Soundness   Efficiency   – One  can  miss  fault-­‐revealing   products  in  this  set     – One  can  add  irrelevant  products            in  this  set   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 4. Previous  selec%on  strategies   •  Black-­‐box  tes6ng                                                                                                     (e.g.,  CIT,  sampling,  exhaus%ve…)                                                 [Cohen  et.  al.,  ROSETEA  2006];  [Yilmaz  et.  al.,  TSE  2006]  ;   [Perrouin  et.  al.,  ICST  2010];  [Cabral  et.  al.,  SPLC  2010]  …   •  White-­‐box  tes6ng                                                                                                                   [Reisner  et.  al.,  ICSE  2010],  [Kim  et.  al.,  ISSRE  2012];                           [Kim  et.  al.,  AOSD  2011]  …   •  Gray-­‐box  tes6ng                                                                                                                         [Garvin  et.  al.,  ISSRE  2011];  [Shi  et.  al.,  FASE  2012];                               [Song  et.  al.,  ICSE  2012]  …   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 5. Hypothesis   Few  valid  configura%ons  are   reachable  from  individual  tests   Substan%ated  from  results  in  literature:   [Reisner  et.  al.,  ICSE  2010]  and  [Kim  et.  al.,  AOSD  2011]   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 6. Ques%ons  (revisited  in  the  end)   •  Is  efficiency  important  in  this  context?   •  Is  combinatorial  explosion  (scalability)   rela%vely  less  important  for  tes%ng?   •  Is  soundness  important  for  tes%ng?     Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 7. Ques%ons  (revisited  in  the  end)   •  Is  efficiency  important  in  this  context?   •  Is  combinatorial  explosion  (scalability)   rela%vely  less  important  for  tes%ng?   •  Is  soundness  important  for  tes%ng?     Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 8. Ques%ons  (revisited  in  the  end)   •  Is  efficiency  important  in  this  context?   •  Is  combinatorial  explosion  (scalability)   rela%vely  less  important  for  tes%ng?   •  Is  soundness  important  for  tes%ng?     Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 9. Ques%ons  (revisited  in  the  end)   •  Is  efficiency  important  in  this  context?   •  Is  combinatorial  explosion  (scalability)   rela%vely  less  important  for  tes%ng?   •  Is  soundness  important  for  tes%ng?   Our  answer  is  YES  to  all  ques%ons!   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 10. Symbolic  Execu%on  of  Features  –  SEF     SEF   Test   Program   schemata   Feature   Model   Configura6ons   Symbolic  Execu%on  has  been   proposed  in  the  70’s   Reisner  et  al.  proposed  SEF  in   2010  (ICSE)   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 11. Program  Schemata   #IFDEF FEATURE_1 x = 10; #ELIF x = 20; #ENDIF static boolean feature1; if(feature1){x = 10;} else { x = 20;} Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 12. Symbolic  Execu%on  of  Features  –  SEF     SEF   Test   Program   schemata   Feature   Model   Configura6ons   Symbolic  Execu%on  has  been   proposed  in  the  70’s   Reisner  et  al.  proposed  SEF  in   2010  (ICSE)   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 13. Symbolic  Execu%on  of  Features  –  SEF     [<o1, c1 >, ...] feature model Driver Test SAT solver test schemata program Our  goal  is  to  apply  SEF  to   reach  sound  and  efficient   tes%ng  for  SPLs   Symbolic  Execu%on  has  been   proposed  in  the  70’s   Reisner  et  al.  proposed  SEF  in   2010  (ICSE)   Insight  for  efficient   implementa%on  is  to   par%%on  state  in  two:  one   concrete  and  one  symbolic.   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 14. Example   Valid  paths:   [2  3  8  6  7  5]   [2  3  8  -­‐6  7  5]   Invalid  paths:   [-­‐2]        [2  3  8  -­‐6  -­‐7]   [2  -­‐3  8]        [2  3  8  6  -­‐7]   [2  -­‐3  -­‐8]        [2  3  8  -­‐6  7  -­‐5]   [2    3  -­‐8]      [2  3  8    6  7  -­‐5]       Sudoku  Feature  Model   Test1   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br   Base(2)   Generator(8)   States(3)   Generator(8)   Color(6)   Solver(7)   Solver(7)   Undo(8)   Undo(8)   X   X   X   X   X   X   X   X  ✓ ✓ -­‐2   2   -­‐3   3   8  -­‐8   8   -­‐8   -­‐6   6   -­‐7   -­‐7  7   7   5   5  -­‐5  -­‐5  
  • 15. Example   Sudoku  Feature  Model   Test1   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br   Base(2)   Generator(8)   States(3)   Generator(8)   Color(6)   Solver(7)   Solver(7)   Undo(8)   Undo(8)   X   X   X   X   X   X   X   X  ✓ ✓ -­‐2   2   -­‐3   3   8  -­‐8   8   -­‐8   -­‐6   6   -­‐7   -­‐7  7   7   5   5  -­‐5  -­‐5   Valid  paths:   [2  3  8  6  7  5]   [2  3  8  -­‐6  7  5]   Invalid  paths:   [-­‐2]        [2  3  8  -­‐6  -­‐7]   [2  -­‐3  8]        [2  3  8  6  -­‐7]   [2  -­‐3  -­‐8]        [2  3  8  -­‐6  7  -­‐5]   [2    3  -­‐8]      [2  3  8    6  7  -­‐5]      
  • 16. Example   Valid  paths:   [2  3  8  6  7  5]   [2  3  8  -­‐6  7  5]   Invalid  paths:   [-­‐2]        [2  3  8  -­‐6  -­‐7]   [2  -­‐3  8]        [2  3  8  6  -­‐7]   [2  -­‐3  -­‐8]        [2  3  8  -­‐6  7  -­‐5]   [2    3  -­‐8]      [2  3  8    6  7  -­‐5]       Sudoku  Feature  Model   Test1   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br   Feature   Model   Base(2)   Generator(8)   States(3)   Generator(8)   Color(6)   Solver(7)   Solver(7)   Undo(8)   Undo(8)   X   X   X   X   X   X   X   X  ✓ ✓ -­‐2   2   -­‐3   3   8  -­‐8   8   -­‐8   -­‐6   6   -­‐7   -­‐7  7   7   5   5  -­‐5  -­‐5  
  • 17. Example   Valid  paths:   [2  3  8  6  7  5]   [2  3  8  -­‐6  7  5]   Invalid  paths:   [-­‐2]        [2  3  8  -­‐6  -­‐7]   [2  -­‐3  8]        [2  3  8  6  -­‐7]   [2  -­‐3  -­‐8]        [2  3  8  -­‐6  7  -­‐5]   [2    3  -­‐8]      [2  3  8    6  7  -­‐5]       Sudoku  Feature  Model   Test1   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br   Feature   Model   Test   Base(2)   Generator(8)   States(3)   Generator(8)   Color(6)   Solver(7)   Solver(7)   Undo(8)   Undo(8)   X   X   X   X   X   X   X   X  ✓ ✓ -­‐2   2   -­‐3   3   8  -­‐8   8   -­‐8   -­‐6   6   -­‐7   -­‐7  7   7   5   5  -­‐5  -­‐5  
  • 18. public class SudokuGenerator{ //…! public Board generate() {! if(GENERATOR)){! Board board = new Board(); ! fillBoard(board); ! ! makeSolvable(board, 50) ! ! ! return board;! }! }! //…! private void fillBoard(Board board){! if(GENERATOR)){ ! BoardManager bm = new BoardManager(); ! ! //…! ! bm.undo(); !! //…! }! }! //…! }! Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br   public class Test{ //…! BoardManager bm;! SudokuGenerator sGen;! public static void test1(){! if(BASE){! this.bm = new BoardManager();! if(GENERATOR){! this.sGen = new SudokuGenerator();! } ! }! } //…! }! public class BoardManager{ //…! public BoardManager(){! if(BASE){// …! if(STATES){/*…*/} ! !} ! }! //…! public void undo(){! if(UNDO){/*…*/}! }! //…! }! public class Board { //…! public Board () {! if(BASE){ //…! this.board[i] = new Field();! } ! }//…! }! public class Field{ //…! public Field() {! if(BASE){ //…! if(COLOR){! ! !//…! ! } ! ! if(SOLVER){/*…*/} ! } ! }//…! }! 1   2   3   4   5   6  
  • 19. Example   Valid  paths:   [2  3  8  6  7  5]   [2  3  8  -­‐6  7  5]   Invalid  paths:   [-­‐2]        [2  3  8  -­‐6  -­‐7]   [2  -­‐3  8]        [2  3  8  6  -­‐7]   [2  -­‐3  -­‐8]        [2  3  8  -­‐6  7  -­‐5]   [2    3  -­‐8]      [2  3  8    6  7  -­‐5]       Sudoku  Feature  Model   Test1   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br   Feature   Model   Test   Base(2)   Generator(8)   States(3)   Generator(8)   Color(6)   Solver(7)   Solver(7)   Undo(8)   Undo(8)   X   X   X   X   X   X   X   X  ✓ ✓ -­‐2   2   -­‐3   3   8  -­‐8   8   -­‐8   -­‐6   6   -­‐7   -­‐7  7   7   5   5  -­‐5  -­‐5  
  • 20. Par%%on  of  configura%on  space   …   P1            P2            P3        P4   P5   P1                P2                P3          ...Pm   P1    P2       P1    P2      P3                  …Pn   P4   P1      P2      P3          ...Pm   2n   There  is  no  dis%nc%on  amongst  the  configura%ons  from  the  same  par%%on  with   respect  to  the  states  they  elaborate  during  the  test  execu%on.   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 21. Research  Ques%ons   •  RQ1:  How  SEF  compares  to  an  ideal  sampler?   •  RQ2:  What  is  the  impact  of  further  constraining   the  model  for  test  execu%on?   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 22. Subjects  of  Analysis     Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 23. RQ1   How  SEF  compares  to  an  ideal  sampler?   101.1.1 101.2.1 101.3.1 101.4.1 101.5.1 101.6.1 101.7.1 101.8.1 101.9.1 01.10.1 01.11.1 01.12.1 01.13.1 bdb.5.1 jto.1.1 jto.1.2 jto.2.1 jto.3.1 jto.4.1 npd.1.1 npd.2.1 npd.3.1 prv.2.1 prv.3.1 prv.4.1 sdk.1.1 sdk.2.1 sdk.3.1 sdk.4.1 xst.1.1 xst.1.2 xst.1.3 xst.1.4 xst.1.5 xst.1.6 xst.1.7 xst.1.8 xst.1.9 zip.1.1 zip.2.1 time(inseconds) 0.00.20.40.6 running feasible paths running infeasible paths solving constraints <  1  second  
  • 24. gpl.1.1 gpl.1.2 gpl.1.3 gpl.1.4 gpl.1.5 gpl.1.6 gpl.1.7 gpl.1.8 gpl.1.9 jto.1.3 jto.1.4 jto.1.5 jto.1.6 jto.1.7 jto.1.8 jto.1.9 prv.1.1 time(inseconds) 0102030 running feasible paths running infeasible paths solving constraints RQ1   How  SEF  compares  to  an  ideal  sampler?   Average  overhead  of   SEF  compared  to  an   ideal  sampler  is  of  7%     >  1  second   <  1  minute  
  • 25. Observa%ons   •  We   considered   9   previously-­‐used   SPLs   with   exis%ng  test  cases  (We  did  not  generate  new)   •  For  most  SEF  runs  it  took  less  than  1  second   •  BerkeleyDB  took  much  longer  to  run!   – System  tests  covering  most  features  in  each  path     Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 26. RQ2   What  is  the  impact  of  further  constraining  the   model  on  SEF?   Can  one  iden%fy   groups  of  related   features  from   changes  and  one   test?  
  • 27. Possible  Future  Work     (I  need  your  help  here)   •  Bener  understand  scalability  for  SPL  tes%ng   – Evaluate  the  importance  of  scalability  for  tes%ng  on   a  much  larger  set  of  SPLs   •  Address  scalability  (if  indeed  a  big  problem)   – Possible  Solu%ons:   •  Use  composi%onal  symbolic  execu%on   •  Collapse  paths  with  similar  states   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 28. Possible  Future  Work     (I  need  your  help  here)   •  Improve  automa%on   – Program  schemata  genera%on  can  be  imprac%cal   – Possible  Solu%on:   •  Generate   products   on   demand   and   use   incremental   compila%on   •  Use  Concolic  Execu%on  of  Features  (CEF)   •  We  can  also  contribute  to  find  type-­‐errors   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br  
  • 29. Ques%ons  Revisited   •  Is  efficiency  important?   •  Is  combinatorial  explosion  (scalability)   rela%vely  less  important  for  tes%ng?   •  Is  soundness  important  for  tes%ng?   Our  answer  was  YES  to  all!   What  is  your  opinion?   Dagstuhl  Seminar  13091,  Sabrina  Souto,   sfs@cin.ufpe.br