MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
Is Empirical Enough?
1. Is Empirical Enough?
On contributions in software
engineering research
PER RUNESON, KEYNOTE CESSER-IP@ICSE’19 @SOFTENGRESGRP
2. CESSER-IP CFP
• Researchers believe that practitioners are looking for quick
fixes to their problems.
• Practitioners have a view that case studies in research do not
represent the complexities of real projects and have doubts in
the results produced by research.
• Hence, empirical studies are necessary to ensure the relevance
and applicability of software engineering research.
3. How to conduct research?
• Empirical Research Methods
– Experiments
– Case studies
– Surveys
– Systematic Literature reviews
4. Contents lists available at ScienceDirect
Information and Software Technology
journal homepage: www.elsevier.com/locate/infsof
CERSE - Catalog for empirical research in software engineering: A
Systematic mapping study
Jefferson Seide Molléri
⁎
, Kai Petersen, Emilia Mendes
BTH - Blekinge Tekniska Högskola Sweden
A R T I C L E I N F O
Keywords:
Empirical research
Empirical methods
Mapping study
A B S T R A C T
Context Empirical research in software engineering contributes towards developing scientific knowledge in this
field, which in turn is relevant to inform decision-making in industry. A number of empirical studies have been
carried out to date in software engineering, and the need for guidelines for conducting and evaluating such
research has been stressed.
Objective: The main goal of this mapping study is to identify and summarize the body of knowledge on
research guidelines, assessment instruments and knowledge organization systems on how to conduct and
evaluate empirical research in software engineering.
Method: A systematic mapping study employing manual search and snowballing techniques was carried out
to identify the suitable papers. To build up the catalog, we extracted and categorized information provided by
the identified papers.
Results: The mapping study comprises a list of 341 methodological papers, classified according to research
methods, research phases covered, and type of instrument provided. Later, we derived a brief explanatory review
of the instruments provided for each of the research methods.
Conclusion: We provide: an aggregated body of knowledge on the state of the art relating to guidelines,
assessment instruments and knowledge organization systems for carrying out empirical software engineering
research; an exemplary usage scenario that can be used to guide those carrying out such studies is also provided.
341 methodological papers
6. What? Examples from ICSE 2018 (best papers)
• Spatio-Temporal Context Reduction: A Pointer-Analysis-Based Static
Approach for Detecting Use-After-Free Vulnerabilities
• Identifying Design Problems in the Source Code: A Grounded Theory
• Static Automated Program Repair for Heap Properties
• Automated Localization for Unreproducible Builds
• Large-Scale Analysis of Framework-Specific Exceptions in Android Apps
• Generalized Data Structure Synthesis
• Traceability in the Wild: Automatically Augmenting Incomplete Trace links
• Towards Optimal Concolic Testing
10. Research paradigms
1. The formal sciences, such as philosophy and
mathematics.
2. The explanatory sciences, such as the natural
sciences and major sections of the social sciences.
3. The design sciences, such as the engineering
sciences, medical science and modern psychotherapy.
J. E. van Aken. Management Research Based on the Paradigm of the Design
Sciences: The Quest for Field-Tested and Grounded Technological Rules. Journal of
Management Studies, 41(2):219–246, 2004.
11. Empiricism in research paradigms
1. The formal sciences – ”empirically void”
2. The explanatory sciences – observation studies
3. The design sciences – evaluation studies
What paradigm does software
engineering belong to?
12. Software engineering paradigms
• Explanatory science
– How is SE practice wrt X?
– Which test/review/requirements
method is ’best’?
• Design science
– How can SE practice be
improved wrt X?
– Which test/review/requirements
method should I use?
van Aken
Organization
theory
Management
theory
Simon
Science of the
’natural’
Science of the
’artificial’
13. Design science goals
• produce prescriptive
knowledge for professionals
in a discipline
• share empirical insights
gained from investigations of
such prescriptions applied in
context
15. Design Science – my view
Problem
instance
SolutionEvaluationProblem
understanding
Solution
design
Theoretical foundations
Theoretical contributions
Problem Solution
16. Design Science – Hevner’s view
ence researchers in the various engineering fields, architecture, the arts, and
other design-oriented communities.
Figure 1. Design Science Research Cycles
Knowledge BaseDesign Science Research
Build Design
Artifacts &
Processes
Evaluate
Design
Cycle
Application Domain
• People
• Organizational
Systems
• Technical
Systems
• Problems
& Opportunities
Relevance Cycle
• Requirements
• Field Testing
Rigor Cycle
•Grounding
•Additions to KB
Foundations
•Scientific Theories
& Methods
• Experience
& Expertise
• Meta-Artifacts
(Design Products &
Design Processes)
Environment
17. Design Science – Wieringa’s extension
improvement, and to design a treatment that aims to change the real world in
the direction of stakeholder goals. Attempting to answer a knowledge question,
by contrast, requires us to identify the questions and unit of study, and define
measurements that will provide the quantitative or qualitative data by which we
can answer these questions.
Not only should we do different things to solve improvement problems or an-
swer knowledge questions, the results of these efforts are also evaluated
IS design science
Know-
ledge
base
Environ-
ment
Know-
ledge
question
investigat
ion
Improve-
ment
problem
solving
Goals,
budget
Know-
ledge
artifacts
Fig. 2. Framework for design science
20. Design Science as a Lens for SE
Design
science
research
approach
Prescriptive
knowledge
Research
context
Trade-offs
Research
methods
21. • ESEM’17
Using a Visual Abstract as a Lens for Communicating and Promoting
Design Science Research in Software Engineering
Margaret-Anne Storey
University of Victoria
BC, Canada
mstorey@uvic.ca
Emelie Engstr¨om
Lund University
Sweden
emelie.engstrom@cs.lth.se
Martin H¨ost
Lund University
Sweden
martin.host@cs.lth.se
Per Runeson
Lund University
Sweden
per.runeson@cs.lth.se
Elizabeth Bjarnason
Lund University
Sweden
elizabeth@cs.lth.se
Abstract—Empirical software engineering research aims to
generate prescriptive knowledge that can help software en-
gineers improve their work and overcome their challenges,
but deriving these insights from real-world problems can
be challenging. In this paper, we promote design science as
an effective way to produce and communicate prescriptive
knowledge. We propose using a visual abstract template to
communicate design science contributions and highlight the
main problem/solution constructs of this area of research, as
well as to present the validity aspects of design knowledge. Our
conceptualization of design science is derived from existing
not accepted due to unclear benefits or disagreements about
what constitutes a valuable “software engineering research
contribution”. Excellent research contributions also go unno-
ticed by practitioners that could benefit from those insights.
Many software engineering research papers do not ex-
plicitly describe the class of problems addressed, nor do they
sufficiently describe the relevance to practitioners. They tend
to focus on problem solving instances but do not sufficiently
reason about how the knowledge can be generalized [6].
We feel that design science should be promoted as it is
a powerful way to frame prescriptive software engineering
ESEM´17 https://doi.org/10.1109/ESEM.2017.28
22.
23. Prescriptive knowledge for professionals
Technological rules [van Aken]
To achieve <effect/change>
in <situation/context>
use <solution/intervention>
Prescriptive
knowledge
25. Research context
The proper place to study
elephants is the jungle, not
the zoo
The proper place to study
bacteria is the laboratory,
not the jungle
CC BY 2.0 paul bica @ flickr
Research
context
K.-J. Stol and B. Fitzgerald. The ABC of software
engineering research. ACM Trans. Softw. Eng.
Methodol., 27(3):11:1–11:51, 2018.
26. Choise of
research context
K.-J. Stol and B. Fitzgerald.
The ABC of software
engineering research. ACM
Trans. Softw. Eng. Methodol.,
27(3):11:1–11:51, 2018.
The ABC of Soware Engineering Research • 1:11
Experimental
Simulations
Laboratory
Experiments
Judgment
Studies
Sample
Studies
Formal
Theory
Computer
Simulations
Field
Experiments
Field
Studies
Less
obtrusive
research
More
obtrusive
research
Increasingly more universal
contexts and systems
Increasingly more specific
contexts and systems
Quadrant II
Contrived
settings
Quadrant I
Natural
settings
Quadrant IV
Non-empirical
settings
Quadrant III
Neutral
settings
Maximum potential for
generalizability over Actors
Maximum potential for
realism ofContext
Maximum potential for
precision ofmeasurement
ofactors’ Behavior
A
C
B
Fig. 1. The ABC framework: eight research strategies as categories of research methods for soware engineering (Adapted
from Runkel and McGrath [170]). adrants I to IV represent dierent research seings.
Research
context
27. Research context
Case study [Yin]:
an empirical enquiry that investigates a contemporary
phenomenon within its real-life context, especially when
the boundaries between phenomenon and context are
not clearly evident.
Research
context
29. Assessing Design Science Research
• Relevance – does it adress a real problem, and is the
solution useful?
• Rigor – what actions are taken to ensure
problem/solution are valid?
• Novelty – which contribution is new?
Trade-
offs
31. Design science methods?
Problem
formulation
Problem/
issue
Industry
Academia
Study
state of
the art
Candidate
solution
Static
validation
Validation
in
academia
Dynamic
validation
Release
solution
T. Gorschek, P. Garre, S. Larsson,
and C. Wohlin. A model for
technology transfer in practice.
IEEE Software, 23(6):88–95, 2006.
Problem
instance
SolutionEvaluationProblem
understanding
Solution
design
Theoretical foundations
Theoretical contributions
Knowledge level
Instance level
Research
methods
32. Conclusion
• Empirical studies are means to progress and ensure
the relevance of software engineering research
contributions
• The ultimate contributions is the theoretical and
practical design knowledge
• The design science frame helps assessing and
communicating the contributions in/between industry
and academia
33. Thanks
• Margaret-Anne Storey
• Emelie Engström
• Elizabeth Bjarnason
• Martin Höst
• Maria Teresa Baldassarre
CC BY-NC 2.0
Future Telecom @ Flickr
Contact
per.runeson@cs.lth.se
@softengresgrp