SlideShare a Scribd company logo
Rahim Lotfi
AhmadReza Ghasemian

1
Table of Contents
Introduction









Need for empirical studies in the context of software engineering.
Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis
Basic Concepts for Empirical Software Engineering
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Empirical Software Engineering
•
•
•

•

•

Using other people’s experiences in management and development of softwares
Empirical, included in all areas of science
“I could have told you that from the start” or “That’s obvious.”
Software engineering needs to follow the model of other physical sciences and
develop an experimental paradigm for the field.
Judging empirical work by the standards of statistics texts would lead to
the suppression of many interesting results
ESE in the Literature
• “Empirical Software Engineering”
• “Experimentation in Software Engineering”
• “ESEM - Empirical Software Engineering and Measurement “
History of Empirical Software engineering
History of Empirical Software engineering

• Victor Basili(1996)
• Quotes
Like physics, medicine, manufacturing, and many other disciplines, software engineering
requires the same high level approach for evolving the knowledge of the discipline; the
cycle of model building, experimentation, and learning. We cannot rely solely on
observation followed by logical thought.
Key figure

http://academic.research.microsoft.com
Key figures in Iran
Conferences (64) Empirical Software Engineering
Journals (29)

Empirical Software Engineering
Table of Contents
Introduction
 Need for empirical studies in the context of software engineering.








Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis
Goal Question Metric
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Need of Empirical Studies
Why should we conduct empirical studies?
Product evaluation, e.g., prototyping.
Process evaluation
1. Prototypes are not possible (simulation based on models).
2. A process is just a description until it is used by people
 Important for research: experimentation is mandatory in
other disciplines(e.g., medicine, physics, etc.)
Need of Empirical Studies
Empirical studies provides a systematic, disciplined,
quantifiable and controlled way of evaluating
human-based activities.
You will learn how to select, plan, conduct and analyse an empirical study.
Table of Contents
 Introduction
 Need for empirical studies in the context of software engineering.

 Goals and Benefits







Basic Concepts: Measurement, Collection, Analysis
Basic Concepts for Empirical Software Engineering
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Goals and Benefits
• The purpose of a study is

• The purpose of a study is
to explore ...
to find out what’s happening
to seek for new insights
to ask questions and to find answers
Measurement: usually qualitative

• to describe ...
portray accurate profile of situations, events, projects , technologies

•

•

Measurement: quantitative/qualitative
to explain ...
seek explanation of a situation/problem, usual in the form of causal
Relationships
Measurement: quantitative/qualitative
relationships, differences, changes
Empirical Studies in SE
• Empirical Studies is research to improve Software Engineering
Practice.
– Apply theoretical concepts in SE practice.
– Add experiences on their appliance to the SE ‘body of knowledge’
– Improve processes, methods and tools (SPPI approach).
– Verify theories and models.
Empirical Software Engineering
Table of Contents
 Introduction
 Need for empirical studies in the context of software engineering.
 Goals and Benefits

 Basic Concepts: Measurement, Collection, Analysis






Basic Concepts for Empirical Software Engineering
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Some Basic Concepts
• Measurement
- is the process of capturing data which are connected to real-world attributes to
describe them.
- Why is measurement important?

• Data Collection
Collection of qualitative / quantitative data according to research questions

• Data Analysis
Analyzing the results according to the research questions ;
statistical tests
Measurement
• Quotes
- “You can’t manage what you can’t measure”, Tom DeMarco
– “What is not measurable make measurable”, Galileo Galilei

• Objectives
One objective of science is to find ways to measure attributes of entities
we are interested in.
– Measurement makes concepts more visible and thus more
understandable and controllable.

• Definition
Measurement is the process by which numbers or symbols are mapped
to attributes of entities in the real world in such a way as to describe
them according to clearly defined rules.
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Table of Contents





Introduction
Need for empirical studies in the context of software engineering.
Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis

 Basic Concepts for Empirical Software Engineering





Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Empirical Software Engineering
Quality Improvement Paradigm
Package &
store experience

Set
goals

Analyze
results

Execute
process

Project
learning

Characterize
& understand

Corporate
learning

Provide process
with feedback

Analyze
results

Choose
processes,
methods,
techniques,
and tools
Empirical Software Engineering
The Experience Factory Organization
A Different Paradigm

Project Organization
Problem Solving

Experience Factory
Experience Packaging

Decomposition of a problem
into simpler ones

Unification of different solutions
and re-definition of the problem

Instantiation

Generalization, Formalization

Design/Implementation process

Analysis/Synthesis process

Validation and Verification

Experimentation

Product Delivery within
Schedule and Cost

Experience / Recommendations
Delivery to Project
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Table of Contents










Introduction
Need for empirical studies in the context of software engineering.
Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis
Basic Concepts for Empirical Software Engineering
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Empirical Software Engineering
Table of Contents










Introduction
Need for empirical studies in the context of software engineering.
Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis
Basic Concepts for Empirical Software Engineering
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools
State of the art
Empirical Software Engineering
Table of Contents








Introduction
Need for empirical studies in the context of software engineering.
Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis
Goal Question Metric
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study

 Tools
 State of the art
Empirical Software Engineering
Table of Contents









Introduction
Need for empirical studies in the context of software engineering.
Goals and Benefits
Basic Concepts: Measurement, Collection, Analysis
Basic Concepts for Empirical Software Engineering
Empirical Strategies: survey, case study, controlled experiment
Process of an empirical study
Tools

 State of the art
State of the art
• Finding better ways to experiment and integrate the results of
the studies
• Propagate the empirical discipline
•

Build an empirical research engine for software engineering

•

Build test beds for experimentation and evolution of
processes

•

Build product models that allow us to make trade-off
decisions

•

Build decision support systems offering the best empirical
advice for selecting and tailoring the right processes for the
problem
• References
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

V. Basili, G. Caldiera, D. Rombach: „The Goal Question Metric Approach“,2000.
B. Boehm, H.D. Rombach, M.V. Zelkowitz: „Foundations of Empirical
Software Engineering – The Legacy of Victor R. Basili“, Springer, 2005.
Freimut et al.: "Empirical Studies in Software Engineering", Tutorial, VISEK
Technical Report, 2002.
IESE Tutorials on Empirical Software Engineering.
A. Jedlitschka and D. Pfahl: "Reporting Guidelines for Controlled
Experiments in Software Engineering", ISESE, 2005.
B. Kitchenham: “Evidence-Based Software Engineering and Systematic
Literature Review”, Profes, 2006.
C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell and A. Wesslen:
"Introduction to Experimentation in Software Engineering", Kluver, 2000.
M. V. Zelkowitz, D. R. Wallace: “Experimental Models for Validating
Technology”, IEEE Computer, 1997.
Site : http:// www.microstrategy.com
Site : http:// www.jamasoftware.com
Site : http://academic.research.microsoft.com
Acknowledgments
Bahman Zamani

Thank you for your attention

This research work has been supported by University of Isfahan

More Related Content

PDF
Empirical Software Engineering - What is it and why do we need it?
PPTX
Machine learning
PDF
Empirical Methods in Software Engineering - an Overview
PPTX
Explainable AI in Industry (FAT* 2020 Tutorial)
PPT
Introduction to pattern recognization
PPTX
Feature selection concepts and methods
PDF
An introduction to Machine Learning
PPTX
Machine Learning
Empirical Software Engineering - What is it and why do we need it?
Machine learning
Empirical Methods in Software Engineering - an Overview
Explainable AI in Industry (FAT* 2020 Tutorial)
Introduction to pattern recognization
Feature selection concepts and methods
An introduction to Machine Learning
Machine Learning

What's hot (20)

PDF
Introduction to Machine Learning
PDF
Deep learning
PDF
Introduction to Deep Learning, Keras, and TensorFlow
PPTX
Unsupervised learning
PPTX
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
PPTX
Introduction to Machine Learning with Python and scikit-learn
PDF
Machine Learning and its Applications
PPTX
Types of Machine Learning
PDF
Supervised vs Unsupervised vs Reinforcement Learning | Edureka
PPTX
Machine learning ppt
PPTX
Machine learning overview
PPTX
Introduction to Machine learning ppt
PPTX
Scikit Learn intro
PPTX
Trends in DM.pptx
PPT
pattern classification
PPTX
Machine Learning
PDF
What is the Expectation Maximization (EM) Algorithm?
PPTX
Machine learning
PPT
Lecture 9 understanding requirements
PDF
Siamese networks
Introduction to Machine Learning
Deep learning
Introduction to Deep Learning, Keras, and TensorFlow
Unsupervised learning
Machine Learning Tutorial Part - 1 | Machine Learning Tutorial For Beginners ...
Introduction to Machine Learning with Python and scikit-learn
Machine Learning and its Applications
Types of Machine Learning
Supervised vs Unsupervised vs Reinforcement Learning | Edureka
Machine learning ppt
Machine learning overview
Introduction to Machine learning ppt
Scikit Learn intro
Trends in DM.pptx
pattern classification
Machine Learning
What is the Expectation Maximization (EM) Algorithm?
Machine learning
Lecture 9 understanding requirements
Siamese networks
Ad

Similar to Empirical Software Engineering (20)

DOCX
1How to Perform ExperimentsBasic Concepts CSCI .docx
PPTX
Empirical research methods for software engineering
PPTX
5-empirical investigation-13-08-2024.pptx
PDF
A survey of controlled experiments in software engineering
PDF
Lecture 4 - Emperical Investigations.pdf
PDF
sesi 04 software Empirical Investigation.pdf
PDF
Lecture notes on empirical software engineering 1st Edition Natalia Juristo
PDF
Survey Research in Software Engineering
PDF
The Green Lab - [01 C] Empirical software engineering
PDF
[01-B] Empirical software engineering
PDF
RESEARCH in software engineering
PPTX
Software tetsing paper related to industry
PDF
Research Methods in Computer Science and Software Engineering
PPTX
Software Testing In Software Engineering
PDF
[2017/2018] RESEARCH in software engineering
PPTX
EASE 2019 keynote
PPTX
Measurements in Software Engineering.pptx
PPTX
Lecture 2.pptx
PDF
Software metrics validation
PDF
[03-B] Measurement theory basics
1How to Perform ExperimentsBasic Concepts CSCI .docx
Empirical research methods for software engineering
5-empirical investigation-13-08-2024.pptx
A survey of controlled experiments in software engineering
Lecture 4 - Emperical Investigations.pdf
sesi 04 software Empirical Investigation.pdf
Lecture notes on empirical software engineering 1st Edition Natalia Juristo
Survey Research in Software Engineering
The Green Lab - [01 C] Empirical software engineering
[01-B] Empirical software engineering
RESEARCH in software engineering
Software tetsing paper related to industry
Research Methods in Computer Science and Software Engineering
Software Testing In Software Engineering
[2017/2018] RESEARCH in software engineering
EASE 2019 keynote
Measurements in Software Engineering.pptx
Lecture 2.pptx
Software metrics validation
[03-B] Measurement theory basics
Ad

Recently uploaded (20)

PPTX
Pharma ospi slides which help in ospi learning
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Complications of Minimal Access Surgery at WLH
PPTX
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PDF
Basic Mud Logging Guide for educational purpose
PDF
Insiders guide to clinical Medicine.pdf
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Pre independence Education in Inndia.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
102 student loan defaulters named and shamed – Is someone you know on the list?
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
PPTX
Cell Types and Its function , kingdom of life
PPTX
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
O5-L3 Freight Transport Ops (International) V1.pdf
Pharma ospi slides which help in ospi learning
Abdominal Access Techniques with Prof. Dr. R K Mishra
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Complications of Minimal Access Surgery at WLH
The Healthy Child – Unit II | Child Health Nursing I | B.Sc Nursing 5th Semester
Supply Chain Operations Speaking Notes -ICLT Program
Basic Mud Logging Guide for educational purpose
Insiders guide to clinical Medicine.pdf
TR - Agricultural Crops Production NC III.pdf
Pre independence Education in Inndia.pdf
human mycosis Human fungal infections are called human mycosis..pptx
Introduction_to_Human_Anatomy_and_Physiology_for_B.Pharm.pptx
Anesthesia in Laparoscopic Surgery in India
102 student loan defaulters named and shamed – Is someone you know on the list?
Module 4: Burden of Disease Tutorial Slides S2 2025
3rd Neelam Sanjeevareddy Memorial Lecture.pdf
Cell Types and Its function , kingdom of life
Introduction to Child Health Nursing – Unit I | Child Health Nursing I | B.Sc...
STATICS OF THE RIGID BODIES Hibbelers.pdf
O5-L3 Freight Transport Ops (International) V1.pdf

Empirical Software Engineering

  • 2. Table of Contents Introduction         Need for empirical studies in the context of software engineering. Goals and Benefits Basic Concepts: Measurement, Collection, Analysis Basic Concepts for Empirical Software Engineering Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 3. Empirical Software Engineering • • • • • Using other people’s experiences in management and development of softwares Empirical, included in all areas of science “I could have told you that from the start” or “That’s obvious.” Software engineering needs to follow the model of other physical sciences and develop an experimental paradigm for the field. Judging empirical work by the standards of statistics texts would lead to the suppression of many interesting results
  • 4. ESE in the Literature • “Empirical Software Engineering” • “Experimentation in Software Engineering” • “ESEM - Empirical Software Engineering and Measurement “
  • 5. History of Empirical Software engineering
  • 6. History of Empirical Software engineering • Victor Basili(1996) • Quotes Like physics, medicine, manufacturing, and many other disciplines, software engineering requires the same high level approach for evolving the knowledge of the discipline; the cycle of model building, experimentation, and learning. We cannot rely solely on observation followed by logical thought.
  • 9. Conferences (64) Empirical Software Engineering
  • 11. Table of Contents Introduction  Need for empirical studies in the context of software engineering.        Goals and Benefits Basic Concepts: Measurement, Collection, Analysis Goal Question Metric Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 12. Need of Empirical Studies Why should we conduct empirical studies? Product evaluation, e.g., prototyping. Process evaluation 1. Prototypes are not possible (simulation based on models). 2. A process is just a description until it is used by people  Important for research: experimentation is mandatory in other disciplines(e.g., medicine, physics, etc.)
  • 13. Need of Empirical Studies Empirical studies provides a systematic, disciplined, quantifiable and controlled way of evaluating human-based activities. You will learn how to select, plan, conduct and analyse an empirical study.
  • 14. Table of Contents  Introduction  Need for empirical studies in the context of software engineering.  Goals and Benefits       Basic Concepts: Measurement, Collection, Analysis Basic Concepts for Empirical Software Engineering Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 15. Goals and Benefits • The purpose of a study is • The purpose of a study is to explore ... to find out what’s happening to seek for new insights to ask questions and to find answers Measurement: usually qualitative • to describe ... portray accurate profile of situations, events, projects , technologies • • Measurement: quantitative/qualitative to explain ... seek explanation of a situation/problem, usual in the form of causal Relationships Measurement: quantitative/qualitative relationships, differences, changes
  • 16. Empirical Studies in SE • Empirical Studies is research to improve Software Engineering Practice. – Apply theoretical concepts in SE practice. – Add experiences on their appliance to the SE ‘body of knowledge’ – Improve processes, methods and tools (SPPI approach). – Verify theories and models.
  • 18. Table of Contents  Introduction  Need for empirical studies in the context of software engineering.  Goals and Benefits  Basic Concepts: Measurement, Collection, Analysis      Basic Concepts for Empirical Software Engineering Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 19. Some Basic Concepts • Measurement - is the process of capturing data which are connected to real-world attributes to describe them. - Why is measurement important? • Data Collection Collection of qualitative / quantitative data according to research questions • Data Analysis Analyzing the results according to the research questions ; statistical tests
  • 20. Measurement • Quotes - “You can’t manage what you can’t measure”, Tom DeMarco – “What is not measurable make measurable”, Galileo Galilei • Objectives One objective of science is to find ways to measure attributes of entities we are interested in. – Measurement makes concepts more visible and thus more understandable and controllable. • Definition Measurement is the process by which numbers or symbols are mapped to attributes of entities in the real world in such a way as to describe them according to clearly defined rules.
  • 25. Table of Contents     Introduction Need for empirical studies in the context of software engineering. Goals and Benefits Basic Concepts: Measurement, Collection, Analysis  Basic Concepts for Empirical Software Engineering     Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 27. Quality Improvement Paradigm Package & store experience Set goals Analyze results Execute process Project learning Characterize & understand Corporate learning Provide process with feedback Analyze results Choose processes, methods, techniques, and tools
  • 29. The Experience Factory Organization A Different Paradigm Project Organization Problem Solving Experience Factory Experience Packaging Decomposition of a problem into simpler ones Unification of different solutions and re-definition of the problem Instantiation Generalization, Formalization Design/Implementation process Analysis/Synthesis process Validation and Verification Experimentation Product Delivery within Schedule and Cost Experience / Recommendations Delivery to Project
  • 34. Table of Contents          Introduction Need for empirical studies in the context of software engineering. Goals and Benefits Basic Concepts: Measurement, Collection, Analysis Basic Concepts for Empirical Software Engineering Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 44. Table of Contents          Introduction Need for empirical studies in the context of software engineering. Goals and Benefits Basic Concepts: Measurement, Collection, Analysis Basic Concepts for Empirical Software Engineering Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools State of the art
  • 46. Table of Contents        Introduction Need for empirical studies in the context of software engineering. Goals and Benefits Basic Concepts: Measurement, Collection, Analysis Goal Question Metric Empirical Strategies: survey, case study, controlled experiment Process of an empirical study  Tools  State of the art
  • 48. Table of Contents         Introduction Need for empirical studies in the context of software engineering. Goals and Benefits Basic Concepts: Measurement, Collection, Analysis Basic Concepts for Empirical Software Engineering Empirical Strategies: survey, case study, controlled experiment Process of an empirical study Tools  State of the art
  • 49. State of the art • Finding better ways to experiment and integrate the results of the studies • Propagate the empirical discipline • Build an empirical research engine for software engineering • Build test beds for experimentation and evolution of processes • Build product models that allow us to make trade-off decisions • Build decision support systems offering the best empirical advice for selecting and tailoring the right processes for the problem
  • 50. • References • • • • • • • • • • • • • • • • • V. Basili, G. Caldiera, D. Rombach: „The Goal Question Metric Approach“,2000. B. Boehm, H.D. Rombach, M.V. Zelkowitz: „Foundations of Empirical Software Engineering – The Legacy of Victor R. Basili“, Springer, 2005. Freimut et al.: "Empirical Studies in Software Engineering", Tutorial, VISEK Technical Report, 2002. IESE Tutorials on Empirical Software Engineering. A. Jedlitschka and D. Pfahl: "Reporting Guidelines for Controlled Experiments in Software Engineering", ISESE, 2005. B. Kitchenham: “Evidence-Based Software Engineering and Systematic Literature Review”, Profes, 2006. C. Wohlin, P. Runeson, M. Höst, M.C. Ohlsson, B. Regnell and A. Wesslen: "Introduction to Experimentation in Software Engineering", Kluver, 2000. M. V. Zelkowitz, D. R. Wallace: “Experimental Models for Validating Technology”, IEEE Computer, 1997. Site : http:// www.microstrategy.com Site : http:// www.jamasoftware.com Site : http://academic.research.microsoft.com
  • 51. Acknowledgments Bahman Zamani Thank you for your attention This research work has been supported by University of Isfahan