More than Just Lines on a Map: Best Practices for U.S Bike Routes
Software Testing for Variability Intensive Systems
1. www.unamur.be
Software Testing for Variability-
Intensive Systems
Gilles Perrouin
PReCISE, University of Namur
gilles.perrouin@unamur.be
INRIA DiVERSE, March 2015
4. www.unamur.be gilles.perrouin@unamur.be
About Me… (for newcomers)
PhD in SE jointly from UNamur and U. of Luxembourg
(2007)
Supervisors: P. Heymans, N. Guelfi
Topic: Flexible modelling & Method for SPL derivation
Postdoc in INRIA Triskell team (now DiVERSE, 2007-2009)
Automated SPL derivation
``Variability modelling everywhere” (Dynamically Adaptive
Systems, Metamodels)
SPL Testing
Postdoc U. Luxembourg (2009-2010)
Security testing of Resilient Systems
Postdoc(s) at UNamur (2010-2015?)
3
3
32. www.unamur.be
CIT-based SPL Sampling (2010)
Making it easier: MDE + Alloy
Transform FM into an alloy specification
Ask alloy to filter valid tuples and compose them in
configurations
12
gilles.perrouin@unamur.be 12
33. www.unamur.be
CIT-based SPL Sampling (2010)
Making it easier: MDE + Alloy
Transform FM into an alloy specification
Ask alloy to filter valid tuples and compose them in
configurations
“Divide and conquer…”
Binary split and incremental strategies to deal with enormous
amounts of tuples…
12
gilles.perrouin@unamur.be 12
34. www.unamur.be
CIT-based SPL Sampling (2010)
Making it easier: MDE + Alloy
Transform FM into an alloy specification
Ask alloy to filter valid tuples and compose them in
configurations
“Divide and conquer…”
Binary split and incremental strategies to deal with enormous
amounts of tuples…
But recombination did not rule
Slow and redundant configurations
12
gilles.perrouin@unamur.be 12
35. www.unamur.be
CIT-based SPL Sampling (2010)
Making it easier: MDE + Alloy
Transform FM into an alloy specification
Ask alloy to filter valid tuples and compose them in
configurations
“Divide and conquer…”
Binary split and incremental strategies to deal with enormous
amounts of tuples…
But recombination did not rule
Slow and redundant configurations
12
gilles.perrouin@unamur.be 12
36. www.unamur.be
CIT-based SPL Sampling (2010)
Making it easier: MDE + Alloy
Transform FM into an alloy specification
Ask alloy to filter valid tuples and compose them in
configurations
“Divide and conquer…”
Binary split and incremental strategies to deal with enormous
amounts of tuples…
But recombination did not rule
Slow and redundant configurations
Gilles Perrouin, Sebastian Oster, Sagar Sen, Jacques Klein, Benoit Baudry, Yves Le Traon: Pairwise
testing for software product lines: comparison of two approaches. Software Quality Journal
20(3-4): 605-643 (2012)
12
gilles.perrouin@unamur.be 12
45. www.unamur.be
Similarity-driven Sampling (2012-2014)
t=6
(1,000 confs)
0 runs 15,000 runs
eCos 94.191% 95.343%
FreeBSD 76.236% 76.494%
Linux 89.411% 90.671%
Ecos: 1 % more coverage implies 2,1E+15 additional 6-tuples !
1,000 configurations may not be enough...
Christopher Henard, Mike Papadakis, Gilles Perrouin, Jacques Klein, Patrick Heymans, and
Yves Le Traon. Bypassing the Combinatorial Explosion: Using Similarity to Generate and
Prioritize T-Wise Test Configurations for Software Product Lines. IEEE TSE, 40(7):650–670,
2014.
15
gilles.perrouin@unamur.be 15
80. www.unamur.be gilles.perrouin@unamur.be
Featured Transition Systems
24
SuperPower
Strength s Money mHammer h
requires
SuperHero
xor
Classen, Andreas, et al. "Featured transition systems: Foundations for verifying variability-
intensive systems and their application to LTL model checking." IEEE Transactions on
Software Engineering, 39.8 (2013): 1069-1089.
s0 s1 s2
findVillain
smash / s ∨ h
fireRocket / m
reload / m
s3
throwHammer / h
retrieveWeapon / h
finishHim
83. www.unamur.be
VIS Testing: Which product first ?
Particularly useful during regression testing
Using weights on features [Henard, Johansen]
26
gilles.perrouin@unamur.be 26
84. www.unamur.be
VIS Testing: Which product first ?
Particularly useful during regression testing
Using weights on features [Henard, Johansen]
Does not consider behaviour
26
gilles.perrouin@unamur.be 26
85. www.unamur.be
VIS Testing: Which product first ?
Particularly useful during regression testing
Using weights on features [Henard, Johansen]
Does not consider behaviour
26
gilles.perrouin@unamur.be 26
86. www.unamur.be
VIS Testing: Which product first ?
Particularly useful during regression testing
Using weights on features [Henard, Johansen]
Does not consider behaviour
Using probabilities on transitions
26
gilles.perrouin@unamur.be 26
87. www.unamur.be
VIS Testing: Which product first ?
Particularly useful during regression testing
Using weights on features [Henard, Johansen]
Does not consider behaviour
Using probabilities on transitions
If model unavailable we may learn it from the system…
26
gilles.perrouin@unamur.be 26
88. www.unamur.be
VIS Testing: Which product first ?
Particularly useful during regression testing
Using weights on features [Henard, Johansen]
Does not consider behaviour
Using probabilities on transitions
If model unavailable we may learn it from the system…
26
gilles.perrouin@unamur.be 26
105. www.unamur.be
Claroline: models
Usage Model (DTMC)
• 96 states and 2149 transitions
• 2 hours computation
• Ubuntu Linux (Intel Core i3, 3.10 GHz, 4GB mem.)
Feature Diagram (FD)
• Built manually by inspecting a Claroline local instance
• 44 features
• Lots of optional features
39
gilles.perrouin@unamur.be 39
106. www.unamur.be
Claroline: models
Usage Model (DTMC)
• 96 states and 2149 transitions
• 2 hours computation
• Ubuntu Linux (Intel Core i3, 3.10 GHz, 4GB mem.)
Feature Diagram (FD)
• Built manually by inspecting a Claroline local instance
• 44 features
• Lots of optional features
Featured Transition System (FTS)
• Web crawler on local instance to get the pages
• (1 page ➔ 1 state) + initial state
• Every state accessible from anywhere
• Transitions tagged with feature expressions based on the knowledge of the
system
• 107 states and 11236 transitions
39
gilles.perrouin@unamur.be 39
120. www.unamur.be
Featured Mutants (2014)
43
gilles.perrouin@unamur.be 43
1 2 3
4
5
6
7 8 9
pay/m change/m
free / m
take / m
close/m
open/m take/m
cancel / ¬sm_4return/¬sm_4
soda/m serveSoda /m
tea /¬eex_t_o
serveTea /
m
Mutants
m
StateMissing
sm
EventExchanged
eex
Mutants Family Model
(FTS)
Variability Model
(FM)
Optional
sm_4
open /eex_t_o
eex_t_o
WrongStartState
wss
wss_5
wss_5
¬wss_5
1 2 3
4
5
6
7 8 9
pay change
free
take
close
open take
cancelreturn
soda serveSoda
tea serveTea
Original Transition System
Mutants
1 2 3
5
6
7 8 9
pay change
free
take
close
open take
soda serveSoda
tea serveTea
1 2 3
4
5
6
7 8 9
pay change
free
take
close
open take
cancelreturn
soda serveSoda
open serveTea
1 2 3
4
5
6
7 8 9
pay change
free
take
close
open take
cancelreturn
soda serveSoda
tea serveTea
a) StateMissing
b) EventExchanged
b) WrongStartState
+ =
Mandatory
Figure 1: Approach Overview
124. www.unamur.be
Featured Mutants (2015)
gilles.perrouin@unamur.be 44
Fast Mutation Analysis: Run analysis once against all
mutants ≃ Mutant Schemata at the model level
Selective Mutation: Use the feature model to
configure your mutants at any order you want
44
125. www.unamur.be
Featured Mutants (2015)
gilles.perrouin@unamur.be 44
Fast Mutation Analysis: Run analysis once against all
mutants ≃ Mutant Schemata at the model level
Selective Mutation: Use the feature model to
configure your mutants at any order you want
44
126. www.unamur.be
Featured Mutants (2015)
gilles.perrouin@unamur.be 44
Fast Mutation Analysis: Run analysis once against all
mutants ≃ Mutant Schemata at the model level
Selective Mutation: Use the feature model to
configure your mutants at any order you want
EMP: FTS being formal, EMP can be mathematically
defined using trace equivalence relations (expensive
currently Monte-Carlo simulation is used instead)
44
146. www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring a VIS is cognitively difficult
Many features (options)
Cross-cutting contraints (why this option is disappearing if I
choose this ?)
50
147. www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring a VIS is cognitively difficult
Many features (options)
Cross-cutting contraints (why this option is disappearing if I
choose this ?)
Multiple stakeholders
50
148. www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring a VIS is cognitively difficult
Many features (options)
Cross-cutting contraints (why this option is disappearing if I
choose this ?)
Multiple stakeholders
Visualisation techniques helpful in this respect
50
149. www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring a VIS is cognitively difficult
Many features (options)
Cross-cutting contraints (why this option is disappearing if I
choose this ?)
Multiple stakeholders
Visualisation techniques helpful in this respect
Quite unexplored area (Botterweck, Pleuss)
50
150. www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring a VIS is cognitively difficult
Many features (options)
Cross-cutting contraints (why this option is disappearing if I
choose this ?)
Multiple stakeholders
Visualisation techniques helpful in this respect
Quite unexplored area (Botterweck, Pleuss)
Most VM IDE (pure::variants, FeatureIDE) offers only tree based
representation => inefficient in many respect (size, constraints)
50
151. www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring a VIS is cognitively difficult
Many features (options)
Cross-cutting contraints (why this option is disappearing if I
choose this ?)
Multiple stakeholders
Visualisation techniques helpful in this respect
Quite unexplored area (Botterweck, Pleuss)
Most VM IDE (pure::variants, FeatureIDE) offers only tree based
representation => inefficient in many respect (size, constraints)
Working with visualisation experts (Nicolas Biri, Celine
Sauvage-Thomase) at LIST (Luxembourg) to derive a way
of choosing visualisations for configurations tasks
50
155. www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
Generalisation of the preceding for Graphical DSL
concrete syntaxes
Based on the “Physics of Notations” by D.L. Moody (2009)
and “Semiology of Graphics” by Bertin (1967)
52
156. www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
Generalisation of the preceding for Graphical DSL
concrete syntaxes
Based on the “Physics of Notations” by D.L. Moody (2009)
and “Semiology of Graphics” by Bertin (1967)
52
157. www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
Generalisation of the preceding for Graphical DSL
concrete syntaxes
Based on the “Physics of Notations” by D.L. Moody (2009)
and “Semiology of Graphics” by Bertin (1967)
PhD Thesis of Nicolas Genon (UNamur)
52
158. www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
Generalisation of the preceding for Graphical DSL
concrete syntaxes
Based on the “Physics of Notations” by D.L. Moody (2009)
and “Semiology of Graphics” by Bertin (1967)
PhD Thesis of Nicolas Genon (UNamur)
P. Caire, et al. "Visual notation design 2.0: Towards user
comprehensible requirements engineering notations."
Requirements Engineering Conference (RE), 2013
52
159. www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
Generalisation of the preceding for Graphical DSL
concrete syntaxes
Based on the “Physics of Notations” by D.L. Moody (2009)
and “Semiology of Graphics” by Bertin (1967)
PhD Thesis of Nicolas Genon (UNamur)
P. Caire, et al. "Visual notation design 2.0: Towards user
comprehensible requirements engineering notations."
Requirements Engineering Conference (RE), 2013
We are looking for more complex examples in various domains
(e.g. Airbus Designs)
52