SlideShare a Scribd company logo
1 of 28
Download to read offline
‹#› Het	begint	met	een	idee
Empirical	software	engineering
Ivano	Malavolta
Vrije Universiteit Amsterdam
Empirical	software	engineering
- definition
- dimensions
- types	of	studies
2 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Roadmap
Vrije Universiteit Amsterdam
Scientific use of quantitative and qualitative data to
- understand and
- improve
software products and software development processes
[Victor Basili]
Data is central to address any research question
Issues related to validity addressed continuously
3 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Empirical	software	engineering
Vrije Universiteit Amsterdam
4 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Intuition
It is an application of the scientific method
○ ask yourself a question
○ observe a phenomenon
○ formulate an hypothesis
○ build a prediction
○ setup an experiment
○ perform analysis on your results
Vrije Universiteit Amsterdam
Anecdotal evidence or “common-sense” often not good enough
- Anecdotes often insufficient to support decisions in the industry
- Practitioners need better advice on how and when to use methodologies
Evidence important for successful technology transfer
- Systematic gathering of evidence
- Wide dissemination of evidence
5 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Why	empirical	studies?
Vrije Universiteit Amsterdam
● Tested on a single system (lack of generalization)
● Data analysis not statistical
● No indications on how many runs were performed, error rate,
etc.
6 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
How	NOT	to	do	experiments
Vrije Universiteit Amsterdam
7 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
How	NOT	to	do	experiments
Vrije Universiteit Amsterdam
8
How	NOT	to	do	experiments
IE9
Chrome
FireFox
Opera
Safari
Vrije Universiteit Amsterdam
9 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Vrije Universiteit Amsterdam
“In the lab” versus “in the wild” studies
Qualitative versus quantitative studies
Primary versus secondary studies
10 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Dimensions	of	empirical	studies
Vrije Universiteit Amsterdam
Common “in the lab” methods
– Controlled experiments
– Literature reviews
– Simulations
Common “in the wild” methods
– Quasi-experiments
– Case studies
– Survey research
– Ethnographies
– Action research
11 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
“In	the	lab”	VS	“in	the	wild”	studies
Vrije Universiteit Amsterdam
12 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Examples
Vrije Universiteit Amsterdam
Qualitative research
studying objects in their natural setting and letting the findings emerge from
the observations
– inductive process (usually discovers the “why”)
– the subject is the person
Quantitative research
quantifying a relationship or to compare two or more groups with the aim to
identify a cause-effect relationship
– fixed implied factors
– focus on quantitative data → promotes comparison and statistical
analyses
13 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Qualitative	VS	quantitative	studies
Vrije Universiteit Amsterdam
14 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Example
They are
complementary
Vrije Universiteit Amsterdam
Primary studies
empirical studies in which we directly make measurements or observations
about the objects of interest, whether by surveys, experiments, case studies,
etc.
Secondary studies
empirical studies that do not generate any data from direct measurements,
but:
– analyze a set of primary studies
– usually seek to aggregate the results from primary studies in order to
provide stronger forms of evidence about a phenomenon
15 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Primary	VS	secondary	studies
Vrije Universiteit Amsterdam
16 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Examples
Vrije Universiteit Amsterdam
17 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
…	and	what	about	this?
Vrije Universiteit Amsterdam
Survey
Case study
Experiment
18 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Types	of	empirical	studies
Vrije Universiteit Amsterdam
Def: a system for collecting information from or about people to
describe, compare or explain their knowledge, attitudes and
behavior
Often an investigation performed in retrospect
Interviews and questionnaires are the primary means of
gathering qualitative or quantitative data
Surveys are done by taking a sample which is representative from
the population to be studied
19 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Survey
Vrije Universiteit Amsterdam
20 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Example
Vrije Universiteit Amsterdam
1. Architects identification
– Identify preliminary set of ALs
– Systematic search
2. Planning the survey
3. Designing the survey
4. Analyzing the Data
– vertical analysis (and coding) + horizontal analysis
21 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Example
Vrije Universiteit Amsterdam
Def: an empirical enquiry to investigate one instance (or a small
number of instances) of a contemporary software engineering
phenomenon within its real-life context, especially when the
boundary between phenomenon and context cannot be clearly
specified
Observational study
Data collected to track a specific attribute or establishing
relationships between different attributes
Multivariate statistical analysis is often applied
22 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Case	study
Vrije Universiteit Amsterdam
23 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Example
Vrije Universiteit Amsterdam
Def: an empirical enquiry that manipulates one factor or variable
of the studied setting
1. Identify and understand the variables that play a role in software
development, and the connections between variables
2. Learn cause-effect relationships between the development process
and the obtained products
3. Establish laws and theories about software construction that explain
development behaviour
24
Experiment
Vrije Universiteit Amsterdam
Experiment
Models key characteristics of a reality in a controlled
environment and manipulating them iteratively to investigate the
impact of such variations and get a better understanding of a
phenomenon
Laboratory
Simplified and controllable reality where the phenomenon under
study can be manipulated
CONTROL - CONTROL - CONTROL
25 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
A	more	intuitive	definition...
Vrije Universiteit Amsterdam
26
Example
Vrije Universiteit Amsterdam
You know the basics of empirical software engineering now
We can make claims that can be eventually measured
Many dimensions and types of research
• we will focus on experiments
27 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
What	this	lecture	means	to	you?
Vrije Universiteit Amsterdam
28 Ivano	Malavolta	/	S2	group	/	Empirical	software	engineering
Readings
Chapters 1 and 2
+ the MobileSoft_2017 article on Canvas

More Related Content

What's hot

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
 
[03-B] Measurement theory basics
[03-B] Measurement theory basics[03-B] Measurement theory basics
[03-B] Measurement theory basicsIvano Malavolta
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reportingIvano 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
 
Empirical Software Engineering - What is it and why do we need it?
Empirical Software Engineering - What is it and why do we need it?Empirical Software Engineering - What is it and why do we need it?
Empirical Software Engineering - What is it and why do we need it?Daniel Mendez
 
[03-A] Experiment planning
[03-A] Experiment planning[03-A] Experiment planning
[03-A] Experiment planningIvano 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 - [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
 
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
 
RESEARCH in software engineering
RESEARCH in software engineeringRESEARCH in software engineering
RESEARCH in software engineeringIvano Malavolta
 
The Green Lab - [11-A] Data Visualization
The Green Lab - [11-A] Data VisualizationThe Green Lab - [11-A] Data Visualization
The Green Lab - [11-A] Data VisualizationGiuseppe Procaccianti
 
[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 - [07-A] Data Analysis
The Green Lab - [07-A] Data AnalysisThe Green Lab - [07-A] Data Analysis
The Green Lab - [07-A] Data AnalysisGiuseppe Procaccianti
 
empirical software engineering, v2.0
empirical software engineering, v2.0empirical software engineering, v2.0
empirical software engineering, v2.0CS, NcState
 
[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testing[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testingIvano Malavolta
 
Case Study Research in Software Engineering
Case Study Research in Software EngineeringCase Study Research in Software Engineering
Case Study Research in Software Engineeringalessio_ferrari
 
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to ValidityControlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validityalessio_ferrari
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineeringsarfraznawaz
 
An Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software EngineeringAn Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software EngineeringDaniel Mendez
 
Past and Future of Software Testing and Analysis
Past and Future of Software Testing and AnalysisPast and Future of Software Testing and Analysis
Past and Future of Software Testing and AnalysisLionel Briand
 

What's hot (20)

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)
 
[03-B] Measurement theory basics
[03-B] Measurement theory basics[03-B] Measurement theory basics
[03-B] Measurement theory basics
 
[13 - B] Experiment reporting
[13 - B] Experiment reporting[13 - B] Experiment reporting
[13 - B] Experiment reporting
 
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
 
Empirical Software Engineering - What is it and why do we need it?
Empirical Software Engineering - What is it and why do we need it?Empirical Software Engineering - What is it and why do we need it?
Empirical Software Engineering - What is it and why do we need it?
 
[03-A] Experiment planning
[03-A] Experiment planning[03-A] Experiment planning
[03-A] Experiment planning
 
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 - [09 B] Experiment validity
The Green Lab - [09  B] Experiment validityThe Green Lab - [09  B] Experiment validity
The Green Lab - [09 B] Experiment validity
 
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
 
RESEARCH in software engineering
RESEARCH in software engineeringRESEARCH in software engineering
RESEARCH in software engineering
 
The Green Lab - [11-A] Data Visualization
The Green Lab - [11-A] Data VisualizationThe Green Lab - [11-A] Data Visualization
The Green Lab - [11-A] Data Visualization
 
[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 - [07-A] Data Analysis
The Green Lab - [07-A] Data AnalysisThe Green Lab - [07-A] Data Analysis
The Green Lab - [07-A] Data Analysis
 
empirical software engineering, v2.0
empirical software engineering, v2.0empirical software engineering, v2.0
empirical software engineering, v2.0
 
[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testing[07-B] Statistical hypothesis testing
[07-B] Statistical hypothesis testing
 
Case Study Research in Software Engineering
Case Study Research in Software EngineeringCase Study Research in Software Engineering
Case Study Research in Software Engineering
 
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to ValidityControlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
 
Empirical research methods for software engineering
Empirical research methods for software engineeringEmpirical research methods for software engineering
Empirical research methods for software engineering
 
An Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software EngineeringAn Exploratory Study on Technology Transfer in Software Engineering
An Exploratory Study on Technology Transfer in Software Engineering
 
Past and Future of Software Testing and Analysis
Past and Future of Software Testing and AnalysisPast and Future of Software Testing and Analysis
Past and Future of Software Testing and Analysis
 

Similar to [01-B] Empirical software engineering

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
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validityIvano Malavolta
 
Theories in Empirical Software Engineering
Theories in Empirical Software EngineeringTheories in Empirical Software Engineering
Theories in Empirical Software EngineeringDaniel Mendez
 
MAC411(A) Analysis in Communication Researc.ppt
MAC411(A) Analysis in Communication Researc.pptMAC411(A) Analysis in Communication Researc.ppt
MAC411(A) Analysis in Communication Researc.pptPreciousOsoOla
 
Field Studies as evaluation method for socio-technical interventions in Techn...
Field Studies as evaluation method for socio-technical interventions in Techn...Field Studies as evaluation method for socio-technical interventions in Techn...
Field Studies as evaluation method for socio-technical interventions in Techn...Viktoria Pammer-Schindler
 
151eye product presentation
151eye product presentation151eye product presentation
151eye product presentationBoris Frol
 
[2015/2016] RESEARCH in software engineering
[2015/2016] RESEARCH in software engineering[2015/2016] RESEARCH in software engineering
[2015/2016] RESEARCH in software engineeringIvano Malavolta
 
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)Giuseppe Procaccianti
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineeringIvano Malavolta
 
NISI Introductie Continuous Delivery 3.0
NISI Introductie Continuous Delivery 3.0NISI Introductie Continuous Delivery 3.0
NISI Introductie Continuous Delivery 3.0Garm Lucassen
 
1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docx1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docxdrennanmicah
 
A Structured Approach for Conducting a Series of Controlled Experiments in So...
A Structured Approach for Conducting a Series of Controlled Experiments in So...A Structured Approach for Conducting a Series of Controlled Experiments in So...
A Structured Approach for Conducting a Series of Controlled Experiments in So...Richard Müller
 
Applied Observational Study.pptx
Applied Observational Study.pptxApplied Observational Study.pptx
Applied Observational Study.pptxMussieKebede3
 
Writing Research Reportsclass
Writing Research ReportsclassWriting Research Reportsclass
Writing Research Reportsclassguest349908
 
Reverse Engineering android Malware analysis
Reverse Engineering android Malware analysisReverse Engineering android Malware analysis
Reverse Engineering android Malware analysisAnik Ralhan
 
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)Radu Marinescu
 
2016-02-03 research seminar
2016-02-03 research seminar2016-02-03 research seminar
2016-02-03 research seminarifi8106tlu
 
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
 

Similar to [01-B] Empirical software engineering (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
 
[13 - A] Experiment validity
[13 - A] Experiment validity[13 - A] Experiment validity
[13 - A] Experiment validity
 
Theories in Empirical Software Engineering
Theories in Empirical Software EngineeringTheories in Empirical Software Engineering
Theories in Empirical Software Engineering
 
MAC411(A) Analysis in Communication Researc.ppt
MAC411(A) Analysis in Communication Researc.pptMAC411(A) Analysis in Communication Researc.ppt
MAC411(A) Analysis in Communication Researc.ppt
 
Field Studies as evaluation method for socio-technical interventions in Techn...
Field Studies as evaluation method for socio-technical interventions in Techn...Field Studies as evaluation method for socio-technical interventions in Techn...
Field Studies as evaluation method for socio-technical interventions in Techn...
 
151eye product presentation
151eye product presentation151eye product presentation
151eye product presentation
 
[2015/2016] RESEARCH in software engineering
[2015/2016] RESEARCH in software engineering[2015/2016] RESEARCH in software engineering
[2015/2016] RESEARCH in software engineering
 
Case study: Malware propagation models for undergraduate engineering students
Case study: Malware propagation models for undergraduate engineering studentsCase study: Malware propagation models for undergraduate engineering students
Case study: Malware propagation models for undergraduate engineering students
 
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
The Green Lab - Experimentation in Software Energy Efficiency (ICSE)
 
[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering[2016/2017] RESEARCH in software engineering
[2016/2017] RESEARCH in software engineering
 
NISI Introductie Continuous Delivery 3.0
NISI Introductie Continuous Delivery 3.0NISI Introductie Continuous Delivery 3.0
NISI Introductie Continuous Delivery 3.0
 
1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docx1How to Perform ExperimentsBasic Concepts CSCI .docx
1How to Perform ExperimentsBasic Concepts CSCI .docx
 
A Structured Approach for Conducting a Series of Controlled Experiments in So...
A Structured Approach for Conducting a Series of Controlled Experiments in So...A Structured Approach for Conducting a Series of Controlled Experiments in So...
A Structured Approach for Conducting a Series of Controlled Experiments in So...
 
Applied Observational Study.pptx
Applied Observational Study.pptxApplied Observational Study.pptx
Applied Observational Study.pptx
 
Writing Research Reportsclass
Writing Research ReportsclassWriting Research Reportsclass
Writing Research Reportsclass
 
Reverse Engineering android Malware analysis
Reverse Engineering android Malware analysisReverse Engineering android Malware analysis
Reverse Engineering android Malware analysis
 
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
 
Uses of accelerometer sensor and its application in m-Learning environments: ...
Uses of accelerometer sensor and its application in m-Learning environments: ...Uses of accelerometer sensor and its application in m-Learning environments: ...
Uses of accelerometer sensor and its application in m-Learning environments: ...
 
2016-02-03 research seminar
2016-02-03 research seminar2016-02-03 research seminar
2016-02-03 research seminar
 
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...
 

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
 
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
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionIvano Malavolta
 
[07-A] Descriptive Statistics and data exploration
[07-A] Descriptive Statistics and data exploration[07-A] Descriptive Statistics and data exploration
[07-A] Descriptive Statistics and data explorationIvano 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]
 
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
 
Mobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perceptionMobile Apps quality - a tale about energy, performance, and users’ perception
Mobile Apps quality - a tale about energy, performance, and users’ perception
 
[07-A] Descriptive Statistics and data exploration
[07-A] Descriptive Statistics and data exploration[07-A] Descriptive Statistics and data exploration
[07-A] Descriptive Statistics and data exploration
 

Recently uploaded

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...OnePlan Solutions
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 

Recently uploaded (20)

EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
Maximizing Efficiency and Profitability with OnePlan’s Professional Service A...
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 

[01-B] Empirical software engineering

  • 2. Vrije Universiteit Amsterdam Empirical software engineering - definition - dimensions - types of studies 2 Ivano Malavolta / S2 group / Empirical software engineering Roadmap
  • 3. Vrije Universiteit Amsterdam Scientific use of quantitative and qualitative data to - understand and - improve software products and software development processes [Victor Basili] Data is central to address any research question Issues related to validity addressed continuously 3 Ivano Malavolta / S2 group / Empirical software engineering Empirical software engineering
  • 4. Vrije Universiteit Amsterdam 4 Ivano Malavolta / S2 group / Empirical software engineering Intuition It is an application of the scientific method ○ ask yourself a question ○ observe a phenomenon ○ formulate an hypothesis ○ build a prediction ○ setup an experiment ○ perform analysis on your results
  • 5. Vrije Universiteit Amsterdam Anecdotal evidence or “common-sense” often not good enough - Anecdotes often insufficient to support decisions in the industry - Practitioners need better advice on how and when to use methodologies Evidence important for successful technology transfer - Systematic gathering of evidence - Wide dissemination of evidence 5 Ivano Malavolta / S2 group / Empirical software engineering Why empirical studies?
  • 6. Vrije Universiteit Amsterdam ● Tested on a single system (lack of generalization) ● Data analysis not statistical ● No indications on how many runs were performed, error rate, etc. 6 Ivano Malavolta / S2 group / Empirical software engineering How NOT to do experiments
  • 7. Vrije Universiteit Amsterdam 7 Ivano Malavolta / S2 group / Empirical software engineering How NOT to do experiments
  • 9. Vrije Universiteit Amsterdam 9 Ivano Malavolta / S2 group / Empirical software engineering
  • 10. Vrije Universiteit Amsterdam “In the lab” versus “in the wild” studies Qualitative versus quantitative studies Primary versus secondary studies 10 Ivano Malavolta / S2 group / Empirical software engineering Dimensions of empirical studies
  • 11. Vrije Universiteit Amsterdam Common “in the lab” methods – Controlled experiments – Literature reviews – Simulations Common “in the wild” methods – Quasi-experiments – Case studies – Survey research – Ethnographies – Action research 11 Ivano Malavolta / S2 group / Empirical software engineering “In the lab” VS “in the wild” studies
  • 12. Vrije Universiteit Amsterdam 12 Ivano Malavolta / S2 group / Empirical software engineering Examples
  • 13. Vrije Universiteit Amsterdam Qualitative research studying objects in their natural setting and letting the findings emerge from the observations – inductive process (usually discovers the “why”) – the subject is the person Quantitative research quantifying a relationship or to compare two or more groups with the aim to identify a cause-effect relationship – fixed implied factors – focus on quantitative data → promotes comparison and statistical analyses 13 Ivano Malavolta / S2 group / Empirical software engineering Qualitative VS quantitative studies
  • 14. Vrije Universiteit Amsterdam 14 Ivano Malavolta / S2 group / Empirical software engineering Example They are complementary
  • 15. Vrije Universiteit Amsterdam Primary studies empirical studies in which we directly make measurements or observations about the objects of interest, whether by surveys, experiments, case studies, etc. Secondary studies empirical studies that do not generate any data from direct measurements, but: – analyze a set of primary studies – usually seek to aggregate the results from primary studies in order to provide stronger forms of evidence about a phenomenon 15 Ivano Malavolta / S2 group / Empirical software engineering Primary VS secondary studies
  • 16. Vrije Universiteit Amsterdam 16 Ivano Malavolta / S2 group / Empirical software engineering Examples
  • 17. Vrije Universiteit Amsterdam 17 Ivano Malavolta / S2 group / Empirical software engineering … and what about this?
  • 18. Vrije Universiteit Amsterdam Survey Case study Experiment 18 Ivano Malavolta / S2 group / Empirical software engineering Types of empirical studies
  • 19. Vrije Universiteit Amsterdam Def: a system for collecting information from or about people to describe, compare or explain their knowledge, attitudes and behavior Often an investigation performed in retrospect Interviews and questionnaires are the primary means of gathering qualitative or quantitative data Surveys are done by taking a sample which is representative from the population to be studied 19 Ivano Malavolta / S2 group / Empirical software engineering Survey
  • 20. Vrije Universiteit Amsterdam 20 Ivano Malavolta / S2 group / Empirical software engineering Example
  • 21. Vrije Universiteit Amsterdam 1. Architects identification – Identify preliminary set of ALs – Systematic search 2. Planning the survey 3. Designing the survey 4. Analyzing the Data – vertical analysis (and coding) + horizontal analysis 21 Ivano Malavolta / S2 group / Empirical software engineering Example
  • 22. Vrije Universiteit Amsterdam Def: an empirical enquiry to investigate one instance (or a small number of instances) of a contemporary software engineering phenomenon within its real-life context, especially when the boundary between phenomenon and context cannot be clearly specified Observational study Data collected to track a specific attribute or establishing relationships between different attributes Multivariate statistical analysis is often applied 22 Ivano Malavolta / S2 group / Empirical software engineering Case study
  • 23. Vrije Universiteit Amsterdam 23 Ivano Malavolta / S2 group / Empirical software engineering Example
  • 24. Vrije Universiteit Amsterdam Def: an empirical enquiry that manipulates one factor or variable of the studied setting 1. Identify and understand the variables that play a role in software development, and the connections between variables 2. Learn cause-effect relationships between the development process and the obtained products 3. Establish laws and theories about software construction that explain development behaviour 24 Experiment
  • 25. Vrije Universiteit Amsterdam Experiment Models key characteristics of a reality in a controlled environment and manipulating them iteratively to investigate the impact of such variations and get a better understanding of a phenomenon Laboratory Simplified and controllable reality where the phenomenon under study can be manipulated CONTROL - CONTROL - CONTROL 25 Ivano Malavolta / S2 group / Empirical software engineering A more intuitive definition...
  • 27. Vrije Universiteit Amsterdam You know the basics of empirical software engineering now We can make claims that can be eventually measured Many dimensions and types of research • we will focus on experiments 27 Ivano Malavolta / S2 group / Empirical software engineering What this lecture means to you?
  • 28. Vrije Universiteit Amsterdam 28 Ivano Malavolta / S2 group / Empirical software engineering Readings Chapters 1 and 2 + the MobileSoft_2017 article on Canvas