SlideShare a Scribd company logo
‹#› Het begint met een idee
Experiment planning
Ivano Malavolta
Vrije Universiteit Amsterdam
Announcement
Guest lecture by Fabio Palomba
○ VU Green Office http://www.greenofficevu.nl/
○ Room HG KC-18
○ Thursday October 19th, 11 AM
TOPIC: Information retrieval for code changes based on user
reviews of mobile apps
Vrije Universiteit Amsterdam
Experiment planning
Context selection
Research questions and hypotheses formulation
Variables selection
Subjects selection
3 Ivano Malavolta / S2 group / Empirical software engineering
Roadmap
Vrije Universiteit Amsterdam
4 Ivano Malavolta / S2 group / Empirical software engineering
Recall
Vrije Universiteit Amsterdam
5 Ivano Malavolta / S2 group / Empirical software engineering
Recall
Vrije Universiteit Amsterdam
● Experiment scoping describes WHY we run an experiment
● The planning determines HOW the experiment will be
executed
▪ Be careful here → the result of the experiment can be disturbed (or
even destroyed) if not planned properly
6 Ivano Malavolta / S2 group / Empirical software engineering
Scoping VS planning
Vrije Universiteit Amsterdam
7 Ivano Malavolta / S2 group / Empirical software engineering
Planning phases
Scope of this
lecture
Vrije Universiteit Amsterdam
8 Ivano Malavolta / S2 group / Empirical software engineering
Context selection
Vrije Universiteit Amsterdam
9 Ivano Malavolta / S2 group / Empirical software engineering
We already heard about context...
Vrije Universiteit Amsterdam
CONTEXT: the environment in which the experiment is
performed
Our goal here is to achieve the most general results
→ optimum: large real software projects, with practitioners
Many risks involved….
10 Ivano Malavolta / S2 group / Empirical software engineering
Context selection
Vrije Universiteit Amsterdam
11 Ivano Malavolta / S2 group / Empirical software engineering
Context selection dimensions
RealityLab
● Off-line ● On-line
● Students ● Professionals
● Toy problem ● Real problem
● Specific ● General
Vrije Universiteit Amsterdam
12 Ivano Malavolta / S2 group / Empirical software engineering
Quick exercise
Think about the Image encoding case study
and formulate a potential context for an experiment
Vrije Universiteit Amsterdam
13 Ivano Malavolta / S2 group / Empirical software engineering
Research questions and hypotheses formulation
Vrije Universiteit Amsterdam
Research questions detail the specific objectives of the empirical
study
Incepted from the study definition
Starting point to identify the variables of interest of your study
14 Ivano Malavolta / S2 group / Empirical software engineering
Research questions formulation
Vrije Universiteit Amsterdam
Research questions should be as clear as possible
→ they will guide the whole experiment
Avoid questions you cannot answer
▪ What is the best JavaScript framework in terms of performance?
▪ What is the most productive programming language?
▪ ...
Golden words: to what extent..., what is the impact of X to Y, what
are the traits of Xs, what are the characteristics of T...
Remind that in your report you will come back to them and
explicitly answer each of them in details
15 Ivano Malavolta / S2 group / Empirical software engineering
Suggestions
Avoid ”boolean“ questions!
Vrije Universiteit Amsterdam
16 Ivano Malavolta / S2 group / Empirical software engineering
Example: CHABADA
Vrije Universiteit Amsterdam
17
Example: CHABADA
Vrije Universiteit Amsterdam
18
Example: CHABADA
Vrije Universiteit Amsterdam
19 Ivano Malavolta / S2 group / Empirical software engineering
Example: CHABADA
Vrije Universiteit Amsterdam
20 Ivano Malavolta / S2 group / Empirical software engineering
Example: CHABADA
Vrije Universiteit Amsterdam
21 Ivano Malavolta / S2 group / Empirical software engineering
From research questions to hypotheses
● When a research question is going to be addressed by
applying a statistical test, it would be helpful to formulate an
hypothesis
● Very useful to select what kind of statistical procedure you
need to use
Not needed in all cases
Vrije Universiteit Amsterdam
22 Ivano Malavolta / S2 group / Empirical software engineering
Hypotheses formulation
● Conjecture (P)
○ Administration of treatment has influence on some
feature
● Consequence (Q)
○ We observe a difference in terms of some feature
P → Q
Vrije Universiteit Amsterdam
23 Ivano Malavolta / S2 group / Empirical software engineering
Hypotheses formulation
Hypothesis: a formal statement about a phenomenon
● Null hypothesis H0: no real trends or patterns in the
experiment setting (aka ~Q)
● Alternative hypothesis Ha: there are real trends or patterns
in the experiment setting (aka Q)
There should be a pair of null and alternative
hypotheses for each question in your GQM
Vrije Universiteit Amsterdam
24 Ivano Malavolta / S2 group / Empirical software engineering
Falsification (modus tollens)
● We verify the null hypothesis (~Q)...
○ we test the null hypothesis H0
If we can reject the null hypothesis → we can draw conclusions
This comes from Popper (1959): any statement in a scientific
field is true until anybody can contradict it
● Aiming at verifying Q is WRONG
○ Provides no insight on the conjecture
Modus tollens:
P à Q
~Q
~P
Vrije Universiteit Amsterdam
25 Ivano Malavolta / S2 group / Empirical software engineering
Example
● Question:
○ To what extent green algorithms improve software energy
efficiency?
● Consequence (Q):
○ (when applying green algorithms) we observe a reduction
of energy consumption
● Conjecture (P):
○ applying green algorithms reduces energy consumption
Vrije Universiteit Amsterdam
26 Ivano Malavolta / S2 group / Empirical software engineering
Example
● Null hypothesis (¬Q): there is no reduction in terms of
energy consumption
H0: mean(Ega) >= mean(Enormal)
● Alternative hypothesis (Q): the energy consumption resulting
from an application that uses green algorithms is lower
Ha: mean(Ega) < mean(Enormal)
Vrije Universiteit Amsterdam
27 Ivano Malavolta / S2 group / Empirical software engineering
What can happen now?
● We confirm the null hypothesis (~Q)
○ ~Q → ~P
○ our conjecture P has been falsified → green algorithms do not
reduce energy consumption (~P)
● We reject the null hypothesis (~Q)
○ Q = true
○ our conjecture P has been corroborated → we are more
confident that green algorithms reduce energy consumption (P)
Vrije Universiteit Amsterdam
28 Ivano Malavolta / S2 group / Empirical software engineering
Example 2
Vrije Universiteit Amsterdam
29
Other examples of hypotheses
Vrije Universiteit Amsterdam
30 Ivano Malavolta / S2 group / Empirical software engineering
Variables selection
Vrije Universiteit Amsterdam
31 Ivano Malavolta / S2 group / Empirical software engineering
Recap
Vrije Universiteit Amsterdam
32 Ivano Malavolta / S2 group / Empirical software engineering
Variables selection
● The choice of independent and dependent variables is usually
done in parallel
● Some variables cannot be measured directly (e.g.
productivity, code quality, effort...)
○ We use proxies to estimate them
■ proxies may introduce a construct validity threat: is what we are
measuring a good representation of our variable?
Vrije Universiteit Amsterdam
33 Ivano Malavolta / S2 group / Empirical software engineering
Variables selection
● Independent variables should have some effect on the
dependent ones
→ do not choose variables randomly, think about your RQs
● After choosing the variables you have to define their types,
scales, ranges → this is part of measurement theory
Vrije Universiteit Amsterdam
34 Ivano Malavolta / S2 group / Empirical software engineering
Hypotheses formulation
● Often there is only 1 dependent variable (the main factor)
○ e.g., power consumption
● Often one level for the control group
○ e.g. use of traditional technique
● One or more levels for experimental groups
○ e.g. use of new technique(s) tool(s)
Other independent variables are the co-factors
Vrije Universiteit Amsterdam
Our main factor is not the only variable influencing the dependent variable(s)
○ e.g., network instability of your experimental environment, usage patterns of the
analysed website, skills of subjects, analyzed system, experience of developers, ...
We will never account for all possible co-factors
Your best friend here is randomization
In a good experiment:
● limit the effect of co-factors through a good experimental design
● able to separate the effect of co-factors from main factors
● analyze the interaction of co-factors with main factor
35
Co-factors
Vrije Universiteit Amsterdam
36 Ivano Malavolta / S2 group / Empirical software engineering
Example
Vrije Universiteit Amsterdam
37 Ivano Malavolta / S2 group / Empirical software engineering
Subjects selection
Vrije Universiteit Amsterdam
38 Ivano Malavolta / S2 group / Empirical software engineering
Subjects selection
● Population: the complete set of items of interest for our
experiment
○ e.g. open-source software applications
○ e.g., all existing progressive web apps
● Sample: representative selection of individuals for that
population
○ e.g. Apache, MySQL
○ e.g. progressive web apps mined from Alexa’s list
Vrije Universiteit Amsterdam
39 Ivano Malavolta / S2 group / Empirical software engineering
Sampling techniques
● Probability Sampling: the probability of selecting each subject in the
population is known
○ Simple Random Sampling: random selection from the population,
probability is 1/total
○ Stratified random sampling: the population is divided into groups with a
known distribution between the groups. Random sampling is then applied
within each group
● Non-probability sampling: the probability of selecting each subject out
of the population is unknown
○ Convenience: the most convenient (cost/distance/ complexity) subjects are
selected [usually it is the only way to go]
○ Quota: you select samples from groups of subjects (e.g. male vs females,
open-source vs closed source)
Vrije Universiteit Amsterdam
40 Ivano Malavolta / S2 group / Empirical software engineering
How big should be a sample?
● Sample size: the larger, the better (more general results)
● If the population has a high variation a larger sample size is
needed
● Data analysis may influence sample size
○ some statistical tests have meaning only on large
samples
Vrije Universiteit Amsterdam
You know how to:
● define the context of your experiment
● define research questions and hypotheses
● define independent and dependent variables
● strategies for selecting subjects
Next step
Measurement theory → how to define the “type” of variables
41 Ivano Malavolta / S2 group / Empirical software engineering
What this lecture means to you?
Vrije Universiteit Amsterdam
42 Ivano Malavolta / S2 group / Empirical software engineering
Readings
Chapter 8
Vrije Universiteit Amsterdam
43 Ivano Malavolta / S2 group / Empirical software engineering
Some contents of this part of lecture extracted from:
● Giuseppe Procaccianti’s lectures at VU
● Massimiliano Di Penta’s lectures at GSSI (Italy)
Acknowledgements

More Related Content

What's hot

Difference between research proposal and research report comparison of purp...
Difference between research proposal and research report   comparison of purp...Difference between research proposal and research report   comparison of purp...
Difference between research proposal and research report comparison of purp...gulsherg
 
Research Methodology UNIT 1.pptx
Research Methodology UNIT 1.pptxResearch Methodology UNIT 1.pptx
Research Methodology UNIT 1.pptxPallawiBulakh1
 
experimental research ppt
experimental research pptexperimental research ppt
experimental research pptAkinaw Wagari
 
Monte carlo simulation
Monte carlo simulationMonte carlo simulation
Monte carlo simulationMissAnam
 
CANDU6 Reactor at a Glance
CANDU6 Reactor at a GlanceCANDU6 Reactor at a Glance
CANDU6 Reactor at a GlanceHitesh Sahu
 
Research Methodology
Research MethodologyResearch Methodology
Research MethodologyCHARAK RAY
 
Research Design: Quantitative, Qualitative and Mixed Methods Design
Research Design: Quantitative, Qualitative and Mixed Methods DesignResearch Design: Quantitative, Qualitative and Mixed Methods Design
Research Design: Quantitative, Qualitative and Mixed Methods DesignThiyagu K
 
Exploratory Research Design
Exploratory Research DesignExploratory Research Design
Exploratory Research DesignRashida Hameed
 
Unit: Concept, characteristics and subject of scientific research. The scient...
Unit: Concept, characteristics and subject of scientific research. The scient...Unit: Concept, characteristics and subject of scientific research. The scient...
Unit: Concept, characteristics and subject of scientific research. The scient...actividadestransversales
 
Research Design Slide Show
Research Design Slide Show Research Design Slide Show
Research Design Slide Show Myla German
 
Research Introduction , Meaning, Objectives, Motives and Types
Research Introduction , Meaning, Objectives, Motives and TypesResearch Introduction , Meaning, Objectives, Motives and Types
Research Introduction , Meaning, Objectives, Motives and TypesRajaKrishnan M
 
Research seminar lecture_2_research_proposal__types_of_research_methods_stude...
Research seminar lecture_2_research_proposal__types_of_research_methods_stude...Research seminar lecture_2_research_proposal__types_of_research_methods_stude...
Research seminar lecture_2_research_proposal__types_of_research_methods_stude...Daria Bogdanova
 

What's hot (20)

Research design
Research designResearch design
Research design
 
Difference between research proposal and research report comparison of purp...
Difference between research proposal and research report   comparison of purp...Difference between research proposal and research report   comparison of purp...
Difference between research proposal and research report comparison of purp...
 
Choosing research topic[1]
Choosing research topic[1]Choosing research topic[1]
Choosing research topic[1]
 
Salami Publication
Salami PublicationSalami Publication
Salami Publication
 
Research Methodology UNIT 1.pptx
Research Methodology UNIT 1.pptxResearch Methodology UNIT 1.pptx
Research Methodology UNIT 1.pptx
 
experimental research ppt
experimental research pptexperimental research ppt
experimental research ppt
 
Research Design
Research DesignResearch Design
Research Design
 
Design of Experiments
Design of ExperimentsDesign of Experiments
Design of Experiments
 
Experimental Design
Experimental DesignExperimental Design
Experimental Design
 
Monte carlo simulation
Monte carlo simulationMonte carlo simulation
Monte carlo simulation
 
CANDU6 Reactor at a Glance
CANDU6 Reactor at a GlanceCANDU6 Reactor at a Glance
CANDU6 Reactor at a Glance
 
TYPES OF RESEARCH
TYPES OF RESEARCHTYPES OF RESEARCH
TYPES OF RESEARCH
 
Research Methodology
Research MethodologyResearch Methodology
Research Methodology
 
Research Design: Quantitative, Qualitative and Mixed Methods Design
Research Design: Quantitative, Qualitative and Mixed Methods DesignResearch Design: Quantitative, Qualitative and Mixed Methods Design
Research Design: Quantitative, Qualitative and Mixed Methods Design
 
Exploratory Research Design
Exploratory Research DesignExploratory Research Design
Exploratory Research Design
 
Unit: Concept, characteristics and subject of scientific research. The scient...
Unit: Concept, characteristics and subject of scientific research. The scient...Unit: Concept, characteristics and subject of scientific research. The scient...
Unit: Concept, characteristics and subject of scientific research. The scient...
 
Types of models
Types of modelsTypes of models
Types of models
 
Research Design Slide Show
Research Design Slide Show Research Design Slide Show
Research Design Slide Show
 
Research Introduction , Meaning, Objectives, Motives and Types
Research Introduction , Meaning, Objectives, Motives and TypesResearch Introduction , Meaning, Objectives, Motives and Types
Research Introduction , Meaning, Objectives, Motives and Types
 
Research seminar lecture_2_research_proposal__types_of_research_methods_stude...
Research seminar lecture_2_research_proposal__types_of_research_methods_stude...Research seminar lecture_2_research_proposal__types_of_research_methods_stude...
Research seminar lecture_2_research_proposal__types_of_research_methods_stude...
 

Similar to [03-A] Experiment planning

The Green Lab - [03 A] Experiment planning
The Green Lab - [03 A] Experiment planningThe Green Lab - [03 A] Experiment planning
The Green Lab - [03 A] Experiment planningIvano Malavolta
 
[02-A] The experimental process
[02-A] The experimental process[02-A] The experimental process
[02-A] The experimental processIvano Malavolta
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reportingIvano Malavolta
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validityIvano Malavolta
 
The Green Lab - [09 B] Experiment validity
The Green Lab - [09  B] Experiment validityThe Green Lab - [09  B] Experiment validity
The Green Lab - [09 B] Experiment validityIvano Malavolta
 
[03-B] Measurement theory basics
[03-B] Measurement theory basics[03-B] Measurement theory basics
[03-B] Measurement theory basicsIvano Malavolta
 
The Green Lab - [01 C] Empirical software engineering
The Green Lab - [01 C] Empirical software engineeringThe Green Lab - [01 C] Empirical software engineering
The Green Lab - [01 C] Empirical software engineeringIvano Malavolta
 
[02-B] Experiment scoping
[02-B] Experiment scoping[02-B] Experiment scoping
[02-B] Experiment scopingIvano Malavolta
 
[01-B] Empirical software engineering
[01-B] Empirical software engineering[01-B] Empirical software engineering
[01-B] Empirical software engineeringIvano Malavolta
 
[05-A] Experiment design (basics)
[05-A] Experiment design (basics)[05-A] Experiment design (basics)
[05-A] Experiment design (basics)Ivano Malavolta
 
The Green Lab - [05 B] Experiment design (advanced)
The Green Lab - [05 B] Experiment design (advanced)The Green Lab - [05 B] Experiment design (advanced)
The Green Lab - [05 B] Experiment design (advanced)Ivano Malavolta
 
The Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scopingThe Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scopingIvano Malavolta
 
[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)Ivano Malavolta
 
The Green Lab - [05 A] Experiment design (basics)
The Green Lab - [05 A] Experiment design (basics)The Green Lab - [05 A] Experiment design (basics)
The Green Lab - [05 A] Experiment design (basics)Ivano Malavolta
 
[09-A] Statistical tests and effect size
[09-A] Statistical tests and effect size[09-A] Statistical tests and effect size
[09-A] Statistical tests and effect sizeIvano Malavolta
 
The Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect sizeThe Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect sizeIvano Malavolta
 
Visual Learning Pulse - Final Thesis presentation
Visual Learning Pulse - Final Thesis presentationVisual Learning Pulse - Final Thesis presentation
Visual Learning Pulse - Final Thesis presentationDaniele Di Mitri
 
[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testing[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testingIvano Malavolta
 
The Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesThe Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesIvano Malavolta
 
The Green Lab - [03 B] Measurement theory basics
The Green Lab - [03 B] Measurement theory basicsThe Green Lab - [03 B] Measurement theory basics
The Green Lab - [03 B] Measurement theory basicsIvano Malavolta
 

Similar to [03-A] Experiment planning (20)

The Green Lab - [03 A] Experiment planning
The Green Lab - [03 A] Experiment planningThe Green Lab - [03 A] Experiment planning
The Green Lab - [03 A] Experiment planning
 
[02-A] The experimental process
[02-A] The experimental process[02-A] The experimental process
[02-A] The experimental process
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reporting
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validity
 
The Green Lab - [09 B] Experiment validity
The Green Lab - [09  B] Experiment validityThe Green Lab - [09  B] Experiment validity
The Green Lab - [09 B] Experiment validity
 
[03-B] Measurement theory basics
[03-B] Measurement theory basics[03-B] Measurement theory basics
[03-B] Measurement theory basics
 
The Green Lab - [01 C] Empirical software engineering
The Green Lab - [01 C] Empirical software engineeringThe Green Lab - [01 C] Empirical software engineering
The Green Lab - [01 C] Empirical software engineering
 
[02-B] Experiment scoping
[02-B] Experiment scoping[02-B] Experiment scoping
[02-B] Experiment scoping
 
[01-B] Empirical software engineering
[01-B] Empirical software engineering[01-B] Empirical software engineering
[01-B] Empirical software engineering
 
[05-A] Experiment design (basics)
[05-A] Experiment design (basics)[05-A] Experiment design (basics)
[05-A] Experiment design (basics)
 
The Green Lab - [05 B] Experiment design (advanced)
The Green Lab - [05 B] Experiment design (advanced)The Green Lab - [05 B] Experiment design (advanced)
The Green Lab - [05 B] Experiment design (advanced)
 
The Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scopingThe Green Lab - [02 B] Experiment scoping
The Green Lab - [02 B] Experiment scoping
 
[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)[05-B] Experiment design (advanced)
[05-B] Experiment design (advanced)
 
The Green Lab - [05 A] Experiment design (basics)
The Green Lab - [05 A] Experiment design (basics)The Green Lab - [05 A] Experiment design (basics)
The Green Lab - [05 A] Experiment design (basics)
 
[09-A] Statistical tests and effect size
[09-A] Statistical tests and effect size[09-A] Statistical tests and effect size
[09-A] Statistical tests and effect size
 
The Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect sizeThe Green Lab - [09 A] Statistical tests and effect size
The Green Lab - [09 A] Statistical tests and effect size
 
Visual Learning Pulse - Final Thesis presentation
Visual Learning Pulse - Final Thesis presentationVisual Learning Pulse - Final Thesis presentation
Visual Learning Pulse - Final Thesis presentation
 
[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testing[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testing
 
The Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challengesThe Green Lab - [13 B] Future research challenges
The Green Lab - [13 B] Future research challenges
 
The Green Lab - [03 B] Measurement theory basics
The Green Lab - [03 B] Measurement theory basicsThe Green Lab - [03 B] Measurement theory basics
The Green Lab - [03 B] Measurement theory basics
 

More from Ivano Malavolta

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Ivano Malavolta
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)Ivano Malavolta
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green ITIvano Malavolta
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Ivano Malavolta
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]Ivano Malavolta
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Ivano Malavolta
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Ivano Malavolta
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Ivano Malavolta
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Ivano Malavolta
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Ivano Malavolta
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Ivano Malavolta
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Ivano Malavolta
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Ivano Malavolta
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile developmentIvano Malavolta
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architecturesIvano Malavolta
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design LanguageIvano Malavolta
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languagesIvano Malavolta
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software ArchitectureIvano Malavolta
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineeringIvano Malavolta
 

More from Ivano Malavolta (20)

Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
Conducting Experiments on the Software Architecture of Robotic Systems (QRARS...
 
The H2020 experience
The H2020 experienceThe H2020 experience
The H2020 experience
 
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)The Green Lab - Research cocktail  @Vrije Universiteit Amsterdam (October 2020)
The Green Lab - Research cocktail @Vrije Universiteit Amsterdam (October 2020)
 
Software sustainability and Green IT
Software sustainability and Green ITSoftware sustainability and Green IT
Software sustainability and Green IT
 
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...Navigation-aware and Personalized Prefetching of Network Requests in Android ...
Navigation-aware and Personalized Prefetching of Network Requests in Android ...
 
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]How Maintainability Issues of Android Apps Evolve [ICSME 2018]
How Maintainability Issues of Android Apps Evolve [ICSME 2018]
 
Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...Collaborative Model-Driven Software Engineering: a Classification Framework a...
Collaborative Model-Driven Software Engineering: a Classification Framework a...
 
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
Experimenting on Mobile Apps Quality - a tale about Energy, Performance, and ...
 
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
Modeling objects interaction via UML sequence diagrams [Software Design] [Com...
 
Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...Modeling behaviour via UML state machines [Software Design] [Computer Science...
Modeling behaviour via UML state machines [Software Design] [Computer Science...
 
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...Object-oriented design patterns in UML [Software Design] [Computer Science] [...
Object-oriented design patterns in UML [Software Design] [Computer Science] [...
 
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
Structure modeling with UML [Software Design] [Computer Science] [Vrije Unive...
 
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
Requirements engineering with UML [Software Design] [Computer Science] [Vrije...
 
Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...Modeling and abstraction, software development process [Software Design] [Com...
Modeling and abstraction, software development process [Software Design] [Com...
 
[2017/2018] Agile development
[2017/2018] Agile development[2017/2018] Agile development
[2017/2018] Agile development
 
Reconstructing microservice-based architectures
Reconstructing microservice-based architecturesReconstructing microservice-based architectures
Reconstructing microservice-based architectures
 
[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language[2017/2018] AADL - Architecture Analysis and Design Language
[2017/2018] AADL - Architecture Analysis and Design Language
 
[2017/2018] Architectural languages
[2017/2018] Architectural languages[2017/2018] Architectural languages
[2017/2018] Architectural languages
 
[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture[2017/2018] Introduction to Software Architecture
[2017/2018] Introduction to Software Architecture
 
[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering[2017/2018] RESEARCH in software engineering
[2017/2018] RESEARCH in software engineering
 

Recently uploaded

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion Clinic
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockSkilrock Technologies
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfOrtus Solutions, Corp
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowPeter Caitens
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfMeon Technology
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyanic lab
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessWSO2
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandIES VE
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...rajkumar669520
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisNeo4j
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1KnowledgeSeed
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAlluxio, Inc.
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfkalichargn70th171
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?XfilesPro
 

Recently uploaded (20)

AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
Abortion ^Clinic ^%[+971588192166''] Abortion Pill Al Ain (?@?) Abortion Pill...
 
iGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by SkilrockiGaming Platform & Lottery Solutions by Skilrock
iGaming Platform & Lottery Solutions by Skilrock
 
Into the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdfInto the Box 2024 - Keynote Day 2 Slides.pdf
Into the Box 2024 - Keynote Day 2 Slides.pdf
 
Advanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should KnowAdvanced Flow Concepts Every Developer Should Know
Advanced Flow Concepts Every Developer Should Know
 
Breaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdfBreaking the Code : A Guide to WhatsApp Business API.pdf
Breaking the Code : A Guide to WhatsApp Business API.pdf
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
Accelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with PlatformlessAccelerate Enterprise Software Engineering with Platformless
Accelerate Enterprise Software Engineering with Platformless
 
Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024Top Mobile App Development Companies 2024
Top Mobile App Development Companies 2024
 
Using IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New ZealandUsing IESVE for Room Loads Analysis - Australia & New Zealand
Using IESVE for Room Loads Analysis - Australia & New Zealand
 
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
Facemoji Keyboard released its 2023 State of Emoji report, outlining the most...
 
GraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysisGraphAware - Transforming policing with graph-based intelligence analysis
GraphAware - Transforming policing with graph-based intelligence analysis
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
A Python-based approach to data loading in TM1 - Using Airflow as an ETL for TM1
 
SOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBrokerSOCRadar Research Team: Latest Activities of IntelBroker
SOCRadar Research Team: Latest Activities of IntelBroker
 
AI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in MichelangeloAI/ML Infra Meetup | ML explainability in Michelangelo
AI/ML Infra Meetup | ML explainability in Michelangelo
 
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdfA Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
 
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
How Does XfilesPro Ensure Security While Sharing Documents in Salesforce?
 

[03-A] Experiment planning

  • 1. ‹#› Het begint met een idee Experiment planning Ivano Malavolta
  • 2. Vrije Universiteit Amsterdam Announcement Guest lecture by Fabio Palomba ○ VU Green Office http://www.greenofficevu.nl/ ○ Room HG KC-18 ○ Thursday October 19th, 11 AM TOPIC: Information retrieval for code changes based on user reviews of mobile apps
  • 3. Vrije Universiteit Amsterdam Experiment planning Context selection Research questions and hypotheses formulation Variables selection Subjects selection 3 Ivano Malavolta / S2 group / Empirical software engineering Roadmap
  • 4. Vrije Universiteit Amsterdam 4 Ivano Malavolta / S2 group / Empirical software engineering Recall
  • 5. Vrije Universiteit Amsterdam 5 Ivano Malavolta / S2 group / Empirical software engineering Recall
  • 6. Vrije Universiteit Amsterdam ● Experiment scoping describes WHY we run an experiment ● The planning determines HOW the experiment will be executed ▪ Be careful here → the result of the experiment can be disturbed (or even destroyed) if not planned properly 6 Ivano Malavolta / S2 group / Empirical software engineering Scoping VS planning
  • 7. Vrije Universiteit Amsterdam 7 Ivano Malavolta / S2 group / Empirical software engineering Planning phases Scope of this lecture
  • 8. Vrije Universiteit Amsterdam 8 Ivano Malavolta / S2 group / Empirical software engineering Context selection
  • 9. Vrije Universiteit Amsterdam 9 Ivano Malavolta / S2 group / Empirical software engineering We already heard about context...
  • 10. Vrije Universiteit Amsterdam CONTEXT: the environment in which the experiment is performed Our goal here is to achieve the most general results → optimum: large real software projects, with practitioners Many risks involved…. 10 Ivano Malavolta / S2 group / Empirical software engineering Context selection
  • 11. Vrije Universiteit Amsterdam 11 Ivano Malavolta / S2 group / Empirical software engineering Context selection dimensions RealityLab ● Off-line ● On-line ● Students ● Professionals ● Toy problem ● Real problem ● Specific ● General
  • 12. Vrije Universiteit Amsterdam 12 Ivano Malavolta / S2 group / Empirical software engineering Quick exercise Think about the Image encoding case study and formulate a potential context for an experiment
  • 13. Vrije Universiteit Amsterdam 13 Ivano Malavolta / S2 group / Empirical software engineering Research questions and hypotheses formulation
  • 14. Vrije Universiteit Amsterdam Research questions detail the specific objectives of the empirical study Incepted from the study definition Starting point to identify the variables of interest of your study 14 Ivano Malavolta / S2 group / Empirical software engineering Research questions formulation
  • 15. Vrije Universiteit Amsterdam Research questions should be as clear as possible → they will guide the whole experiment Avoid questions you cannot answer ▪ What is the best JavaScript framework in terms of performance? ▪ What is the most productive programming language? ▪ ... Golden words: to what extent..., what is the impact of X to Y, what are the traits of Xs, what are the characteristics of T... Remind that in your report you will come back to them and explicitly answer each of them in details 15 Ivano Malavolta / S2 group / Empirical software engineering Suggestions Avoid ”boolean“ questions!
  • 16. Vrije Universiteit Amsterdam 16 Ivano Malavolta / S2 group / Empirical software engineering Example: CHABADA
  • 19. Vrije Universiteit Amsterdam 19 Ivano Malavolta / S2 group / Empirical software engineering Example: CHABADA
  • 20. Vrije Universiteit Amsterdam 20 Ivano Malavolta / S2 group / Empirical software engineering Example: CHABADA
  • 21. Vrije Universiteit Amsterdam 21 Ivano Malavolta / S2 group / Empirical software engineering From research questions to hypotheses ● When a research question is going to be addressed by applying a statistical test, it would be helpful to formulate an hypothesis ● Very useful to select what kind of statistical procedure you need to use Not needed in all cases
  • 22. Vrije Universiteit Amsterdam 22 Ivano Malavolta / S2 group / Empirical software engineering Hypotheses formulation ● Conjecture (P) ○ Administration of treatment has influence on some feature ● Consequence (Q) ○ We observe a difference in terms of some feature P → Q
  • 23. Vrije Universiteit Amsterdam 23 Ivano Malavolta / S2 group / Empirical software engineering Hypotheses formulation Hypothesis: a formal statement about a phenomenon ● Null hypothesis H0: no real trends or patterns in the experiment setting (aka ~Q) ● Alternative hypothesis Ha: there are real trends or patterns in the experiment setting (aka Q) There should be a pair of null and alternative hypotheses for each question in your GQM
  • 24. Vrije Universiteit Amsterdam 24 Ivano Malavolta / S2 group / Empirical software engineering Falsification (modus tollens) ● We verify the null hypothesis (~Q)... ○ we test the null hypothesis H0 If we can reject the null hypothesis → we can draw conclusions This comes from Popper (1959): any statement in a scientific field is true until anybody can contradict it ● Aiming at verifying Q is WRONG ○ Provides no insight on the conjecture Modus tollens: P à Q ~Q ~P
  • 25. Vrije Universiteit Amsterdam 25 Ivano Malavolta / S2 group / Empirical software engineering Example ● Question: ○ To what extent green algorithms improve software energy efficiency? ● Consequence (Q): ○ (when applying green algorithms) we observe a reduction of energy consumption ● Conjecture (P): ○ applying green algorithms reduces energy consumption
  • 26. Vrije Universiteit Amsterdam 26 Ivano Malavolta / S2 group / Empirical software engineering Example ● Null hypothesis (¬Q): there is no reduction in terms of energy consumption H0: mean(Ega) >= mean(Enormal) ● Alternative hypothesis (Q): the energy consumption resulting from an application that uses green algorithms is lower Ha: mean(Ega) < mean(Enormal)
  • 27. Vrije Universiteit Amsterdam 27 Ivano Malavolta / S2 group / Empirical software engineering What can happen now? ● We confirm the null hypothesis (~Q) ○ ~Q → ~P ○ our conjecture P has been falsified → green algorithms do not reduce energy consumption (~P) ● We reject the null hypothesis (~Q) ○ Q = true ○ our conjecture P has been corroborated → we are more confident that green algorithms reduce energy consumption (P)
  • 28. Vrije Universiteit Amsterdam 28 Ivano Malavolta / S2 group / Empirical software engineering Example 2
  • 29. Vrije Universiteit Amsterdam 29 Other examples of hypotheses
  • 30. Vrije Universiteit Amsterdam 30 Ivano Malavolta / S2 group / Empirical software engineering Variables selection
  • 31. Vrije Universiteit Amsterdam 31 Ivano Malavolta / S2 group / Empirical software engineering Recap
  • 32. Vrije Universiteit Amsterdam 32 Ivano Malavolta / S2 group / Empirical software engineering Variables selection ● The choice of independent and dependent variables is usually done in parallel ● Some variables cannot be measured directly (e.g. productivity, code quality, effort...) ○ We use proxies to estimate them ■ proxies may introduce a construct validity threat: is what we are measuring a good representation of our variable?
  • 33. Vrije Universiteit Amsterdam 33 Ivano Malavolta / S2 group / Empirical software engineering Variables selection ● Independent variables should have some effect on the dependent ones → do not choose variables randomly, think about your RQs ● After choosing the variables you have to define their types, scales, ranges → this is part of measurement theory
  • 34. Vrije Universiteit Amsterdam 34 Ivano Malavolta / S2 group / Empirical software engineering Hypotheses formulation ● Often there is only 1 dependent variable (the main factor) ○ e.g., power consumption ● Often one level for the control group ○ e.g. use of traditional technique ● One or more levels for experimental groups ○ e.g. use of new technique(s) tool(s) Other independent variables are the co-factors
  • 35. Vrije Universiteit Amsterdam Our main factor is not the only variable influencing the dependent variable(s) ○ e.g., network instability of your experimental environment, usage patterns of the analysed website, skills of subjects, analyzed system, experience of developers, ... We will never account for all possible co-factors Your best friend here is randomization In a good experiment: ● limit the effect of co-factors through a good experimental design ● able to separate the effect of co-factors from main factors ● analyze the interaction of co-factors with main factor 35 Co-factors
  • 36. Vrije Universiteit Amsterdam 36 Ivano Malavolta / S2 group / Empirical software engineering Example
  • 37. Vrije Universiteit Amsterdam 37 Ivano Malavolta / S2 group / Empirical software engineering Subjects selection
  • 38. Vrije Universiteit Amsterdam 38 Ivano Malavolta / S2 group / Empirical software engineering Subjects selection ● Population: the complete set of items of interest for our experiment ○ e.g. open-source software applications ○ e.g., all existing progressive web apps ● Sample: representative selection of individuals for that population ○ e.g. Apache, MySQL ○ e.g. progressive web apps mined from Alexa’s list
  • 39. Vrije Universiteit Amsterdam 39 Ivano Malavolta / S2 group / Empirical software engineering Sampling techniques ● Probability Sampling: the probability of selecting each subject in the population is known ○ Simple Random Sampling: random selection from the population, probability is 1/total ○ Stratified random sampling: the population is divided into groups with a known distribution between the groups. Random sampling is then applied within each group ● Non-probability sampling: the probability of selecting each subject out of the population is unknown ○ Convenience: the most convenient (cost/distance/ complexity) subjects are selected [usually it is the only way to go] ○ Quota: you select samples from groups of subjects (e.g. male vs females, open-source vs closed source)
  • 40. Vrije Universiteit Amsterdam 40 Ivano Malavolta / S2 group / Empirical software engineering How big should be a sample? ● Sample size: the larger, the better (more general results) ● If the population has a high variation a larger sample size is needed ● Data analysis may influence sample size ○ some statistical tests have meaning only on large samples
  • 41. Vrije Universiteit Amsterdam You know how to: ● define the context of your experiment ● define research questions and hypotheses ● define independent and dependent variables ● strategies for selecting subjects Next step Measurement theory → how to define the “type” of variables 41 Ivano Malavolta / S2 group / Empirical software engineering What this lecture means to you?
  • 42. Vrije Universiteit Amsterdam 42 Ivano Malavolta / S2 group / Empirical software engineering Readings Chapter 8
  • 43. Vrije Universiteit Amsterdam 43 Ivano Malavolta / S2 group / Empirical software engineering Some contents of this part of lecture extracted from: ● Giuseppe Procaccianti’s lectures at VU ● Massimiliano Di Penta’s lectures at GSSI (Italy) Acknowledgements