SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Building and Evaluating
Theories in Software Engineering
Blekinge Institute of Technology, Sweden
fortiss GmbH, Germany
www.mendezfe.org
mendezfe
Daniel Méndez
About me
Head of research division
Requirements Engineering
daniel.mendez@bth.se
www.mendezfe.org
📍Munich
📍 Karlskrona
Full Professor in
Software Engineering
Research areas / interests
▪ Empirical Software Engineering
▪ Requirements engineering, software quality
management, and processes improvement
▪ Strong focus on Academia-Industry
Collaborations and Technology Transfer
Community involvement
▪ Naming the Pain in Requirements Engineering
(www.napire.org)
▪ IREB Research working group
▪ International Software Engineering Research Network
▪ Area editor: EMSE ‘Open Science’ and JSS ‘In-Practice’
Frequently encountered prejudice…
Our inability to carry out truly scientific experiments and surveys [...] will yield
anecdotes of limited value. Empirical studies should be used to confirm that what
works in theory can actually be used […] in practice. – Parnas, ISESE 2003
In contrast [to previous qualitative studies], this study attempts to
obtain more scientific evidence in the form of objective, quantitative
data. – Anonymous ESEM 2018 author
Frequently encountered prejudice…
… can trigger some strong reactions
“With all due respect, DO NOT make such ridiculous claims that only
quantitative studies are "scientific" and “objective" […]. There is NO
more objectivity in numbers than there is in qualitative data. […] It is
insulting and unnecessary and frankly naive to claim that because this
study happens to use a bunch of numbers it is of better quality than
qualitative studies” — Anonymous ESEM 2018 reviewer
In contrast [to previous qualitative studies], this study attempts to
obtain more scientific evidence in the form of objective, quantitative
data. – Anonymous ESEM 2018 author
Key Takeaways
Every research method has its place in a larger
picture (also qualitative ones).
Empirical research is key for any discipline to build
a reliable body of knowledge via scientific theories.
Building and evaluating theories is crucial for
Software Engineering to move forward as a discipline.
Building and Evaluating Theories in SE
‣Science and Theories in a Nutshell
… where we will briefly talk about the general notion of theories
‣State of Evidence in Software Engineering
… where we will see why theories are important to our field
‣Research Methods in Software Engineering
… where we will put research methods in a larger picture
Building and Evaluating Theories in SE
‣Science and Theories in a Nutshell
… where we will briefly talk about the general notion of theories
‣State of Evidence in Software Engineering
… where we will see why theories are important to our field
‣Research Methods in Software Engineering
… where we will put research methods in a larger picture
Let’s start step by step….
What is scientific practice?
“Science” wasn’t built in a day…
384-322 BC 1561-1626 1694-1778 1724-1804 1896-1980 1902-1994
… … … …
Aristoteles Bacon Voltaire Kant Piaget Popper
• Search for laws and
reasoning for phenomena
• Understanding the nature
of phenomena
• Progress of
knowledge of
nature (reality)
• Draw benefits from
knowledge growth
• Emancipation from
gods and beliefs
• System of
Epistemology (theory
of knowledge)
• Era of constructivism
• Falsification as
demarcation
criterion
• Birth of null
hypothesis testing
Science is understood as the human undertaking for the search of
knowledge (through systematic application of scientific methods)
àNeeds to be considered in a historical context
àIncreased understanding of scientific practice (and what science eventually is)
Scientific practices and research methods have
changed over time, the role of empiricism* not
Today
* Gaining knowledge through sensory experiences
384-322 BC
Le Petit Prince (1943) Large Hadron Collider
Scientific knowledge and practice
Necessary postulates for scientific practice (selected):
• There are certain rules, principles, and norms for scientific practices
• Rationalism: Reasoning by argument / logical inference / mathematical proof
• Empiricism: Reasoning by sensory experiences (case studies, experiments,…)
• There is nothing absolute about truth
• There is a scientific community to judge about the quality of empirical
studies
Scientific knowledge is the portrait of
our understanding of reality (via scientific theories).
Empirical Software Engineering
Relevance from a theoretical and practical perspective:
• Reason about the discipline and (e.g. social) phenomena
involved
• Recognise and understand limitations and effects of
artefacts (e.g. by evaluating technologies, techniques,
processes, models, etc.) in their practical contexts
The ultimate goal of Empirical Software Engineering is to advance
our body of knowledge by building and evaluating theories.
But what is a Scientific Theory?
Theories (generally speaking)
Examples (following this general notion of theory):
• “Vaccinations lead to autism”
• “Earth is flat”
• “Wearing face masks does more harm than the effects of COVID-19”
• …
A theory is a belief that there is a pattern in phenomena.
Are these theories scientific?
No: Speculations based on imagination, hopes and fears, and resulting in
opinions that often cannot be refuted (i.e. logical fallacies)
Scientific Theories
1. Tests
• Experiments, simulations, …
• Replications
2. Criticism
• Peer reviews / acceptance in the community
• Corroborations / extensions with further theories
A scientific theory is a belief that there is a pattern in phenomena while
having survived
1. tests against sensory experiences
2. criticism by critical peers
Note: Addresses so-called
Demarcation Problem to
distinguish science from non-
science (as per K. Popper)
In scope of empirical research methods
(but out of scope in this talk)
Scientific Theories have…
… a purpose:
… quality criteria:
• Testability
• Level of confidence („relation to existing evidence“)
• Usefulness to researchers and practitioners („impact and implications“)
• …
Analytical Explanatory Predictive Explanatory &
Predictive
Scope Descriptions and
conceptualisation,
including
taxonomies,
classifications, and
ontologies
- What is?
Identification of
phenomena by
identifying causes,
mechanisms or
reasons
- Why is?
Prediction of what
will happen in the
future
- What will happen?
Prediction of what
will happen in the
future and
explanation
- What will happen
and why?
Note: Law “versus” Theory
A law is a descriptive theory
without explanations (i.e. an
analytical theory)
Adapted from: Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010.
Further information on: https://goo.gl/SQQwxt
Exemplary framework for describing theories
in Software Engineering
• Constructs: What are the basic elements?
(Actors, technologies, activities, system entities, context factors)
• Propositions: How do the constructs interact?
• Explanations: Why are the propositions as specified?
• Scope: What is the universe of discourse in which the theory is
applicable?
Source (example): Wagner, Mendez et al. Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys, TOSEM 2018.
Source (framework): Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010.
Example
Proposition:
“Structured requirements lists are documented
textually in free form or textually with constraints.”
Explanation and Scope:
“Free-form and constraint textual requirements are
sufficient for many contexts such as in agile projects
where they only act as reminders for further
conversations.”
Theories and hypotheses
Scientific theory
• “[…] based on hypotheses tested and verified
multiple times by detached researchers” (J. Bortz
and N. Döring, 2003)
Hypothesis
• “[…] a statement that proposes a possible
explanation to some phenomenon or event” (L.
Given, 2008)
• Grounded in theory, testable and falsifiable
• Often quantified and written as a conditional
statement
Empirical Approaches
Theory / Theories
(Tentative) Hypothesis
Falsification /
Corroboration
Theory (Pattern)
Building
Hypothesis
Building
If cause/assumption (independent variables)
then (=>) consequence (dependent variables)
Note: We don’t “test theories”, but
their consequences via hypotheses
(i.e. testable propositions)
From real world phenomena to theories and back:
The empirical life cycle
Empirical Approaches
Theory / Theories
(Tentative) Hypothesis
Falsification /
Corroboration
Theory (Pattern)
Building
Units of Analysis
Sampling Frame
Sampling
Hypothesis
Building
Empirical Inquiries
Induction
Inference of a
general rule
from a particular
case/result
(observation)
Abduction
(Creative) Synthesis of an
explanatory case from a general rule
and a particular result (observation)
Deduction
Application of a general rule
to a particular case,
inferring a specific result
Source: Mendez and Passoth. Empirical Software
Engineering: from Discipline to Interdiscipline, 2018.
Further reading and outlook
• Epistemological setting of Empirical Software Engineering
• Theory building and evaluation
• Challenges in Empirical Software Engineering
Preprint: https://arxiv.org/abs/1805.08302
Building and Evaluating Theories in SE
‣Science and Theories in a Nutshell
… where we will briefly talk about the general notion of theories
‣State of Evidence in Software Engineering
… where we will see why theories are important to our field
‣Research Methods in Software Engineering
… where we will put research methods in a larger picture
Empirical Software Engineering
Relevance from a theoretical and practical perspective:
• Reason about the discipline and (e.g. social) phenomena
involved
• Recognise and understand limitations and effects of
artefacts (e.g. by evaluating technologies, techniques,
processes, models, etc.) in their practical contexts
The ultimate goal of Empirical Software Engineering is to advance
our body of knowledge by building and evaluating theories.
RECAP
What are exemplary scientific
Software Engineering Theories?
-- Which ones do you know? --
Scientific Theories in Software Engineering
Image Source: https://www.worldwildlife.org/habitats/deserts
Disclaimer: Symbolic statement, might be slightly over exaggerated
Transferred verbatim from other
disciplines (i.e. not adopted)
Example: Theory of Gatekeeping
Isolated and vague (i.e. universal)
Example: “Frontloading efforts
decreases overall development costs”
Not backed by evidence (i.e. non-
scientific conventional wisdom)
Example: “GoTo statements are harmful”
Current state of evidence in Software Engineering
“[…] judging a theory by assessing the number,
faith, and vocal energy of its supporters […] basic
political credo of contemporary religious maniacs”
— Imre Lakatos, 1970
* Addressing the situation in the quantum mechanics research community, an analogy
Current state of evidence in Software Engineering
Available studies often still…
• … remain isolated
• … discuss little (to no) relation
to existing evidence
• … strengthen confidence on own hopes
(and don’t report anything around)
• … don’t report negative results
Source (levels of evidence): Wohlin. An Evidence Profile for Software Engineering Research and Practice, 2013.
In most cases, we
are here
Conventional Wisdom in SE
• Emerge from times where claims by
authorities were treated as “facts”
• Reasons manifold:
• Lack of empirical awareness
• Neglecting particularities
of practical contexts
• Neglecting relation to existing evidence
• No proper citations
(one side of the medal or over-conclusions)
• Lack of data
• …
Exemplary conventional wisdom:
Go To statements considered harmful
[1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968.
• Public exchange based on reasoning by argument (rationalist arguments)...
[2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969.
[3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987.
1968 1969 1987
Exemplary conventional wisdom:
Go To statements considered harmful
[1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968.
• Public exchange based on reasoning by argument (rationalist arguments)...
[4] Nagappan et al. An empirical study of goto in C code from GitHub repositories, 2015.
[2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969.
[3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987.
2015
• … finally challenged by one single empirical study.
“We conclude that developers
limit themselves to using goto
appropriately, [not] like Dijkstra
feared, [thus] goto does not
appear to be harmful in practice.”
In conclusion
• The current state of evidence in
Software Engineering is still weak
• Practical relevance and impact?
• Potential for transfer into practice and
adoption?
• But there is hope…
• Importance of empirical research
recognised
• Growth of a strong research
community over last two decades
Building and Evaluating Theories in SE
‣Science and Theories in a Nutshell
… where we will briefly talk about the general notion of theories
‣State of Evidence in Software Engineering
… where we will see why theories are important to our field
‣Research Methods in Software Engineering
… where we will put research methods in a larger picture
The empirical Lifecycle
Source: Mendez and Passoth. Empirical Software
Engineering: from Discipline to Interdiscipline, 2018.
RECAP
(Research) methods
• Each method…
• …has a specific purpose
• …relies on a specific data type
• Purposes
• Exploratory
• Descriptive
• Explanatory
• Improving
• Data Types
• Qualitative
• Quantitative
Descriptive,
exploratory, or
explanatory
Example: “Grounded Theory”
Qualitative data
(Research) methods – everything has its place
Which research method(s) to use
in which situation?
There is no such thing as a universal
way of scientific practice
Research
method
Method selection depends on many
non-trivial questions
• What is the purpose of the study?
Exploratory? Descriptive? Explanatory? Improving?
• What is the nature of the study?
Inductive? Deductive?
• What is the relation to existing evidence?
Building a new theory? “Testing” existing theory?
• What is the nature of the questions we ask?
What-questions? Why-questions?
• What is the nature of the environment?
Controlled environments? Realistic environments?
• What is the necessary sample?
Population source?
Units of analysis?
Criteria for
selecting methods
Criteria for
environment selection
(and sampling)
Not trivial, but possible: checklists
More advanced
• Chapter 16 + Appendix
• http://bit.ly/checklists-design_science
Good starting point
Highly recommended overview of quality
criteria as per recommendation by research
community: https://arxiv.org/abs/2010.03525
Building and Evaluating Theories in SE
‣Science and Theories in a Nutshell
… where we will briefly talk about the general notion of theories
‣State of Evidence in Software Engineering
… where we will see why theories are important to our field
‣Research Methods in Software Engineering
… where we will put research methods in a larger picture
Key Takeaways
Every research method has its place in a larger
picture (also qualitative ones).
Empirical research is key for any discipline to build
a reliable body of knowledge via scientific theories.
Building and evaluating theories is crucial for
Software Engineering to move forward as a discipline.
Thank you!

Weitere ähnliche Inhalte

Mehr von Daniel Mendez

An Introduction into Philosophy of Science for Software Engineers
An Introduction into Philosophy of Science for Software Engineers An Introduction into Philosophy of Science for Software Engineers
An Introduction into Philosophy of Science for Software Engineers Daniel Mendez
 
Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Daniel Mendez
 
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Daniel Mendez
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Daniel Mendez
 
Improving Requirements Engineering by Artefact Orientation
Improving Requirements Engineering by Artefact OrientationImproving Requirements Engineering by Artefact Orientation
Improving Requirements Engineering by Artefact OrientationDaniel Mendez
 
On the Distinction of Functional and Quality Requirements in Practice
On the Distinction of Functional and Quality Requirements in PracticeOn the Distinction of Functional and Quality Requirements in Practice
On the Distinction of Functional and Quality Requirements in PracticeDaniel Mendez
 
Software Engineering Excellence - The key to mastering the Digital Transforma...
Software Engineering Excellence - The key to mastering the Digital Transforma...Software Engineering Excellence - The key to mastering the Digital Transforma...
Software Engineering Excellence - The key to mastering the Digital Transforma...Daniel Mendez
 
Case Studies in Industry - What We Have Learnt
Case Studies in Industry - What We Have LearntCase Studies in Industry - What We Have Learnt
Case Studies in Industry - What We Have LearntDaniel Mendez
 
A Case Study on Artefact-based RE Improvement in Practice
A Case Study on Artefact-based RE Improvement in PracticeA Case Study on Artefact-based RE Improvement in Practice
A Case Study on Artefact-based RE Improvement in PracticeDaniel Mendez
 
Theories in Empirical Software Engineering
Theories in Empirical Software EngineeringTheories in Empirical Software Engineering
Theories in Empirical Software EngineeringDaniel Mendez
 
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
 
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...Daniel Mendez
 
Case studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learntCase studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learntDaniel Mendez
 
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...Daniel Mendez
 
Scientific software engineering methods and their validity
Scientific software engineering methods and their validityScientific software engineering methods and their validity
Scientific software engineering methods and their validityDaniel Mendez
 

Mehr von Daniel Mendez (15)

An Introduction into Philosophy of Science for Software Engineers
An Introduction into Philosophy of Science for Software Engineers An Introduction into Philosophy of Science for Software Engineers
An Introduction into Philosophy of Science for Software Engineers
 
Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...
 
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
 
Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...Who cares about Software Process Modelling? A First Investigation about the P...
Who cares about Software Process Modelling? A First Investigation about the P...
 
Improving Requirements Engineering by Artefact Orientation
Improving Requirements Engineering by Artefact OrientationImproving Requirements Engineering by Artefact Orientation
Improving Requirements Engineering by Artefact Orientation
 
On the Distinction of Functional and Quality Requirements in Practice
On the Distinction of Functional and Quality Requirements in PracticeOn the Distinction of Functional and Quality Requirements in Practice
On the Distinction of Functional and Quality Requirements in Practice
 
Software Engineering Excellence - The key to mastering the Digital Transforma...
Software Engineering Excellence - The key to mastering the Digital Transforma...Software Engineering Excellence - The key to mastering the Digital Transforma...
Software Engineering Excellence - The key to mastering the Digital Transforma...
 
Case Studies in Industry - What We Have Learnt
Case Studies in Industry - What We Have LearntCase Studies in Industry - What We Have Learnt
Case Studies in Industry - What We Have Learnt
 
A Case Study on Artefact-based RE Improvement in Practice
A Case Study on Artefact-based RE Improvement in PracticeA Case Study on Artefact-based RE Improvement in Practice
A Case Study on Artefact-based RE Improvement in Practice
 
Theories in Empirical Software Engineering
Theories in Empirical Software EngineeringTheories in Empirical Software Engineering
Theories in Empirical 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
 
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
Artefact-based Requirements Engineering Improvement - Learning to Walk in Pra...
 
Case studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learntCase studies in industry - fundamentals and lessons learnt
Case studies in industry - fundamentals and lessons learnt
 
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
In Quest for Requirements Engineering Oracles: Dependent Variables and Measur...
 
Scientific software engineering methods and their validity
Scientific software engineering methods and their validityScientific software engineering methods and their validity
Scientific software engineering methods and their validity
 

Kürzlich hochgeladen

Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxJorenAcuavera1
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...Universidade Federal de Sergipe - UFS
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trssuser06f238
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxpriyankatabhane
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...navyadasi1992
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPirithiRaju
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》rnrncn29
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentationtahreemzahra82
 
Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)Tamer Koksalan, PhD
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfSELF-EXPLANATORY
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxBerniceCayabyab1
 
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxNandakishor Bhaurao Deshmukh
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxmalonesandreagweneth
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRlizamodels9
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...lizamodels9
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTXALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTXDole Philippines School
 
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPirithiRaju
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxmaryFF1
 

Kürzlich hochgeladen (20)

Topic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptxTopic 9- General Principles of International Law.pptx
Topic 9- General Principles of International Law.pptx
 
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
REVISTA DE BIOLOGIA E CIÊNCIAS DA TERRA ISSN 1519-5228 - Artigo_Bioterra_V24_...
 
Neurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 trNeurodevelopmental disorders according to the dsm 5 tr
Neurodevelopmental disorders according to the dsm 5 tr
 
Speech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptxSpeech, hearing, noise, intelligibility.pptx
Speech, hearing, noise, intelligibility.pptx
 
Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...Radiation physics in Dental Radiology...
Radiation physics in Dental Radiology...
 
Pests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdfPests of castor_Binomics_Identification_Dr.UPR.pdf
Pests of castor_Binomics_Identification_Dr.UPR.pdf
 
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdfPests of safflower_Binomics_Identification_Dr.UPR.pdf
Pests of safflower_Binomics_Identification_Dr.UPR.pdf
 
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》《Queensland毕业文凭-昆士兰大学毕业证成绩单》
《Queensland毕业文凭-昆士兰大学毕业证成绩单》
 
Harmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms PresentationHarmful and Useful Microorganisms Presentation
Harmful and Useful Microorganisms Presentation
 
Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)Carbon Dioxide Capture and Storage (CSS)
Carbon Dioxide Capture and Storage (CSS)
 
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdfBehavioral Disorder: Schizophrenia & it's Case Study.pdf
Behavioral Disorder: Schizophrenia & it's Case Study.pdf
 
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptxGenBio2 - Lesson 1 - Introduction to Genetics.pptx
GenBio2 - Lesson 1 - Introduction to Genetics.pptx
 
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptxTHE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
THE ROLE OF PHARMACOGNOSY IN TRADITIONAL AND MODERN SYSTEM OF MEDICINE.pptx
 
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptxLIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
LIGHT-PHENOMENA-BY-CABUALDIONALDOPANOGANCADIENTE-CONDEZA (1).pptx
 
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCRCall Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
Call Girls In Nihal Vihar Delhi ❤️8860477959 Looking Escorts In 24/7 Delhi NCR
 
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
Best Call Girls In Sector 29 Gurgaon❤️8860477959 EscorTs Service In 24/7 Delh...
 
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Munirka Delhi 💯Call Us 🔝8264348440🔝
 
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTXALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
ALL ABOUT MIXTURES IN GRADE 7 CLASS PPTX
 
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdfPests of Blackgram, greengram, cowpea_Dr.UPR.pdf
Pests of Blackgram, greengram, cowpea_Dr.UPR.pdf
 
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptxECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
ECG Graph Monitoring with AD8232 ECG Sensor & Arduino.pptx
 

Building and Evaluating Theories in Software Engineering

  • 1. Building and Evaluating Theories in Software Engineering Blekinge Institute of Technology, Sweden fortiss GmbH, Germany www.mendezfe.org mendezfe Daniel Méndez
  • 2. About me Head of research division Requirements Engineering daniel.mendez@bth.se www.mendezfe.org 📍Munich 📍 Karlskrona Full Professor in Software Engineering Research areas / interests ▪ Empirical Software Engineering ▪ Requirements engineering, software quality management, and processes improvement ▪ Strong focus on Academia-Industry Collaborations and Technology Transfer Community involvement ▪ Naming the Pain in Requirements Engineering (www.napire.org) ▪ IREB Research working group ▪ International Software Engineering Research Network ▪ Area editor: EMSE ‘Open Science’ and JSS ‘In-Practice’
  • 3. Frequently encountered prejudice… Our inability to carry out truly scientific experiments and surveys [...] will yield anecdotes of limited value. Empirical studies should be used to confirm that what works in theory can actually be used […] in practice. – Parnas, ISESE 2003 In contrast [to previous qualitative studies], this study attempts to obtain more scientific evidence in the form of objective, quantitative data. – Anonymous ESEM 2018 author
  • 4. Frequently encountered prejudice… … can trigger some strong reactions “With all due respect, DO NOT make such ridiculous claims that only quantitative studies are "scientific" and “objective" […]. There is NO more objectivity in numbers than there is in qualitative data. […] It is insulting and unnecessary and frankly naive to claim that because this study happens to use a bunch of numbers it is of better quality than qualitative studies” — Anonymous ESEM 2018 reviewer In contrast [to previous qualitative studies], this study attempts to obtain more scientific evidence in the form of objective, quantitative data. – Anonymous ESEM 2018 author
  • 5. Key Takeaways Every research method has its place in a larger picture (also qualitative ones). Empirical research is key for any discipline to build a reliable body of knowledge via scientific theories. Building and evaluating theories is crucial for Software Engineering to move forward as a discipline.
  • 6. Building and Evaluating Theories in SE ‣Science and Theories in a Nutshell … where we will briefly talk about the general notion of theories ‣State of Evidence in Software Engineering … where we will see why theories are important to our field ‣Research Methods in Software Engineering … where we will put research methods in a larger picture
  • 7. Building and Evaluating Theories in SE ‣Science and Theories in a Nutshell … where we will briefly talk about the general notion of theories ‣State of Evidence in Software Engineering … where we will see why theories are important to our field ‣Research Methods in Software Engineering … where we will put research methods in a larger picture
  • 8. Let’s start step by step…. What is scientific practice?
  • 9. “Science” wasn’t built in a day… 384-322 BC 1561-1626 1694-1778 1724-1804 1896-1980 1902-1994 … … … … Aristoteles Bacon Voltaire Kant Piaget Popper • Search for laws and reasoning for phenomena • Understanding the nature of phenomena • Progress of knowledge of nature (reality) • Draw benefits from knowledge growth • Emancipation from gods and beliefs • System of Epistemology (theory of knowledge) • Era of constructivism • Falsification as demarcation criterion • Birth of null hypothesis testing Science is understood as the human undertaking for the search of knowledge (through systematic application of scientific methods) àNeeds to be considered in a historical context àIncreased understanding of scientific practice (and what science eventually is)
  • 10. Scientific practices and research methods have changed over time, the role of empiricism* not Today * Gaining knowledge through sensory experiences 384-322 BC Le Petit Prince (1943) Large Hadron Collider
  • 11. Scientific knowledge and practice Necessary postulates for scientific practice (selected): • There are certain rules, principles, and norms for scientific practices • Rationalism: Reasoning by argument / logical inference / mathematical proof • Empiricism: Reasoning by sensory experiences (case studies, experiments,…) • There is nothing absolute about truth • There is a scientific community to judge about the quality of empirical studies Scientific knowledge is the portrait of our understanding of reality (via scientific theories).
  • 12. Empirical Software Engineering Relevance from a theoretical and practical perspective: • Reason about the discipline and (e.g. social) phenomena involved • Recognise and understand limitations and effects of artefacts (e.g. by evaluating technologies, techniques, processes, models, etc.) in their practical contexts The ultimate goal of Empirical Software Engineering is to advance our body of knowledge by building and evaluating theories.
  • 13. But what is a Scientific Theory?
  • 14. Theories (generally speaking) Examples (following this general notion of theory): • “Vaccinations lead to autism” • “Earth is flat” • “Wearing face masks does more harm than the effects of COVID-19” • … A theory is a belief that there is a pattern in phenomena. Are these theories scientific? No: Speculations based on imagination, hopes and fears, and resulting in opinions that often cannot be refuted (i.e. logical fallacies)
  • 15. Scientific Theories 1. Tests • Experiments, simulations, … • Replications 2. Criticism • Peer reviews / acceptance in the community • Corroborations / extensions with further theories A scientific theory is a belief that there is a pattern in phenomena while having survived 1. tests against sensory experiences 2. criticism by critical peers Note: Addresses so-called Demarcation Problem to distinguish science from non- science (as per K. Popper) In scope of empirical research methods (but out of scope in this talk)
  • 16. Scientific Theories have… … a purpose: … quality criteria: • Testability • Level of confidence („relation to existing evidence“) • Usefulness to researchers and practitioners („impact and implications“) • … Analytical Explanatory Predictive Explanatory & Predictive Scope Descriptions and conceptualisation, including taxonomies, classifications, and ontologies - What is? Identification of phenomena by identifying causes, mechanisms or reasons - Why is? Prediction of what will happen in the future - What will happen? Prediction of what will happen in the future and explanation - What will happen and why? Note: Law “versus” Theory A law is a descriptive theory without explanations (i.e. an analytical theory) Adapted from: Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010. Further information on: https://goo.gl/SQQwxt
  • 17. Exemplary framework for describing theories in Software Engineering • Constructs: What are the basic elements? (Actors, technologies, activities, system entities, context factors) • Propositions: How do the constructs interact? • Explanations: Why are the propositions as specified? • Scope: What is the universe of discourse in which the theory is applicable? Source (example): Wagner, Mendez et al. Status Quo in Requirements Engineering: A Theory and a Global Family of Surveys, TOSEM 2018. Source (framework): Sjøberg, D., Dybå, T., Anda, B., Hannay, J. Building Theories in Software Engineering, 2010. Example Proposition: “Structured requirements lists are documented textually in free form or textually with constraints.” Explanation and Scope: “Free-form and constraint textual requirements are sufficient for many contexts such as in agile projects where they only act as reminders for further conversations.”
  • 18. Theories and hypotheses Scientific theory • “[…] based on hypotheses tested and verified multiple times by detached researchers” (J. Bortz and N. Döring, 2003) Hypothesis • “[…] a statement that proposes a possible explanation to some phenomenon or event” (L. Given, 2008) • Grounded in theory, testable and falsifiable • Often quantified and written as a conditional statement Empirical Approaches Theory / Theories (Tentative) Hypothesis Falsification / Corroboration Theory (Pattern) Building Hypothesis Building If cause/assumption (independent variables) then (=>) consequence (dependent variables) Note: We don’t “test theories”, but their consequences via hypotheses (i.e. testable propositions)
  • 19. From real world phenomena to theories and back: The empirical life cycle Empirical Approaches Theory / Theories (Tentative) Hypothesis Falsification / Corroboration Theory (Pattern) Building Units of Analysis Sampling Frame Sampling Hypothesis Building Empirical Inquiries Induction Inference of a general rule from a particular case/result (observation) Abduction (Creative) Synthesis of an explanatory case from a general rule and a particular result (observation) Deduction Application of a general rule to a particular case, inferring a specific result Source: Mendez and Passoth. Empirical Software Engineering: from Discipline to Interdiscipline, 2018. Further reading and outlook • Epistemological setting of Empirical Software Engineering • Theory building and evaluation • Challenges in Empirical Software Engineering Preprint: https://arxiv.org/abs/1805.08302
  • 20. Building and Evaluating Theories in SE ‣Science and Theories in a Nutshell … where we will briefly talk about the general notion of theories ‣State of Evidence in Software Engineering … where we will see why theories are important to our field ‣Research Methods in Software Engineering … where we will put research methods in a larger picture
  • 21. Empirical Software Engineering Relevance from a theoretical and practical perspective: • Reason about the discipline and (e.g. social) phenomena involved • Recognise and understand limitations and effects of artefacts (e.g. by evaluating technologies, techniques, processes, models, etc.) in their practical contexts The ultimate goal of Empirical Software Engineering is to advance our body of knowledge by building and evaluating theories. RECAP
  • 22. What are exemplary scientific Software Engineering Theories? -- Which ones do you know? --
  • 23. Scientific Theories in Software Engineering Image Source: https://www.worldwildlife.org/habitats/deserts Disclaimer: Symbolic statement, might be slightly over exaggerated Transferred verbatim from other disciplines (i.e. not adopted) Example: Theory of Gatekeeping Isolated and vague (i.e. universal) Example: “Frontloading efforts decreases overall development costs” Not backed by evidence (i.e. non- scientific conventional wisdom) Example: “GoTo statements are harmful”
  • 24. Current state of evidence in Software Engineering “[…] judging a theory by assessing the number, faith, and vocal energy of its supporters […] basic political credo of contemporary religious maniacs” — Imre Lakatos, 1970 * Addressing the situation in the quantum mechanics research community, an analogy
  • 25. Current state of evidence in Software Engineering Available studies often still… • … remain isolated • … discuss little (to no) relation to existing evidence • … strengthen confidence on own hopes (and don’t report anything around) • … don’t report negative results Source (levels of evidence): Wohlin. An Evidence Profile for Software Engineering Research and Practice, 2013. In most cases, we are here
  • 26. Conventional Wisdom in SE • Emerge from times where claims by authorities were treated as “facts” • Reasons manifold: • Lack of empirical awareness • Neglecting particularities of practical contexts • Neglecting relation to existing evidence • No proper citations (one side of the medal or over-conclusions) • Lack of data • …
  • 27. Exemplary conventional wisdom: Go To statements considered harmful [1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968. • Public exchange based on reasoning by argument (rationalist arguments)... [2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969. [3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987. 1968 1969 1987
  • 28. Exemplary conventional wisdom: Go To statements considered harmful [1] Edsger Dijkstra . Go To Statement Considered Harmful. Communications of the ACM, 1968. • Public exchange based on reasoning by argument (rationalist arguments)... [4] Nagappan et al. An empirical study of goto in C code from GitHub repositories, 2015. [2] Frank Rubin. ”GOTO Considered Harmful" Considered Harmful. Communications of the ACM, 1969. [3] Donald Moore et al. " 'GOTO Considered Harmful' Considered Harmful" Considered Harmful?" Communications of the ACM, 1987. 2015 • … finally challenged by one single empirical study. “We conclude that developers limit themselves to using goto appropriately, [not] like Dijkstra feared, [thus] goto does not appear to be harmful in practice.”
  • 29. In conclusion • The current state of evidence in Software Engineering is still weak • Practical relevance and impact? • Potential for transfer into practice and adoption? • But there is hope… • Importance of empirical research recognised • Growth of a strong research community over last two decades
  • 30. Building and Evaluating Theories in SE ‣Science and Theories in a Nutshell … where we will briefly talk about the general notion of theories ‣State of Evidence in Software Engineering … where we will see why theories are important to our field ‣Research Methods in Software Engineering … where we will put research methods in a larger picture
  • 31. The empirical Lifecycle Source: Mendez and Passoth. Empirical Software Engineering: from Discipline to Interdiscipline, 2018. RECAP
  • 32. (Research) methods • Each method… • …has a specific purpose • …relies on a specific data type • Purposes • Exploratory • Descriptive • Explanatory • Improving • Data Types • Qualitative • Quantitative Descriptive, exploratory, or explanatory Example: “Grounded Theory” Qualitative data
  • 33. (Research) methods – everything has its place
  • 34. Which research method(s) to use in which situation?
  • 35. There is no such thing as a universal way of scientific practice Research method
  • 36. Method selection depends on many non-trivial questions • What is the purpose of the study? Exploratory? Descriptive? Explanatory? Improving? • What is the nature of the study? Inductive? Deductive? • What is the relation to existing evidence? Building a new theory? “Testing” existing theory? • What is the nature of the questions we ask? What-questions? Why-questions? • What is the nature of the environment? Controlled environments? Realistic environments? • What is the necessary sample? Population source? Units of analysis? Criteria for selecting methods Criteria for environment selection (and sampling)
  • 37. Not trivial, but possible: checklists More advanced • Chapter 16 + Appendix • http://bit.ly/checklists-design_science Good starting point Highly recommended overview of quality criteria as per recommendation by research community: https://arxiv.org/abs/2010.03525
  • 38. Building and Evaluating Theories in SE ‣Science and Theories in a Nutshell … where we will briefly talk about the general notion of theories ‣State of Evidence in Software Engineering … where we will see why theories are important to our field ‣Research Methods in Software Engineering … where we will put research methods in a larger picture
  • 39. Key Takeaways Every research method has its place in a larger picture (also qualitative ones). Empirical research is key for any discipline to build a reliable body of knowledge via scientific theories. Building and evaluating theories is crucial for Software Engineering to move forward as a discipline. Thank you!