SlideShare a Scribd company logo
1 of 159
Download to read offline
www.unamur.be
Software Testing for Variability-
Intensive Systems
Gilles	Perrouin	
PReCISE,	University	of	Namur		
gilles.perrouin@unamur.be	
INRIA	DiVERSE,	March	2015
www.unamur.be gilles.perrouin@unamur.be
About Me… (for newcomers)
2
2
www.unamur.be gilles.perrouin@unamur.be
About Me… (for newcomers)
2
2
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
www.unamur.be gilles.perrouin@unamur.be
Agenda
Variability-Intensive	Systems	?	
Structural	testing		
Behavioural	testing		
MISC	(if	time)	
4
4
VARIABILITY-INTENSIVE SYSTEMS
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
Systematic	engineering	of	families	of	products
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
Systematic	engineering	of	families	of	products
Top-down	view	on	variability	management	and	development	
(SEI,	Fraunhofer,	etc.)
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
Systematic	engineering	of	families	of	products
Top-down	view	on	variability	management	and	development	
(SEI,	Fraunhofer,	etc.)
Useful	techniques	(feature	modelling	&	analysis,	automated	
derivation,	etc.)
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
Systematic	engineering	of	families	of	products
Top-down	view	on	variability	management	and	development	
(SEI,	Fraunhofer,	etc.)
Useful	techniques	(feature	modelling	&	analysis,	automated	
derivation,	etc.)
Configurable	systems	have	lot	of	variability	without	being	
explicitly	engineering	following	SPL	paradigm
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
Systematic	engineering	of	families	of	products
Top-down	view	on	variability	management	and	development	
(SEI,	Fraunhofer,	etc.)
Useful	techniques	(feature	modelling	&	analysis,	automated	
derivation,	etc.)
Configurable	systems	have	lot	of	variability	without	being	
explicitly	engineering	following	SPL	paradigm
OSes,	Unix	tools	(gcc,	sed),	CMS	(Wordpress,	Drupal),	Eclipse,	
Cloud,	SOA,	SOS,	….	
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Software	Product	Lines	(SPL)
Systematic	engineering	of	families	of	products
Top-down	view	on	variability	management	and	development	
(SEI,	Fraunhofer,	etc.)
Useful	techniques	(feature	modelling	&	analysis,	automated	
derivation,	etc.)
Configurable	systems	have	lot	of	variability	without	being	
explicitly	engineering	following	SPL	paradigm
OSes,	Unix	tools	(gcc,	sed),	CMS	(Wordpress,	Drupal),	Eclipse,	
Cloud,	SOA,	SOS,	….	
	No	reason	to	not	consider	SPL	techniques	for	them	too!	
6
6
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
7
7
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
We	therefore	regroup	all	these	systems	under	the	
“variability-intensive	systems”	term	for	feature-based	
software	analysis…
7
7
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
We	therefore	regroup	all	these	systems	under	the	
“variability-intensive	systems”	term	for	feature-based	
software	analysis…
7
7
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
We	therefore	regroup	all	these	systems	under	the	
“variability-intensive	systems”	term	for	feature-based	
software	analysis…
7
7
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
We	therefore	regroup	all	these	systems	under	the	
“variability-intensive	systems”	term	for	feature-based	
software	analysis…
…thanks	to	a	very	liberal	notion	of	feature!	
7
7
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
8
8
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Michael	Jackson:	“features	are	behaviours”	
8
8
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Michael	Jackson:	“features	are	behaviours”	
8
Christian	Kästner:	“features	are	configuration	options”
8
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Michael	Jackson:	“features	are	behaviours”	
8
Christian	Kästner:	“features	are	configuration	options”
8
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Michael	Jackson:	“features	are	behaviours”	
8
Christian	Kästner:	“features	are	configuration	options”
	Features	are	units	of	variability
8
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Michael	Jackson:	“features	are	behaviours”	
8
Christian	Kästner:	“features	are	configuration	options”
	Features	are	units	of	variability
8
www.unamur.be gilles.perrouin@unamur.be
Variability-Intensive Systems
Michael	Jackson:	“features	are	behaviours”	
8
Christian	Kästner:	“features	are	configuration	options”
	Features	are	units	of	variability
8
VIS TESTING
www.unamur.be
www.unamur.be
270 Features
NASA JPL
STRUCTURAL VIS TESTING
www.unamur.be
CIT-based SPL Sampling (2010)
12
gilles.perrouin@unamur.be 12
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
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
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
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
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
www.unamur.be
Similarity-driven Sampling (2012-2014)
13
gilles.perrouin@unamur.be 13
www.unamur.be
Similarity-driven Sampling (2012-2014)
Use	SBSE	to	select	a	population	of	configurations	
Ensure	the	validity	of	generated	configurations	(via	SAT4J)
13
gilles.perrouin@unamur.be 13
www.unamur.be
Similarity-driven Sampling (2012-2014)
Use	SBSE	to	select	a	population	of	configurations	
Ensure	the	validity	of	generated	configurations	(via	SAT4J)
Designed	for	Scalability	
Fitness	function	based	on	distance:	correlated	with	t-
wise	coverage	but	easier	to	compute
13
gilles.perrouin@unamur.be 13
www.unamur.be
Similarity-driven Sampling (2012-2014)
Use	SBSE	to	select	a	population	of	configurations	
Ensure	the	validity	of	generated	configurations	(via	SAT4J)
Designed	for	Scalability	
Fitness	function	based	on	distance:	correlated	with	t-
wise	coverage	but	easier	to	compute
Flexibility	
Tester	decides	generation	time	and	#	of	configurations		
Configurations	are	prioritised	w.r.t	fitness	function:	use	
a	subset	if	lack	of	resources
13
gilles.perrouin@unamur.be 13
www.unamur.be
Similarity-driven Sampling (2012-2014)
14
gilles.perrouin@unamur.be 14
Linux FM
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%
15
gilles.perrouin@unamur.be 15
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	!
15
gilles.perrouin@unamur.be 15
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...	15
gilles.perrouin@unamur.be 15
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
www.unamur.be
Test-and-Fix FMs (2013)
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
SPLs	are	barely	built	from	nothing
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
SPLs	are	barely	built	from	nothing
Set	of	existing	products	evolved	as	a	SPL	not	derived	directly	
from	the	FMs
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
SPLs	are	barely	built	from	nothing
Set	of	existing	products	evolved	as	a	SPL	not	derived	directly	
from	the	FMs
FM	Synthesis	(or	reverse-engineering)
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
SPLs	are	barely	built	from	nothing
Set	of	existing	products	evolved	as	a	SPL	not	derived	directly	
from	the	FMs
FM	Synthesis	(or	reverse-engineering)
Several	approaches	exist	[She,	Acher,	…]	
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
SPLs	are	barely	built	from	nothing
Set	of	existing	products	evolved	as	a	SPL	not	derived	directly	
from	the	FMs
FM	Synthesis	(or	reverse-engineering)
Several	approaches	exist	[She,	Acher,	…]	
Tough	pb:	parsing	code,	limitations	in	the	expressiveness	of	
target	FMs	languages,	heuristics…
16
gilles.perrouin@unamur.be 16
www.unamur.be
Test-and-Fix FMs (2013)
Repositories	(SPLOT)	contain	mostly	small	to	medium	
size	academic	FMs
may	not	represent	actual	systems
SPLs	are	barely	built	from	nothing
Set	of	existing	products	evolved	as	a	SPL	not	derived	directly	
from	the	FMs
FM	Synthesis	(or	reverse-engineering)
Several	approaches	exist	[She,	Acher,	…]	
Tough	pb:	parsing	code,	limitations	in	the	expressiveness	of	
target	FMs	languages,	heuristics…
=>	FMs	may	not	be	fully	representative	of	the	systems	
you	want	to	test
16
gilles.perrouin@unamur.be 16
www.unamur.be gilles.perrouin@unamur.be 17
www.unamur.be
FMs not
representative ?
gilles.perrouin@unamur.be 17
www.unamur.be
FMs not
representative ?
Missing/Infeasible/
Useless
configurations…
Get the model
right !
gilles.perrouin@unamur.be 17
www.unamur.be
FMs not
representative ?
Missing/Infeasible/
Useless
configurations…
Get the model
right !
Some FMs have
thousands of
features…
How to fix them?
gilles.perrouin@unamur.be 17
www.unamur.be
Test-and-Fix Loop (2013)
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
Try	to	build	products	from	randomly	extracted	
configurations	from	FM	(GCF,ORF)
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
Try	to	build	products	from	randomly	extracted	
configurations	from	FM	(GCF,ORF)
Fix	them	using	Hill-Climbing	EA
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
Try	to	build	products	from	randomly	extracted	
configurations	from	FM	(GCF,ORF)
Fix	them	using	Hill-Climbing	EA
Mutate	the	FMs	to	align	them	with	real	products	
(alter/insert/remove	constraint)
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
Try	to	build	products	from	randomly	extracted	
configurations	from	FM	(GCF,ORF)
Fix	them	using	Hill-Climbing	EA
Mutate	the	FMs	to	align	them	with	real	products	
(alter/insert/remove	constraint)
Fitness	function	trying	to	minimize	different	kinds	of	
errors
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
Try	to	build	products	from	randomly	extracted	
configurations	from	FM	(GCF,ORF)
Fix	them	using	Hill-Climbing	EA
Mutate	the	FMs	to	align	them	with	real	products	
(alter/insert/remove	constraint)
Fitness	function	trying	to	minimize	different	kinds	of	
errors
18
gilles.perrouin@unamur.be 18
www.unamur.be
Test-and-Fix Loop (2013)
Detect	discrepancies	in	two	ways
Check	if	existing	products	conform	to	the	FM	(SCF,	
EWC)
Try	to	build	products	from	randomly	extracted	
configurations	from	FM	(GCF,ORF)
Fix	them	using	Hill-Climbing	EA
Mutate	the	FMs	to	align	them	with	real	products	
(alter/insert/remove	constraint)
Fitness	function	trying	to	minimize	different	kinds	of	
errors
18
gilles.perrouin@unamur.be 18
Henard, C., Papadakis, M., Perrouin, G., Klein, J., & Le Traon, Y. (2013, May). Towards automated testing and
fixing of re-engineered feature models. In Software Engineering (ICSE), 35th International Conference on (pp.
1245-1248). IEEE.
www.unamur.be
Test-and-Fix Loop (2013)
19
gilles.perrouin@unamur.be 19
www.unamur.be
Test-and-Fix Loop (2013)
Experimentation	on	linux	kernel	FM
19
gilles.perrouin@unamur.be 19
www.unamur.be
Test-and-Fix Loop (2013)
Experimentation	on	linux	kernel	FM
Large	reverse-engineered	FM	+	manual	edits
19
gilles.perrouin@unamur.be 19
www.unamur.be
Test-and-Fix Loop (2013)
Experimentation	on	linux	kernel	FM
Large	reverse-engineered	FM	+	manual	edits
Easy	building	infrastructure	(kconfig+make)
19
gilles.perrouin@unamur.be 19
www.unamur.be
Test-and-Fix Loop (2013)
Experimentation	on	linux	kernel	FM
Large	reverse-engineered	FM	+	manual	edits
Easy	building	infrastructure	(kconfig+make)
19
FM 2K	runs 3K	runs 4K	runs 5K	runs
EWC 50 46 43 41 39
SCF 1000 885 556 498 455
ORF 2468 1646 1395 1236 1084
GCF 1000 1000 1000 1000 1000
gilles.perrouin@unamur.be 19
BEHAVIOURAL VIS TESTING
www.unamur.be
21
gilles.perrouin@unamur.be
Images	credit:	http://hedbonstudios.deviantart.com
21
www.unamur.be gilles.perrouin@unamur.be
Enumerative Way
22
www.unamur.be gilles.perrouin@unamur.be
Enumerative Way
22
www.unamur.be
23
gilles.perrouin@unamur.be
Images	credit:	http://hedbonstudios.deviantart.com
23
www.unamur.be
23
gilles.perrouin@unamur.be
Images	credit:	http://hedbonstudios.deviantart.com
23
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
STATISTICAL TESTING
www.unamur.be
VIS Testing: Which product first ?
26
gilles.perrouin@unamur.be 26
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
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
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
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
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
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
www.unamur.be
Usage Model
Statistical	testing	[Whittaker	1994]
Deterministic	Time	Markov	Chain	(DTMC)
27
gilles.perrouin@unamur.be 27
www.unamur.be
Usage Model
Statistical	testing	[Whittaker	1994]
Deterministic	Time	Markov	Chain	(DTMC)
Independent	from	the	FTS
Allows	usage	of	existing	tools
Extraction	method	is	agnostic	of	features
DTMC	may	be	incomplete
27
gilles.perrouin@unamur.be 27
www.unamur.be
Usage Model
Statistical	testing	[Whittaker	1994]
Deterministic	Time	Markov	Chain	(DTMC)
Independent	from	the	FTS
Allows	usage	of	existing	tools
Extraction	method	is	agnostic	of	features
DTMC	may	be	incomplete
Allows	invalid	paths	
=>DTMC	+	FTS	detects	inconsistencies
27
gilles.perrouin@unamur.be 27
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
28
Family-Based	Test	Prioritization
gilles.perrouin@unamur.be 28
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
29
Family-Based	Test	Prioritization
1.	Product	
Selection
gilles.perrouin@unamur.be 29
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
30
Family-Based	Test	Prioritization
2.	FTS	
Projection
1.	Product	
Selection
gilles.perrouin@unamur.be 30
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
31
Family-Based	Test	Prioritization
2.	FTS	
Projection
1.	Product	
Selection
3.	DTMC	
Pruning
gilles.perrouin@unamur.be 31
www.unamur.be
Product-Based	Test	Derivation	
[Samih+	2012]
32
Family-Based	Test	Prioritization
2.	FTS	
Projection
1.	Product	
Selection
3.	DTMC	
Pruning
gilles.perrouin@unamur.be 32
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
33
Family-Based	Test	Prioritization
2.	FTS	
Projection
1.	Product	
Selection
3.	DTMC	
Pruning
1.	Trace	
Selection
DFS(lmax	=	7	;	Pr	min	=	0;	Pr	max	=	0.1	;	DTMC)	=		
{(pay,	change,	cancel,	return;	Pr	=	0,01)	;	
	(free,	cancel,	return;	Pr	=	0,09)	;		
(pay,	change,	tea,	serveTea,	open,	take,	close;	Pr	=	0,009);		
(pay,	change,	tea,	serveTea,	take;	Pr	=	0,081)	;		
(free,	tea,	serveTea,	open,	take,	close;	Pr	=	0,081)}
gilles.perrouin@unamur.be 33
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
34
Family-Based	Test	Prioritization
2.	FTS	
Projection
1.	Product	
Selection
3.	DTMC	
Pruning
1.	Trace	
Selection
2.	Trace	
Filtering	
and	FTS	
Pruning
DFS(lmax	=	7	;	Pr	min	=	0;	Pr	max	=	0.1	;	DTMC)	=		
{(pay,	change,	cancel,	return;	Pr	=	0,01)	;	
	(free,	cancel,	return;	Pr	=	0,09)	;		
(pay,	change,	tea,	serveTea,	open,	take,	close;	Pr	=	0,009);		
(pay,	change,	tea,	serveTea,	take;	Pr	=	0,081)	;		
(free,	tea,	serveTea,	open,	take,	close;	Pr	=	0,081)}
gilles.perrouin@unamur.be 34
www.unamur.be
Product-Based	Test	Derivation	
[Samih+2012]
35
Family-Based	Test	Prioritization
2.	FTS	
Projection
1.	Product	
Selection
3.	DTMC	
Pruning
1.	Trace	
Selection
2.	Trace	
Filtering	
and	FTS	
Pruning
3.	Product	
Prioritization
DFS(lmax	=	7	;	Pr	min	=	0;	Pr	max	=	0.1	;	DTMC)	=		
{(pay,	change,	cancel,	return;	Pr	=	0,01)	;	
	(free,	cancel,	return;	Pr	=	0,09)	;		
(pay,	change,	tea,	serveTea,	open,	take,	close;	Pr	=	0,009);		
(pay,	change,	tea,	serveTea,	take;	Pr	=	0,081)	;		
(free,	tea,	serveTea,	open,	take,	close;	Pr	=	0,081)}
(¬f∧t)∧	
gilles.perrouin@unamur.be 35
www.unamur.be
Product-Based	Test	
Derivation	[Samih+2012]
36
Family-Based	Test	Prioritization		
[Devroey+2014]
2.	FTS	
Projection
1.	Product	
Selection
3.	DTMC	
Pruning
1.	Trace	
Selection
2.	Trace	
Filtering	
and	FTS	
Pruning
3.	Product	
Prioritization
DFS(lmax	=	7	;	Pr	min	=	0;	Pr	max	=	0.1	;	DTMC)	=		
{(pay,	change,	cancel,	return;	Pr	=	0,01)	;	
	(free,	cancel,	return;	Pr	=	0,09)	;		
(pay,	change,	tea,	serveTea,	open,	take,	close;	Pr	=	0,009);		
(pay,	change,	tea,	serveTea,	take;	Pr	=	0,081)	;		
(free,	tea,	serveTea,	open,	take,	close;	Pr	=	0,081)}
gilles.perrouin@unamur.be 36
www.unamur.be
Case-study: Claroline@UNamur
Open	source	online	course	management	system	(http://
www.claroline.net/)	
±	7000	users	
Upload/download	documents,	online	exercises,	forum,	
agenda,	announcements,	etc.
37
http://webcampus.unamur.be
gilles.perrouin@unamur.be 37
www.unamur.be
Claroline: DTMC
Derived	from	anonymized	Apache	Access	Log	(5.26	Go)
From	January	1st	to	October	1st	2013
12.689.033	PHP	pages	HTTP	requests
38
gilles.perrouin@unamur.be 38
www.unamur.be
Claroline: DTMC
Derived	from	anonymized	Apache	Access	Log	(5.26	Go)
From	January	1st	to	October	1st	2013
12.689.033	PHP	pages	HTTP	requests
(1	PHP	page	➔	1	state)	+	initial	state
1	request	➔	1	transition
User	session	=	sequence	of	requests	(timeout	=	45	min)
2-gram	without	smoothing	[Verwer	et	al.	2013]
38
Pr(si,sj ) =
#occurence(si,sj )
#occurence(si,s)
s∈S
∑
gilles.perrouin@unamur.be 38
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.)
39
gilles.perrouin@unamur.be 39
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
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
www.unamur.be
Family-based vs. Product-based
Depends	on	needs
40
gilles.perrouin@unamur.be 40
www.unamur.be
Family-based vs. Product-based
Depends	on	needs
Decoupling	the	DTMC	from	the	system	model	may	be	
inefficient	
You	may	select	invalid	traces	that	need	to	be	eliminated
Fortunately	“web”	systems	do	not	have	so	many	constrained	
behaviours	
Need	to	investigate	dedicated	algorithms	(Viterbi)	for	some	
tasks	(highest	probability	traces)	
Collaboration	with	Hamza	Samih,	SoSyM	paper	to	come	:-)	
40
gilles.perrouin@unamur.be 40
MODEL-BASED MUTATION TESTING
www.unamur.be
Featured Mutants (2014)
42
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
42
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
42
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
42
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
Equivalent	Mutant	Problem		(EMP)
42
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
Equivalent	Mutant	Problem		(EMP)
42
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
Equivalent	Mutant	Problem		(EMP)
42
Use	FTS	to	model	“mutants	families”	!		
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
Equivalent	Mutant	Problem		(EMP)
42
Use	FTS	to	model	“mutants	families”	!		
SPL	paradigm	to	tackle	the	above	problems	
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
Equivalent	Mutant	Problem		(EMP)
42
Use	FTS	to	model	“mutants	families”	!		
SPL	paradigm	to	tackle	the	above	problems	
gilles.perrouin@unamur.be 42
www.unamur.be
Featured Mutants (2014)
Considered	mutation	testing	to	assess	SPL		test	suites	
[Henard+13]	
Mutation	analysis	is	effective	but
Explosion	of	the	number	of	mutants	=>	costly	to	run	them	
against	each	test	case	
Equivalent	Mutant	Problem		(EMP)
42
Use	FTS	to	model	“mutants	families”	!		
SPL	paradigm	to	tackle	the	above	problems	
Xavier Devroey, Gilles Perrouin, Maxime Cordy, Mike Papadakis, Axel, and Pierre-
Yves Schobbens. A Variability Perspective of Mutation Analysis. In ESEC/SIGSOFT
FSE - Visions and Challenges Track, Hong Kong, China, 2014. ACM
gilles.perrouin@unamur.be 42
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
www.unamur.be
Featured Mutants (2015)
gilles.perrouin@unamur.be 44
44
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
44
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
44
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
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
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
www.unamur.be
Featured Mutants (2015)
45
gilles.perrouin@unamur.be 45
Minimal Val. 11.00 msec. < 0.01 msec. < 0.01 msec. 5.37 ⇥ 107
msec. 3.69 ⇥ 106
msec. < 0.01 msec.
Maximal Val. 105.00 msec. 14.00 msec. 7.00 msec. 2.30 ⇥ 108
msec. 3.01 ⇥ 107
msec. 40.00 msec.
Median 12.00 msec. 2.00 msec. < 0.01 msec. 8.49 ⇥ 107
msec. 6.05 ⇥ 106
msec. < 0.01 msec.
Mean 12.45 msec. 2.63 msec. 0.04 msec. 9.18 ⇥ 107
msec. 7.14 ⇥ 106
msec. 0.30 msec.
Std. Dev. 3.93 msec. 1.35 msec. 0.21 msec. 2.68 ⇥ 107
msec. 3.30 ⇥ 106
msec. 1.81 msec.
●●●●
●
●●
●
●
●
●●●●●●●●●
●●
●●
●
●
●●●
●
●●
●
●
●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●
●
●●●
●●●
●
●
●
●●●●●●
●
●●●●
●●
●●●●●●●
●
●
●●●
●●●●
●
●●●●●
●
●●
●
●●●●●●●●●●●●●●●
●●●●●●●
●●●●●●●
●
●●●●●●●●●●●●
●●●
●●
●
●●●
●
●●●●
●
●●
●
●●●●●●●
●
●
●
●
●
●●●●●
●●
●●●●
●
●●●
●●
●
●●
●●●
●
●
●●●
●●
●
●●●
●
●
●
●●●●●●●●
●
●
●●●●●●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●●●
●●●●●●●●●●●●●●●●●
●●●
●●
●●●
●
●●●●●
●
●●
●
●●●●●●●●●●
●
●
●●
●
●●●
●●●●
●●●●
●●
●●●●
●
●
●
●●●●●●●
●
●
●
●●
●
●●●●●●●
●
●
●
●●●
● ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
020406080100 Minepump
Time(inmillisec.)
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●●
●●
●
●
●●
●
●
●●
●
●●●●●●●
●
●
●●
●
●●
●●
●●●
●
●
●●●
●
●
●●
●
●
●●
●
●
●
●
●●
●●●●●
●
●●●
●●
●
●
●
●
●●
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
0.0e+005.0e+071.0e+081.5e+082.0e+08
Claroline
Time(inmillisec.)
Figure 4: Mutants Execution Time by Model and Mutant Type
www.unamur.be
Featured Mutants (2015)
45
gilles.perrouin@unamur.be 45
Minimal Val. 11.00 msec. < 0.01 msec. < 0.01 msec. 5.37 ⇥ 107
msec. 3.69 ⇥ 106
msec. < 0.01 msec.
Maximal Val. 105.00 msec. 14.00 msec. 7.00 msec. 2.30 ⇥ 108
msec. 3.01 ⇥ 107
msec. 40.00 msec.
Median 12.00 msec. 2.00 msec. < 0.01 msec. 8.49 ⇥ 107
msec. 6.05 ⇥ 106
msec. < 0.01 msec.
Mean 12.45 msec. 2.63 msec. 0.04 msec. 9.18 ⇥ 107
msec. 7.14 ⇥ 106
msec. 0.30 msec.
Std. Dev. 3.93 msec. 1.35 msec. 0.21 msec. 2.68 ⇥ 107
msec. 3.30 ⇥ 106
msec. 1.81 msec.
●●●●
●
●●
●
●
●
●●●●●●●●●
●●
●●
●
●
●●●
●
●●
●
●
●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●
●
●●●
●●●
●
●
●
●●●●●●
●
●●●●
●●
●●●●●●●
●
●
●●●
●●●●
●
●●●●●
●
●●
●
●●●●●●●●●●●●●●●
●●●●●●●
●●●●●●●
●
●●●●●●●●●●●●
●●●
●●
●
●●●
●
●●●●
●
●●
●
●●●●●●●
●
●
●
●
●
●●●●●
●●
●●●●
●
●●●
●●
●
●●
●●●
●
●
●●●
●●
●
●●●
●
●
●
●●●●●●●●
●
●
●●●●●●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●●●
●●●●●●●●●●●●●●●●●
●●●
●●
●●●
●
●●●●●
●
●●
●
●●●●●●●●●●
●
●
●●
●
●●●
●●●●
●●●●
●●
●●●●
●
●
●
●●●●●●●
●
●
●
●●
●
●●●●●●●
●
●
●
●●●
● ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
020406080100 Minepump
Time(inmillisec.)
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●●
●●
●
●
●●
●
●
●●
●
●●●●●●●
●
●
●●
●
●●
●●
●●●
●
●
●●●
●
●
●●
●
●
●●
●
●
●
●
●●
●●●●●
●
●●●
●●
●
●
●
●
●●
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
0.0e+005.0e+071.0e+081.5e+082.0e+08
Claroline
Time(inmillisec.)
Figure 4: Mutants Execution Time by Model and Mutant Type
Mean	speedup:		
100	times
www.unamur.be
Featured Mutants (2015)
45
gilles.perrouin@unamur.be 45
Minimal Val. 11.00 msec. < 0.01 msec. < 0.01 msec. 5.37 ⇥ 107
msec. 3.69 ⇥ 106
msec. < 0.01 msec.
Maximal Val. 105.00 msec. 14.00 msec. 7.00 msec. 2.30 ⇥ 108
msec. 3.01 ⇥ 107
msec. 40.00 msec.
Median 12.00 msec. 2.00 msec. < 0.01 msec. 8.49 ⇥ 107
msec. 6.05 ⇥ 106
msec. < 0.01 msec.
Mean 12.45 msec. 2.63 msec. 0.04 msec. 9.18 ⇥ 107
msec. 7.14 ⇥ 106
msec. 0.30 msec.
Std. Dev. 3.93 msec. 1.35 msec. 0.21 msec. 2.68 ⇥ 107
msec. 3.30 ⇥ 106
msec. 1.81 msec.
●●●●
●
●●
●
●
●
●●●●●●●●●
●●
●●
●
●
●●●
●
●●
●
●
●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●
●
●●●
●●●
●
●
●
●●●●●●
●
●●●●
●●
●●●●●●●
●
●
●●●
●●●●
●
●●●●●
●
●●
●
●●●●●●●●●●●●●●●
●●●●●●●
●●●●●●●
●
●●●●●●●●●●●●
●●●
●●
●
●●●
●
●●●●
●
●●
●
●●●●●●●
●
●
●
●
●
●●●●●
●●
●●●●
●
●●●
●●
●
●●
●●●
●
●
●●●
●●
●
●●●
●
●
●
●●●●●●●●
●
●
●●●●●●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●●●
●●●●●●●●●●●●●●●●●
●●●
●●
●●●
●
●●●●●
●
●●
●
●●●●●●●●●●
●
●
●●
●
●●●
●●●●
●●●●
●●
●●●●
●
●
●
●●●●●●●
●
●
●
●●
●
●●●●●●●
●
●
●
●●●
● ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
020406080100 Minepump
Time(inmillisec.)
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●●
●●
●
●
●●
●
●
●●
●
●●●●●●●
●
●
●●
●
●●
●●
●●●
●
●
●●●
●
●
●●
●
●
●●
●
●
●
●
●●
●●●●●
●
●●●
●●
●
●
●
●
●●
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
0.0e+005.0e+071.0e+081.5e+082.0e+08
Claroline
Time(inmillisec.)
Figure 4: Mutants Execution Time by Model and Mutant Type
Mean	speedup:		
100	times
Mean	speedup:		
1,000,000	times
www.unamur.be
Featured Mutants (2015)
45
gilles.perrouin@unamur.be 45
Minimal Val. 11.00 msec. < 0.01 msec. < 0.01 msec. 5.37 ⇥ 107
msec. 3.69 ⇥ 106
msec. < 0.01 msec.
Maximal Val. 105.00 msec. 14.00 msec. 7.00 msec. 2.30 ⇥ 108
msec. 3.01 ⇥ 107
msec. 40.00 msec.
Median 12.00 msec. 2.00 msec. < 0.01 msec. 8.49 ⇥ 107
msec. 6.05 ⇥ 106
msec. < 0.01 msec.
Mean 12.45 msec. 2.63 msec. 0.04 msec. 9.18 ⇥ 107
msec. 7.14 ⇥ 106
msec. 0.30 msec.
Std. Dev. 3.93 msec. 1.35 msec. 0.21 msec. 2.68 ⇥ 107
msec. 3.30 ⇥ 106
msec. 1.81 msec.
●●●●
●
●●
●
●
●
●●●●●●●●●
●●
●●
●
●
●●●
●
●●
●
●
●●●●●●●●●●●●●●●
●
●●●●●●●●●●
●
●
●●●
●●●
●
●
●
●●●●●●
●
●●●●
●●
●●●●●●●
●
●
●●●
●●●●
●
●●●●●
●
●●
●
●●●●●●●●●●●●●●●
●●●●●●●
●●●●●●●
●
●●●●●●●●●●●●
●●●
●●
●
●●●
●
●●●●
●
●●
●
●●●●●●●
●
●
●
●
●
●●●●●
●●
●●●●
●
●●●
●●
●
●●
●●●
●
●
●●●
●●
●
●●●
●
●
●
●●●●●●●●
●
●
●●●●●●
●●●●
●●
●●
●
●
●
●
●
●
●
●
●
●
●●●
●
●●
●●
●●●
●●●●●●●●●●●●●●●●●
●●●
●●
●●●
●
●●●●●
●
●●
●
●●●●●●●●●●
●
●
●●
●
●●●
●●●●
●●●●
●●
●●●●
●
●
●
●●●●●●●
●
●
●
●●
●
●●●●●●●
●
●
●
●●●
● ●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
020406080100 Minepump
Time(inmillisec.)
●
●
●
●●
●
●
●
●
●
●
●
●
●
●
●
●
●
●
●●
●
●
●
●●●
●●
●●
●
●
●●
●
●
●●
●
●●●●●●●
●
●
●●
●
●●
●●
●●●
●
●
●●●
●
●
●●
●
●
●●
●
●
●
●
●●
●●●●●
●
●●●
●●
●
●
●
●
●●
●
●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●
Alive Killed Mutants FTS
0.0e+005.0e+071.0e+081.5e+082.0e+08
Claroline
Time(inmillisec.)
Figure 4: Mutants Execution Time by Model and Mutant Type
Mean	speedup:		
100	times
Mean	speedup:		
1,000,000	times
Devroey	et	al.	Featured	Mutants:	a	Mutant	Family	Approach	to	Model-Based	Mutation	Testing	
Submitted	to	ISSTA’15
CONCLUSIONS
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
Not	only	fun	but	may	turn	useful	even	for	single	systems
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
Not	only	fun	but	may	turn	useful	even	for	single	systems
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
Not	only	fun	but	may	turn	useful	even	for	single	systems
Flexibility	is	key	to	be	scalable	(also	you	need	to	admit	
you	won’t	be	exact	=>	heuristics)
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
Not	only	fun	but	may	turn	useful	even	for	single	systems
Flexibility	is	key	to	be	scalable	(also	you	need	to	admit	
you	won’t	be	exact	=>	heuristics)
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
Not	only	fun	but	may	turn	useful	even	for	single	systems
Flexibility	is	key	to	be	scalable	(also	you	need	to	admit	
you	won’t	be	exact	=>	heuristics)
Main	future	work	remains	getting	automatically	
(behavioural)	models	from	VIS,	stay	tuned	:)
47
www.unamur.be
Conclusion
gilles.perrouin@unamur.be 47
Few	experiences	in	testing	VIS
	Triskell	saw	metamodels	everywhere,	now	I	see	VIS	
everywhere	:)
Not	only	fun	but	may	turn	useful	even	for	single	systems
Flexibility	is	key	to	be	scalable	(also	you	need	to	admit	
you	won’t	be	exact	=>	heuristics)
Main	future	work	remains	getting	automatically	
(behavioural)	models	from	VIS,	stay	tuned	:)
47
www.unamur.be
Thanks
Benoit	Baudry,	Sagar	Sen,	Jacques	Klein,	Yves	Le	Traon,	
Sebastian	Oster,	Christopher	Hénard,	Mike	Papadakis	
Xavier	Devroey,	Maxime	Cordy,	Patrick	Heymans,	Pierre-
Yves	Schobbens,	Axel	Legay,	Andreas	Classen	
48gilles.perrouin@unamur.be
MISC COLLABORATIVE WORK IN
PROGRESS
www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
50
www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring	a	VIS	is	cognitively	difficult		
50
www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
Configuring	a	VIS	is	cognitively	difficult		
Many	features	(options)
50
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
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
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
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
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
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
www.unamur.be gilles.perrouin@unamur.be
Visualisation of VIS Configurations
51
C.	Sauvage-Thomase	et	al.		Towards	a	systematic	
approach	for	cognitively	efficient	configuration	
visualizations,	JLDP		2014
www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
52
www.unamur.be gilles.perrouin@unamur.be
Cognitively Efficient Visual Languages
Generalisation	of	the	preceding	for	Graphical	DSL	
concrete	syntaxes
52
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
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
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
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
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

More Related Content

Recently uploaded

(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?Paolo Missier
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfAnubhavMangla3
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsLeah Henrickson
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!Memoori
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentationyogeshlabana357357
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxMasterG
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxFIDO Alliance
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewDianaGray10
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxjbellis
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxFIDO Alliance
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهMohamed Sweelam
 
Navigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiNavigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiRaviKumarDaparthi
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...ScyllaDB
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfOverkill Security
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...panagenda
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireExakis Nelite
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTopCSSGallery
 

Recently uploaded (20)

(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
(Explainable) Data-Centric AI: what are you explaininhg, and to whom?
 
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdfFrisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
Frisco Automating Purchase Orders with MuleSoft IDP- May 10th, 2024.pptx.pdf
 
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on ThanabotsContinuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
Continuing Bonds Through AI: A Hermeneutic Reflection on Thanabots
 
State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!State of the Smart Building Startup Landscape 2024!
State of the Smart Building Startup Landscape 2024!
 
AI mind or machine power point presentation
AI mind or machine power point presentationAI mind or machine power point presentation
AI mind or machine power point presentation
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
Intro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptxIntro to Passkeys and the State of Passwordless.pptx
Intro to Passkeys and the State of Passwordless.pptx
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
الأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهلهالأمن السيبراني - ما لا يسع للمستخدم جهله
الأمن السيبراني - ما لا يسع للمستخدم جهله
 
Navigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi DaparthiNavigating the Large Language Model choices_Ravi Daparthi
Navigating the Large Language Model choices_Ravi Daparthi
 
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
Event-Driven Architecture Masterclass: Integrating Distributed Data Stores Ac...
 
Microsoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdfMicrosoft BitLocker Bypass Attack Method.pdf
Microsoft BitLocker Bypass Attack Method.pdf
 
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
Easier, Faster, and More Powerful – Alles Neu macht der Mai -Wir durchleuchte...
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Microsoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - QuestionnaireMicrosoft CSP Briefing Pre-Engagement - Questionnaire
Microsoft CSP Briefing Pre-Engagement - Questionnaire
 
Top 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development CompaniesTop 10 CodeIgniter Development Companies
Top 10 CodeIgniter Development Companies
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 

Featured

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

Featured (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

Software Testing for Variability Intensive Systems