SlideShare a Scribd company logo
1 of 61
Download to read offline
Comment améliorer la qualité de vos logiciels avec
STAMP ?
2
27/02/2019
Benoit Baudry
Project Coordinator and Scientific Leader
KTH, Sweden
Caroline Landry
Project Technical Manager
INRIA, France
•4 research
institutions
•5 companies
•1 open source
consortium
•Automated Testing
in DevOps
This work was partially supported by the EU Project
STAMP ICT-16-10 No.731529
DevOps
4
•High degrees of automation in software
development, deployment and operations
•Objectives
• Better quality
• Shorter release cycles
• Continuous feedback from Ops to Dev
DevOps
5
DevOps
unit
perf.
fuzzing
loggingdep. inj.
UI
CI
pertur-
bation
fault
recov.
IDEs
libraries
container
IDS
VMs
cluster
config.
6
DevOps
unit
perf.
fuzzing
loggingdep. inj.
UI
CI
pertur-
bation
fault
recov.
IDEs
libraries
container
IDS
VMs
cluster
config.
7
Automation
DevOps
unit
perf.
fuzzing
loggingdep. inj.
UI
CI
pertur-
bation
fault
recov.
IDEs
libraries
container
IDS
VMs
cluster
config.
8
Step acceptance & Feedback
Automation
Continuous Integration
Continuous Delivery. Jez Humble and David Farley. 2010. 9
The pull request loop
Collaborative
platform
pull req.
10
Collaborative
platform
The pull request loop
pull req.
code
11
The pull request loop
Collaborative
platform
pull req.
code
analyses
12
The pull request loop
Collaborative
platform
pull req.
code
analyses
feedback
13
The pull request loop
pull req.
code
analyses
feedback
14
The pull request loop
Collaborative
platform
pull req.
code
analyses
feedback
15
The pull request loop
Collaborative
platform
pull req.
code
analyses
feedback
16
Novel analyses
The pull request loop
Collaborative
platform
pull req.
code
analyses
feedback
17
Novel analyses
The pull request loop
Collaborative
platform
pull req.
code
analyses
feedback
18
Novel analyses
DevOps
19
DevOps – Testing
unit
perf.
fuzzing
logging
UI
pertur-
bation
fault
recov.
IDS
cluster
config.
20
IDEs
DevOps – Testing in Dev
21
Continuous Integration
- Unit, integration testing
- Coverage, mutation
Automatic test improvement
- Test amplification
- Test fixing
IDE
- Linters
- Completion
DevOps – Testing in Ops
22
Crash analysis
- Reproduction
- Localization
Online experiments
- Chaos
- A/B testing
23
DevOps – STAMP focus
24
DevOps – STAMP focus
25
DevOps – STAMP focus
26
DevOps – STAMP focus
27
STAMP’s concept: amplification
 Amplify (v.): to increase the size or effect of
something
https://dictionary.cambridge.org/dictionary/english/amplify 28
STAMP’s concept: amplification
 Amplify (v.): to increase the size or effect of
something
 Test amplification: Increase the effect of test
assets
29https://dictionary.cambridge.org/dictionary/english/amplify
STAMP’s concept: amplification
 Amplify (v.): to increase the size or effect of
something
 Test amplification: Increase the effect of test
assets
 Test assets: test cases, configuration files, production logs
 Effect metrics: mutation score, feature interactions
 Automatic amplification
30https://dictionary.cambridge.org/dictionary/english/amplify
Unit test amplification
31
Descartes &
DSpot
Descartes
•Assess the ability of your tests to reveal bugs
•Find weaknesses
• weak tests
• pseudo-tested methods
• non covered code
32
Descartes
33Apache Commons Collections
class SingletonListIterator
implements Iterator<Node> {
...
void add() {
throw
new UnsupportedOperationException();
}
...
}
Descartes
34Apache Commons Collections
class SingletonListIterator
implements Iterator<Node> {
...
void add() {
throw
new UnsupportedOperationException();
}
...
}
class SingletonListIteratorTest {
...
@Test
void testAdd() {
SingletonListIterator it = ...;
try {
it.add(value);
}
catch(Exception ex) {}
...
}
Descartes
35Apache Commons Collections
class SingletonListIterator
implements Iterator<Node> {
...
void add() {
throw
new UnsupportedOperationException();
}
...
}
class SingletonListIteratorTest {
...
@Test
void testAdd() {
SingletonListIterator it = ...;
try {
it.add(value);
}
catch(Exception ex) {}
...
}
Pseudo-tested
Descartes
36Apache Commons Collections
class SingletonListIterator
implements Iterator<Node> {
...
void add() {
throw
new UnsupportedOperationException();
}
...
}
class SingletonListIteratorTest {
...
@Test
void testAdd() {
SingletonListIterator it = ...;
try {
it.add(value);
}
catch(Exception ex) {}
...
}
No exception is thrown
A fail is needed here
Pseudo-tested
Descartes
37
DSpot
•Automatically enhances existing JUnit test suites
•Generate new assertions or new test cases
38
39
@Test
public void html() {
Attribute attr = new Attribute("key", "value &");
assertEquals("key="value &"", attr.html());
assertEquals(attr.html(), attr.toString());
}
DSpot
Original
test case
40
@Test
public void html_add33() throws Exception {
Attribute attr = new Attribute("key", "value &");
Assert.assertEquals("key="value &"", attr.html());
Assert.assertEquals("key="value &"", attr.toString());
Assert.assertEquals("key", attr.getKey());
Assert.assertEquals("value &", attr.getValue());
}
@Test
public void html() {
Attribute attr = new Attribute("key", "value &");
assertEquals("key="value &"", attr.html());
assertEquals(attr.html(), attr.toString());
}
DSpot
Original
test case
Generated
test case
41
DSpot
Automatic Test Improvement with DSpot: a Study with Ten Mature Open-Source Projects. B. Danglot, O. Luis Vera-Pérez, B. Baudry, M. Monperrus. Submitted to EMSE.
Configuration testing amplification
42
CAMP
CAMP
43
…features and
constraints
Initial
config file
reusable pieces
Config ampli Config deploy
Amplified
config file
Amplified
config testing
44
CAMP
goals:
running:
- Registry
components:
registry:
provides_services: [ Registry ]
requires_services: [ DB ]
requires_features: [ Ruby ]
implementation:
docker:
file: registry/Dockerfile
45
CAMP
ruby:
provides_features: [ Ruby ]
variables:
version:
type: Text
values: [ v2.4, v2.5 ]
realization:
- targets: [ ruby/Dockerfile ]
pattern: "FROM ruby:2.5.1-alpine3.7"
replacements:
[ "FROM ruby:2.4.1-alpine3.7",
"FROM ruby:2.4.5-alpine3.7" ]
max_alloc:
type: Integer
values: [ 8, 16, 32, 64 ]
realization:
- targets: [ ruby/config.rb ]
pattern: ":malloc_limit=>16777216"
replacements:
- ":malloc_limit=>8388608"
- ":malloc_limit=>16777216"
- ":malloc_limit=>33554432"
- ":malloc_limit=>67108864"
implementation:
docker:
file: ruby/Dockerfile
46
CAMP
mysql:
provides_services: [ DB ]
variables:
version:
type: Text
values: [ v5.6, v8.2]
realization:
- targets: [ docker-compose.yml ]
pattern: "image:mysql:5.7"
replacements: [ "image:mysql:5.6",
"image:mysql:8.2" ]
implementation:
docker:
image: mysql:5.6
mariadb:
provides_services: [ DB ]
variables:
version:
type: Text
values: [ v5.5, v10.1 ]
realization:
- targets: [ docker-compose.yml ]
pattern: "image:mysql:5.7"
replacements: [ "image:mariadb:5.5",
"image:mariadb:10.1" ]
implementation:
docker:
image: mariadb:5.5
47
CAMP
Configuration specific bugs
Online test amplification
48
Botsing
Online test amplification
49
Botsing
Crash!?!java.lang.ClassCastException: […]
at org…..SolrEntityReferenceResolver.getWikiReference(....java:93)
at org…..SolrEntityReferenceResolver.getEntityReference(….java:70)
at org…..SolrEntityReferenceResolver.resolve(….java:63)
java.lang.ClassCastException: […]
at org…..SolrEntityReferenceResolver.getWikiReference(....java:93)
at org…..SolrEntityReferenceResolver.getEntityReference(….java:70)
at org…..SolrEntityReferenceResolver.resolve(….java:63)
at org…..SolrDocumentReferenceResolver.resolve(….java:48)
at …
Exception
Frames
{Target ➞
50
Java Stack Trace (Issue XWIKI-13031)
Botsing
public void test0() throws Throwable {
…
SolrEntityReferenceResolver solrEntityReferenceResolver0 = new …();
EntityReferenceResolver entityReferenceResolver0 = … mock(…);
solrDocument0.put("wiki", (Object) entityType0);
Injector.inject(solrEntityReferenceResolver0, …);
Injector.validateBean(solrEntityReferenceResolver0, …);
…
// Undeclared exception!
solrEntityReferenceResolver0.resolve(solrDocument0, entityType0, objectArray0);
}
java.lang.ClassCastException: […]
at org…..SolrEntityReferenceResolver.getWikiReference(....java:93)
at org…..SolrEntityReferenceResolver.getEntityReference(….java:70)
at org…..SolrEntityReferenceResolver.resolve(….java:63)
51
Botsing
Botsing
52
Contacts
https://github.com/STAMP-project/
http://stamp-project.eu/
baudry@kth.se
caroline.landry@inria.fr
http://www.diverse-team.fr/
barais@irisa.fr
53
54
MERCI !
STAMP Activeeon Use Case
Mohamed Boussaa, February 27, 2019
2
Resource
Manager
Workflow
Schedule
r
</>
ProActive Workflows & Scheduling
LS
F
Clusters Cloud Local
Manage resources and schedule execution
Customers around the World
Machine Learning, Data Scientists, Statisticians
https://www.activeeon.com/
3
Pull request
● Maven/Gradle
● Dspot
● Descartes
● CI System-tests
● CAMP
STAMP tools
DEV
Proactive
Release
User
● Create issues
● Botsing
STAMP will help us improve our CI cycle:
● more tests added to our test suite
● better bug/regression detection
4
CAMP for configuration testing
Proactive
Release
User
● CI System-tests
● CAMP => Generate different Proactive configurations
for database support
5
CAMP for configuration testing
System tests
Generate
MERCI !

More Related Content

What's hot

A Taste of Pharo 7.0
A Taste of Pharo 7.0A Taste of Pharo 7.0
A Taste of Pharo 7.0
ESUG
 
Quickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval TestsQuickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval Tests
Clare Macrae
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
Anton Arhipov
 

What's hot (20)

A Taste of Pharo 7.0
A Taste of Pharo 7.0A Taste of Pharo 7.0
A Taste of Pharo 7.0
 
Cool JVM Tools to Help You Test
Cool JVM Tools to Help You TestCool JVM Tools to Help You Test
Cool JVM Tools to Help You Test
 
ScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency InjectionScalaUA - distage: Staged Dependency Injection
ScalaUA - distage: Staged Dependency Injection
 
Hyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkitHyper-pragmatic Pure FP testing with distage-testkit
Hyper-pragmatic Pure FP testing with distage-testkit
 
Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)Exploring Java Heap Dumps (Oracle Code One 2018)
Exploring Java Heap Dumps (Oracle Code One 2018)
 
Quickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval TestsQuickly Testing Legacy C++ Code with Approval Tests
Quickly Testing Legacy C++ Code with Approval Tests
 
Smart Migration to JDK 8
Smart Migration to JDK 8Smart Migration to JDK 8
Smart Migration to JDK 8
 
Gradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 versionGradle in 45min - JBCN2-16 version
Gradle in 45min - JBCN2-16 version
 
Scala, Functional Programming and Team Productivity
Scala, Functional Programming and Team ProductivityScala, Functional Programming and Team Productivity
Scala, Functional Programming and Team Productivity
 
Modern Java Workshop
Modern Java WorkshopModern Java Workshop
Modern Java Workshop
 
Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012Jenkins Evolutions - JEEConf 2012
Jenkins Evolutions - JEEConf 2012
 
OpenDaylight Developer Experience 2.0
 OpenDaylight Developer Experience 2.0 OpenDaylight Developer Experience 2.0
OpenDaylight Developer Experience 2.0
 
Basic Gradle Plugin Writing
Basic Gradle Plugin WritingBasic Gradle Plugin Writing
Basic Gradle Plugin Writing
 
Q4.11: Getting Started in LAVA
Q4.11: Getting Started in LAVAQ4.11: Getting Started in LAVA
Q4.11: Getting Started in LAVA
 
Idiomatic gradle plugin writing
Idiomatic gradle plugin writingIdiomatic gradle plugin writing
Idiomatic gradle plugin writing
 
Prometheus: infrastructure and application monitoring in kubernetes cluster
Prometheus: infrastructure and application monitoring in kubernetes clusterPrometheus: infrastructure and application monitoring in kubernetes cluster
Prometheus: infrastructure and application monitoring in kubernetes cluster
 
New Features Of JDK 7
New Features Of JDK 7New Features Of JDK 7
New Features Of JDK 7
 
Izumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala StackIzumi 1.0: Your Next Scala Stack
Izumi 1.0: Your Next Scala Stack
 
Docker In Bank Unrated
Docker In Bank UnratedDocker In Bank Unrated
Docker In Bank Unrated
 
Idiomatic Gradle Plugin Writing - GradleSummit 2016
Idiomatic Gradle Plugin Writing - GradleSummit 2016Idiomatic Gradle Plugin Writing - GradleSummit 2016
Idiomatic Gradle Plugin Writing - GradleSummit 2016
 

Similar to Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP

Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
Patrick Chanezon
 
Before & After Docker Init
Before & After Docker InitBefore & After Docker Init
Before & After Docker Init
Angel Borroy López
 

Similar to Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP (20)

Jenkins Pipelines
Jenkins PipelinesJenkins Pipelines
Jenkins Pipelines
 
Useful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvmUseful practices of creation automatic tests by using cucumber jvm
Useful practices of creation automatic tests by using cucumber jvm
 
Automate Your Automation | DrupalCon Vienna
Automate Your Automation | DrupalCon ViennaAutomate Your Automation | DrupalCon Vienna
Automate Your Automation | DrupalCon Vienna
 
Our Puppet Story (GUUG FFG 2015)
Our Puppet Story (GUUG FFG 2015)Our Puppet Story (GUUG FFG 2015)
Our Puppet Story (GUUG FFG 2015)
 
Typesafe spark- Zalando meetup
Typesafe spark- Zalando meetupTypesafe spark- Zalando meetup
Typesafe spark- Zalando meetup
 
DevOPS training - Day 2/2
DevOPS training - Day 2/2DevOPS training - Day 2/2
DevOPS training - Day 2/2
 
Infrastructure testing with Molecule and TestInfra
Infrastructure testing with Molecule and TestInfraInfrastructure testing with Molecule and TestInfra
Infrastructure testing with Molecule and TestInfra
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
An introduction to maven gradle and sbt
An introduction to maven gradle and sbtAn introduction to maven gradle and sbt
An introduction to maven gradle and sbt
 
Oscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to ProductionOscon London 2016 - Docker from Development to Production
Oscon London 2016 - Docker from Development to Production
 
Distributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and ScalaDistributed & Highly Available server applications in Java and Scala
Distributed & Highly Available server applications in Java and Scala
 
Unit testing of spark applications
Unit testing of spark applicationsUnit testing of spark applications
Unit testing of spark applications
 
DevOps
DevOpsDevOps
DevOps
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 
Need 4 Speed FI
Need 4 Speed FINeed 4 Speed FI
Need 4 Speed FI
 
Operator SDK for K8s using Go
Operator SDK for K8s using GoOperator SDK for K8s using Go
Operator SDK for K8s using Go
 
Before & After Docker Init
Before & After Docker InitBefore & After Docker Init
Before & After Docker Init
 
Gradle
GradleGradle
Gradle
 
End_to_End_DevOps.pptx
End_to_End_DevOps.pptxEnd_to_End_DevOps.pptx
End_to_End_DevOps.pptx
 
Binary Studio Academy: .NET Code Testing
Binary Studio Academy: .NET Code TestingBinary Studio Academy: .NET Code Testing
Binary Studio Academy: .NET Code Testing
 

More from Stéphanie Roger

More from Stéphanie Roger (20)

Workshop IA : accélérez vos projets grâce au calcul intensif
Workshop IA : accélérez vos projets grâce au calcul intensif Workshop IA : accélérez vos projets grâce au calcul intensif
Workshop IA : accélérez vos projets grâce au calcul intensif
 
Inria Tech Talk - La classification de données complexes avec MASSICCC
Inria Tech Talk - La classification de données complexes avec MASSICCCInria Tech Talk - La classification de données complexes avec MASSICCC
Inria Tech Talk - La classification de données complexes avec MASSICCC
 
Workshop - Le traitement de données biométriques par la CNIL
Workshop - Le traitement de données biométriques par la CNILWorkshop - Le traitement de données biométriques par la CNIL
Workshop - Le traitement de données biométriques par la CNIL
 
Masterclass Welcome to France with Business France
Masterclass Welcome to France with Business FranceMasterclass Welcome to France with Business France
Masterclass Welcome to France with Business France
 
Inria Tech Talk : Validez vos protocoles IoT avec la plateforme FIT/IoT-LAB
Inria Tech Talk : Validez vos protocoles IoT avec la plateforme FIT/IoT-LABInria Tech Talk : Validez vos protocoles IoT avec la plateforme FIT/IoT-LAB
Inria Tech Talk : Validez vos protocoles IoT avec la plateforme FIT/IoT-LAB
 
Dossier de Presse - chatbot
Dossier de Presse - chatbotDossier de Presse - chatbot
Dossier de Presse - chatbot
 
Masterclass pour s'implanter en Inde avec Business France Export et INPI
Masterclass pour s'implanter en Inde avec Business France Export et INPIMasterclass pour s'implanter en Inde avec Business France Export et INPI
Masterclass pour s'implanter en Inde avec Business France Export et INPI
 
Workshop CNIL - "Privacy Impact Assessment" : comment réaliser une analyse de...
Workshop CNIL - "Privacy Impact Assessment" : comment réaliser une analyse de...Workshop CNIL - "Privacy Impact Assessment" : comment réaliser une analyse de...
Workshop CNIL - "Privacy Impact Assessment" : comment réaliser une analyse de...
 
Masterclass - Vendre au secteur public de santé par l'UGAP
Masterclass - Vendre au secteur public de santé par l'UGAPMasterclass - Vendre au secteur public de santé par l'UGAP
Masterclass - Vendre au secteur public de santé par l'UGAP
 
Inria Tech Talk : IceSL, le logiciel d'impression 3D
Inria Tech Talk : IceSL, le logiciel d'impression 3DInria Tech Talk : IceSL, le logiciel d'impression 3D
Inria Tech Talk : IceSL, le logiciel d'impression 3D
 
Workshop CNIL - RGPD & Objets connectés
Workshop CNIL - RGPD & Objets connectésWorkshop CNIL - RGPD & Objets connectés
Workshop CNIL - RGPD & Objets connectés
 
Masterclass pour se développer en zone ASEAN @BF Export @INPI
 Masterclass pour se développer en zone ASEAN @BF Export @INPI Masterclass pour se développer en zone ASEAN @BF Export @INPI
Masterclass pour se développer en zone ASEAN @BF Export @INPI
 
Workshop CNIL - RGPD & données de santé 22 février
Workshop CNIL - RGPD & données de santé 22 févrierWorkshop CNIL - RGPD & données de santé 22 février
Workshop CNIL - RGPD & données de santé 22 février
 
Workshop les bonnes pratiques pour scaler sur le marché américain - 18 février
Workshop les bonnes pratiques pour scaler sur le marché américain - 18 févrierWorkshop les bonnes pratiques pour scaler sur le marché américain - 18 février
Workshop les bonnes pratiques pour scaler sur le marché américain - 18 février
 
Workshop Financement par la CCIPARIS-IDF
Workshop Financement par la CCIPARIS-IDF Workshop Financement par la CCIPARIS-IDF
Workshop Financement par la CCIPARIS-IDF
 
Masterclass : les grands enjeux de la #Smartcity
Masterclass : les grands enjeux de la #SmartcityMasterclass : les grands enjeux de la #Smartcity
Masterclass : les grands enjeux de la #Smartcity
 
Inria Tech Talk : Améliorez vos applications de robotique & réalité augmentée
Inria Tech Talk : Améliorez vos applications de robotique & réalité augmentéeInria Tech Talk : Améliorez vos applications de robotique & réalité augmentée
Inria Tech Talk : Améliorez vos applications de robotique & réalité augmentée
 
La Masterclass #RGPD #International @CNIL
La Masterclass #RGPD #International @CNILLa Masterclass #RGPD #International @CNIL
La Masterclass #RGPD #International @CNIL
 
Workshop IA : supercalculateur pour booster vos projets par GENCI
Workshop IA : supercalculateur pour booster vos projets par GENCIWorkshop IA : supercalculateur pour booster vos projets par GENCI
Workshop IA : supercalculateur pour booster vos projets par GENCI
 
Workshop Recrutement #Associés #Fondateurs
Workshop Recrutement #Associés #FondateursWorkshop Recrutement #Associés #Fondateurs
Workshop Recrutement #Associés #Fondateurs
 

Recently uploaded

Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Marc Lester
 

Recently uploaded (20)

Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
Odoo vs Shopify: Why Odoo is Best for Ecommerce Website Builder in 2024
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Malaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptxMalaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptx
 
What need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java DevelopersWhat need to be mastered as AI-Powered Java Developers
What need to be mastered as AI-Powered Java Developers
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024Automate your OpenSIPS config tests - OpenSIPS Summit 2024
Automate your OpenSIPS config tests - OpenSIPS Summit 2024
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
 
SQL Injection Introduction and Prevention
SQL Injection Introduction and PreventionSQL Injection Introduction and Prevention
SQL Injection Introduction and Prevention
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024Food Delivery Business App Development Guide 2024
Food Delivery Business App Development Guide 2024
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCAOpenChain Webinar: AboutCode and Beyond - End-to-End SCA
OpenChain Webinar: AboutCode and Beyond - End-to-End SCA
 
Jax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined DeckJax, FL Admin Community Group 05.14.2024 Combined Deck
Jax, FL Admin Community Group 05.14.2024 Combined Deck
 

Inria Tech Talk : Comment améliorer la qualité de vos logiciels avec STAMP