<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Educating Future Software Architects in the Art and Science of Analysing Software Data</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>A. Learning Goals</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Stefanie Scherzinger Technical University of Applied Sciences Regensburg Regensburg</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Wolfgang Mauerer Technical University of Applied Sciences Regensburg Siemens AG, Corporate Research</institution>
          ,
          <addr-line>Munich</addr-line>
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2020</year>
      </pub-date>
      <fpage>56</fpage>
      <lpage>60</lpage>
      <abstract>
        <p>-We report the design and teaching experience of a Master-level seminar course on quantitative and empirical software engineering. The course combines elements of traditional literature seminars with active learning by scientific project work, in particular quantitative mixed-method analyses of open source systems. It also provides short introductions and refreshers to data mining and statistical analysis, and discusses the nature and practice of scientific knowledge inference. Student presentations of published research, augmented by summary reports, bridge to standard seminars. We discuss our educational goals and the course structure derived from them. We review research questions addressed by students in mini research reports, and analyse them as tokens on how junior-level software engineers perceive the potential of empirical software engineering research. We assess challenges faced, and discuss possible solutions. Index Terms-Empirical Software Engineering, Teaching Quantitative Methods, Statistical Analysis, Literature Seminar II. COURSE DESIGN The computer science Master curriculum at Technical University of Applied Sciences Regensburg requires students to complete a scientific seminar worth 5 ECTS credits. In the following, we detail organisation, learning goals and timeline of the course. So far, we have taught two iterations.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>Effective decision making is a crucial part of being
successful in software engineering (SWE). Architects, programmers
and even technical managers need to decide, among others,
how to best organise team collaboration, how to choose
appropriate software components and frameworks, and how
to design entire software architectures.</p>
      <p>Scientifically sound decision making is ideally based on
measurable facts. Consequently, substantial portions of SWE
research rest on empirical, quantitative methods. This
constitutes a teaching challenge: Beyond covering an already large
syllabus, advanced statistical methodology must be introduced,
to create an understanding of the benefits and limits of
scientific knowledge inference.</p>
      <p>In the Master-level seminar described in this paper, we
address these challenges in a setting targeted at advanced
students with a focus on practical engineering: We augment
a traditional scientific seminar—avoiding to impose undue
workload—with active, creative learning components,
challenging students with the quantitative, data-driven
investigation of a research question of their choice. At the same time,
we re-use this setting to learn from our students (many of
who are part-time employees in the local software industry,1
1 In-house surveys show that 40% of all Master students dedicate over 40%
of their time to casual work (usually as programmers). Details upon request.
or have previous work experience2) how empirical methods
are observed by junior-level software professionals.</p>
      <p>The course description for the scientific seminar3 states
these learning goals: The students learn to 1) independently
research an area within the field of computer science, 2)
critically reflect and summarise central ideas of scientific work,
3) perform literature search and reviews, 4) give a professional
presentation, and 5) engage in an academic discussion.</p>
      <p>To reach these goals, scientific seminars traditionally
comprise a seminar presentation as well as a seminar report on
an existing body of research. However, we also made it our
goal that students actively experience empirical SWE (eSWE),
beyond merely analysing existing research. They should gather
background knowledge as to why (and when) an empirical,
quantitative approach is preferable over more orthodox SWE,
and experience benefits, limitations and challenges of
quantitative work. Consequently, we desire that they 1) do not
merely read up on principles, but acquire a certain level of
proficiency in using and also mining version control systems4,
2) gain first-hand experience with the technical and conceptual
pitfalls in exploring a research question, 3) write a mini
research report as a “training” opportunity before handing in
the graded seminar report, and 4) are aware that not only
technical aspects of building software, but also socio-technical
and social aspects of software development can be quantified.</p>
      <sec id="sec-1-1">
        <title>2All undergraduate students at Technical University of Applied Sciences</title>
        <p>Regensburg complete a mandatory, 18-week internship. Additionally, 40% of
Bachelor graduates report in in-house surveys that they have held full-time
occupations in the private sector before taking up their studies.
3This course is detailed in the department module guidelines.
4The ubiquitous version control system git is an obvious choice, since it
is a popular data source in research; using the system for data engineering
usually implies a proficiency boosts in daily work, too.</p>
        <p>1
Kickoff</p>
        <p>Self-study</p>
        <p>Prepare lab report
and presentations</p>
      </sec>
      <sec id="sec-1-2">
        <title>B. Organisation and Timeline</title>
        <p>Figure 1 summarises the timeline of our seminar, broken
down across the 15 week term, and highlights the main events.</p>
      </sec>
      <sec id="sec-1-3">
        <title>a) Kickoff session (week 1): Students enrolled in the</title>
        <p>Masters program are assigned to one of several parallel
seminar tracks (organised by different professors), according
to their topical preferences. A track comprises 20 participants.</p>
        <p>We asked our students to prepare the online course “Version
Control with Git”.5 This course includes hands-on exercises,
so our course participants can operate git directly on the
command-line (and not just via feature constrained colourful
user interfaces). This includes advanced working with different
branches, cloning, fetching, forking, and cherry picking, as
well as a basic understanding of the data storage model.</p>
        <p>
          b) Lab Session (week 4): The lab session is an all-day
workshop where the students focus on practical exercises.
This includes answering questions on more advanced aspects
of git (the full list is available in the online supplement.6
This allows students to self-assess their level of proficiency in
handling git. (Additionally, we schedule two papers [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]
on the subject early in the paper presentation stage, see (d)).
SQL query
over relations
holding GitHub data.
        </p>
        <p>The top-n
Go packages.</p>
        <p>Response within
seconds.</p>
        <p>Likewise, we provide small challenges that must be solved
using Google BigQuery. BigQuery is a cloud-based data
warehouse.7 It provides various open data sets, among them the
GitHub activity data. As of October 2019, this contains a
snapshot of open source software (OSS) repositories amounting to
over 3 TiB of data (currently, over 2.8 million repositories,
145 million unique commits, and over 2 billion different files).
Queries such as “What are the most frequently imported Go
5The course is available on the Udacity MOOC platform.
6Blue coloured text provides a link in the electronic version of this paper.
7While BigQuery is a commercial service, it can be used without billing
enabled, but requires that students are comfortable with a Google account.
packages?” may be stated declaratively, using SQL, as Figure 2
illustrates. Together, we discussed the issue of reproducibility,
as the data collection is updated regularly.</p>
        <p>
          We further provided a refresher on statistics and on scientific
writing, the latter based on Zobel’s book [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ].
        </p>
        <p>For a mandatory two-page mini research report (discussed
in detail in Section III-B) that explores a self-chosen research
question, students collected ideas in an interactive
brainstorming session,. We gave feedback on the validity and feasibility
of each question, taking into account the temporal constraints.
We also commented on apparent threats to validity.</p>
      </sec>
      <sec id="sec-1-4">
        <title>c) Mini research report deadline (week 7, Deadline 1):</title>
        <p>We graded the submitted mini research reports by detailed
criteria that we made public beforehand8.</p>
        <p>
          d) Seminar presentations (weeks 8 and 9): Each student
is assigned one (usually seminal) original research paper, or a
book chapter from Ref. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], as a basis for the seminar
presentation and report. Prior to presentation and discussion, students
were mentored one-on-one, like in traditional seminars.
        </p>
      </sec>
      <sec id="sec-1-5">
        <title>e) Seminar report (week 14, Deadline 2): The five page</title>
        <p>seminar report is prepared by week 14. It wraps up the core
ideas of the underlying article or book chapter, and discusses
it critically in the context of related work, methodological
soundness9, and practical utility.</p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>III. EXPERIENCE REPORT</title>
      <p>We next report on our experience. We begin by discussing
Google BigQuery as a means of evaluating research questions.
We then reflect on the mini research reports. We review
encountered challenges in the upcoming section.</p>
      <sec id="sec-2-1">
        <title>A. Data Provisioning with git and Google BigQuery</title>
        <p>
          Felderer and Kuhrmann [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] confirm that students tend to
underestimate the effort of data collection and preparation,
in agreement with common experience in data science. This
calls for using sophisticated tools that come with powerful data
preparation pipelines. Yet unfortunately, we found that many
of the software solutions used by professional researchers
lack in quality and maturity, particularly regarding ease of
installation and setup, completeness of documentation, and
usability, which was confirmed after consultation with the tool
authors. In short, we failed to get any of the state-of-the-art
tools10 used in academic research to work for in-classroom
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>8The grading rubric is available in the online supplement.</title>
      <p>9This requires substantial individual guidance from the instructors.
Additionally, the statistical refresher points out commonly encountered problems.</p>
      <p>10Easy to install and use tools like gitstats are too simplistic even for
less ambitious research questions chosen by students.</p>
    </sec>
    <sec id="sec-4">
      <title>Students’ Research Questions</title>
      <p>30%—Relationships between straight-forward observables</p>
      <sec id="sec-4-1">
        <title>Time of day versus bug introduction?</title>
      </sec>
      <sec id="sec-4-2">
        <title>Does the number of bugs per developer vary with project age?</title>
        <p>23%—Velocity of changes to observable quantities</p>
      </sec>
      <sec id="sec-4-3">
        <title>Speed of Java dependency updates after the weekly security issue?</title>
      </sec>
      <sec id="sec-4-4">
        <title>How fast are bug tickets closed?</title>
        <p>13%—Testing: effort, coverage, and utility</p>
      </sec>
      <sec id="sec-4-5">
        <title>How are unit tests distributed by programming language?</title>
      </sec>
      <sec id="sec-4-6">
        <title>How does test coverage evolve?</title>
        <p>10%—Hidden and indirect project properties</p>
      </sec>
      <sec id="sec-4-7">
        <title>How many OSS projects are company supported?</title>
        <p>10%—Test (anecdotal or established) SWE conjectures</p>
      </sec>
      <sec id="sec-4-8">
        <title>Developer group size versus the 7 2 scrum assumption?</title>
      </sec>
      <sec id="sec-4-9">
        <title>Do code of conducts have measurable effects? 10%—Trivia — Do bigger files change more often?</title>
        <p>use within reasonable effort (we grudgingly need to accept a
share of the blame since this also holds for our own tools).</p>
        <p>
          Thus, research questions based on complex socio-technical
observations or multi-modal data sources cannot be addressed
in mini research reports. To compensate, we devote a
substantial share of the discussed literature on such research (e.g.,
the seminal series of papers on socio-technical congruence by
Cataldo, Herbsleb and co-workers, initiated in Ref. [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]).
        </p>
        <p>We settled on two recommendations for how students can
conduct their own research. (1) First, we proposed individual,
programmatic analysis using either scripted calls of git or
(preferably) using git front-end libraries from scripting
languages for data collection (we recommend PyGit2, GitPython,
and Git2R). (2) Alternatively, we proposed to use BigQuery,
as already discussed. The well-curated data relations of the
latter alleviate common issues that trouble the collection of
“big” data – students can focus on writing SQL.</p>
        <p>Following these recommendations can reduce the effort
spent with data ingestion nuisances like parsing (broken)
dates, parsing (broken) strings, handling (broken and/or mixed)
encodings, or handling other (broken) system details.</p>
        <sec id="sec-4-9-1">
          <title>B. Mini Research Reports</title>
          <p>Mini research reports could be produced by teams of two,
and students had free choice on the topic. Each run of the
seminar produced about 20 suggestions with some overlap,
resulting in 30 unique candidate questions (the full list of
candidate questions is available in the online supplement). We
identified six topical groups, as shown in Figure 3, along with
typical research questions. We also show the distribution of
the questions according to our categorisation.</p>
          <p>We additionally categorised each research question
concerning the research methodology: 1) Scope: Is the research
question related to a single project or does it pertain
multiple projects? 2) Analysis Method: Is a simple (count-based)
measurement considered, are (correlations or stronger forms
of) relationships between measured variables addressed, or
e le</p>
          <p>p
p i
o t
c l
tS uM
c
e
j
ro e
P lg
n
i
S
d
o ve
N l
o
s
e
R
e
m
i</p>
          <p>T
s
e
Y
o
N
s
e
Y
does the research question try to resolve a specific hypothesis?
3) Time Resolution: Is the question applied in a time-resolved
way (i.e., did students consider that properties may change
over time), or is each project analysed as single static entity?</p>
          <p>
            Figure 4 provides a mosaic plot [
            <xref ref-type="bibr" rid="ref7">7</xref>
            ] of the resulting
threeway contingency table. The largest group concerns the
analysis of several projects, and considers relationships between
variables—but without accounting for possible changes in the
relationship over time. At the same time, no explicit testing
of a hypothesis on a single project was suggested.
          </p>
        </sec>
        <sec id="sec-4-9-2">
          <title>Analysis Method</title>
          <p>Measurement</p>
          <p>Relationship</p>
          <p>Hypothesis</p>
          <p>Discussion: We believe that to some degree, the topics
chosen for mini research reports mirror the students’
expectations and way of thinking: All seminar participants hold a
Bachelor degree. Thus, they are fully qualified as junior-level
developers. A survey after the winter 19/20 run showed that
75% of the participants have substantial work experience –
50% claimed work experience equivalent to about one year of
full time employment, 25% even more than three years; details
online. The students’ intuition should therefore reflect on the
intuition about eSWE in practice.</p>
          <p>Most research questions proposed by the students concern
measuring multiple projects instead of in-depth evaluations of
a single one. Interestingly, all mini research reports involve
quantitative measurements, and do not suggest any
ethnographic or qualitative research, which does not mirror the
topical distribution observed for published work. More than
half of the research questions concern relationships between
observed variables. This might indicate that students are
interested in finding universal relationships valid beyond the scope
of one particular undertaking, which meets our expectations
towards Master-level students.</p>
          <p>Usually, either a visual description or simpler measures
like correlations or a univariate linear regression model are
employed. Given the short time frame, this is understandable,
but it might also indicate unease with more advanced analysis
techniques. No team chose a machine learning-type analysis,
despite the popularity of these methods among students.</p>
          <p>
            Straightforward measurements of a single variable are
usually intended to act as proxy for a (explicitly given, but
often only diffusely defined) quality property. For instance, the
number of tests is used as proxy for code quality, and number
and staleness of TODO entries in the code proxies for project
progress. Students did not consistently realise that relations
between proxy and indirect observables are not always in
direct proportion, and that assuming such connections in the
first place is a threat to validity. Thus, some research questions
might even be categorised as “bad smells”, as defined by
Menzies and Shepperd [
            <xref ref-type="bibr" rid="ref8">8</xref>
            ]. Of course, we do not hold this
against our students, who are novices in eSWE. Rather, we
hope that by attending the seminar, the students learn to
recognise “smelly” research questions.
          </p>
          <p>
            Interestingly, hardly any students set out to apply principles
and measures that are part of the standard SWE curriculum [
            <xref ref-type="bibr" rid="ref9">9</xref>
            ]
of their SWE lecture, such as code metrics or code coverage.
          </p>
          <p>Overall, we typically see simple statistical analyses for
relations. What is missing is the question on how any of the
measured co-variables influence quality or other properties of
projects, or can even induce actionable consequences. This
indicates that prior to the seminar, there was no established
notion if and how complex decisions in SWE projects can be
based on evidence- and measurement-based reasoning. Only
50% of the participants of the winter 19/20 run reported prior
literature experience with eSWE methods; interestingly, no
one reported prior use of eSWE in commercial projects.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>IV. CHALLENGES In the following, we highlight several challenges that we encountered in teaching the course.</title>
      <sec id="sec-5-1">
        <title>A. Scientific Method: Theory and Application</title>
        <p>In the computer science curriculum at Technical University
of Applied Sciences Regensburg, the scientific seminar is only
taught at the Master level. This exposes students later than
desirable11 to scientific processes and methodology, and to
conducting systematic research.12 Students usually need to
sharpen their understanding on the differences between
hypotheses, theories, laws, observations, and conjectures, that is,
the basic building blocks of scientific insight, as we frequently
observe when supervising student theses.</p>
        <p>Both authors have worked in industry, and have
professionally built commercial software, before returning to
academia. We find that exposure to the scientific method is
useful for properly evaluating and understanding contemporary
results of empirical software engineering research (Q1), for
assessing the value of marketing claims of commercial
vendors (Q2), and for comparing the novelty of approaches
11Experiences from multiple half-day refresher courses on scientific data
evaluation for early-stage PhD candidates confirmed, as far as the value
of anecdotal evidence goes, that opportunities for improvement are not
exclusively restricted to early-stage Master students.</p>
        <p>
          12Related lectures include a compulsory course on Automata, Formal
Languages and Computation (4 ECTS) that discusses nature and limits of
scientific inference; a checklist for preparing a scientific experience report
on a mandatory industrial internship; the preparation of a Bachelor’s thesis
(12 ECTS, albeit often performed in industrial settings); and an elective short
course on conducting research, intermittently taught by the authors of this
paper. The omission of a dedicated course on scientific procedure is in line
with the German computer science curriculum recommendations [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ], and
therefore probably extends to many other academic institutions as well.
Yes
Neutral
No
0
5
10
and solutions to the large body of existing work (Q3). The
survey results in Figure 5 show that students mostly agree,
except for Q2. The students share our enthusiasm that eSWE
methods will help them become better software engineers
(Q4), although confusingly only one student in four plans to
employ such methods in the future (Q5).
        </p>
        <p>
          The attitude towards philosophical aspects of science versus
the acquisition of practical knowledge is, for many students,
not unambiguously in favour of the former. Two aspects
require particular attention in teaching: Firstly, software
engineering comprises technical and social aspects, and it is
usually impossible to derive quantitative a-priori theories in fields
with such characteristics. Statistical inference therefore needs
to be understood as the predominant means of establishing
certainty. Many statements that prevail in the industrial domain—
however credible they may sound from “experience”—can
only be rationalised or refuted in this way.13 Secondly,
conducting a too delicately faceted discussion on the nature of
science would distract from the seminar core. Differences
between scientific research and actions dictated by practical
necessity can be exposed by entertaining the pragmatic
viewpoint of equating scientific insight with systematicity [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ].
        </p>
        <p>Providing or refreshing the aforementioned knowledge
necessitates covering a substantial body of topics that often
exceed what is covered in the non-elective parts of the
curriculum. The lab session contains general guidance on these issues,
but we further equip students with a comprehensive slide
deck that details some of the aspects, and contains appropriate
pointers for self-study. Care is needed to not put undue burden
(or any perception of undue load) on the participants, to keep
the workload comparable between parallel seminar tracks.</p>
      </sec>
      <sec id="sec-5-2">
        <title>B. Statistics, Machine Learning and Data Analysis</title>
        <p>
          Software engineering research rests on a wide body of
statistical methods, but is also sometimes known to employ
these techniques in inappropriate or flawed ways [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. We
believe this implies three challenges that need to be solved:
        </p>
        <p>
          Firstly, popular statistical methods in research (such as
advanced forms of multivariate regression, mixed models,
association rules etc.) are usually not covered in compulsory
undergraduate lectures. Secondly, students found it challenging
to apply their method knowledge to practical data sets (e.g.,
knowing the principles of linear regression is not sufficient
to interpret the comprehensive output delivered by statistical
software, as is evaluating quality or aptitude of models for a
13It seems not entirely impertinent to remark that many popular textbooks
on the decades old agile credo do not ease the situation.
given body of data). Thirdly, students predominantly perceive
minimising the prediction error in statistical models as the
sole quality criterion—most likely caused by the current surge
of interest in machine learning and artificial intelligence—,
which overshadows other schools of statistical thinking [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ].
Software engineering research, in particular, is often concerned
with parsimonious and interpretable models, and it was, for
instance, necessary to remind students that common measures
like the ubiquitously used R2 value in linear regression are
sub-optimal discriminators to judge models, since closeness
of a model to data can (with over-fitting in mind) usually not
immediately be related to model quality.
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>C. Availability of Full-Fledged Textbooks</title>
        <p>
          We are not aware of a textbook for SWE that is not
an edited collection of contributions by a large number of
authors, or a collection of (essentially) research papers. We
therefore decided to blend chapters from Ref. [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] with selected
scientific works on research issues, in particular Refs. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ],
augmented by Easterbrooks et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] on method selection
for empirical research. Especially for presentations that
establish base method knowledge, students identified differences
in technical depth, scientific rigour, and focus, perhaps not
entirely unjustified. Fully escaping this problem in a setting
that discusses original research seems impossible.
        </p>
      </sec>
      <sec id="sec-5-4">
        <title>D. Grading Based on Methods Preached</title>
        <p>
          The difficulty of grading SWE projects is well known [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ],
and extends to student work produced in this seminar. Our
major learning objective is to create awareness for data-driven
methods, so we found it pertinent to hold grading to this
standard. As an experiment, the mini research reports were
therefore independently graded by both authors, and results
were subjected to various statistical analyses and comparisons,
which showcases their practical utility on an issue exposed to
much student curiosity. Fig. 6 does not only demonstrate a
satisfactory consistency between graders, but can also be used
to remind students on the implications of residual correlation.
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>V. RELATED WORK AND CONCLUSION</title>
      <p>
        The idea of students writing mini research reports has been
pursued before. Our concept of mini research reports best
matches the experiments proposed by Fagerholm et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ]
and Ref. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ], the former of which gives detailed guidelines
for including empirical studies in SWE education.
      </p>
      <p>
        Researchers suggested ideas how to enable students to
build up skills in eSWE. Wohlin [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] proposes (i) integration
with a software engineering course, (ii) a stand-alone course,
or (iii) a dedicated research method course. Fagerholm et
al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] suggest to use eSWE methods as Master’s thesis
topics, which creates person-specific in-depth understanding,
but unfortunately does not widely distribute method awareness.
Option (iii) best matches our scientific seminar, whereas [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
[
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] report on courses that match options (i) and (ii).
      </p>
      <p>
        For other courses comprising mini eSWE projects,
students reported hands-on experience as beneficial for their
future careers [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which confirms our motivation and matches
our experience after two iterations in a high teaching-load,
application-oriented environment.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bird</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P. C.</given-names>
            <surname>Rigby</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. T.</given-names>
            <surname>Barr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. J.</given-names>
            <surname>Hamilton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>German</surname>
          </string-name>
          , and
          <string-name>
            <given-names>P.</given-names>
            <surname>Devanbu</surname>
          </string-name>
          , “
          <article-title>The promises and perils of mining git</article-title>
          ,
          <source>” in 6th IEEE Int Working Conference on Mining Software Repositories</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>E.</given-names>
            <surname>Kalliamvakou</surname>
          </string-name>
          , G. Gousios,
          <string-name>
            <given-names>K.</given-names>
            <surname>Blincoe</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Singer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. M.</given-names>
            <surname>German</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Damian</surname>
          </string-name>
          , “
          <article-title>The promises and perils of mining GitHub,”</article-title>
          <source>in Proceedings of the 11th working conference on mining software repositories</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>J.</given-names>
            <surname>Zobel</surname>
          </string-name>
          , Writing for Computer Science, 3rd ed. Springer Publishing Company, Incorporated,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Bird</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Menzies</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Zimmermann</surname>
          </string-name>
          ,
          <source>The Art and Science of Analyzing Software Data</source>
          , 1st ed. San Francisco, CA, USA: Morgan Kaufmann Publishers Inc.,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>M.</given-names>
            <surname>Felderer</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhrmann</surname>
          </string-name>
          , “
          <article-title>Using Mini-Projects to Teach Empirical Software Engineering,” in Tagungsband des 16</article-title>
          . Workshops ”Software Engineering im Unterricht der Hochschulen”,
          <year>2019</year>
          , pp.
          <fpage>75</fpage>
          -
          <lpage>86</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>M.</given-names>
            <surname>Cataldo</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. D.</given-names>
            <surname>Herbsleb</surname>
          </string-name>
          , and
          <string-name>
            <surname>K. M. Carley</surname>
          </string-name>
          , “
          <article-title>Socio-technical congruence: A framework for assessing the impact of technical and work dependencies on software development productivity,”</article-title>
          <source>in Proc. of the 2nd ACM-IEEE International Symposium on eSWE and Measurement</source>
          , ser.
          <source>ESEM '08</source>
          . New York, NY, USA: ACM,
          <year>2008</year>
          , pp.
          <fpage>2</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Hornik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeileis</surname>
          </string-name>
          , and D. Meyer, “
          <article-title>The Strucplot Framework: Visualizing Multi-way Contingency Tables with vcd</article-title>
          ,
          <source>” Journal of Statistical Software</source>
          , vol.
          <volume>17</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>48</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>T.</given-names>
            <surname>Menzies</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Shepperd</surname>
          </string-name>
          , “
          <article-title>Bad smells in software analytics papers</article-title>
          ,
          <source>” Information and Software Technology</source>
          , vol.
          <volume>112</volume>
          , pp.
          <fpage>35</fpage>
          -
          <lpage>47</lpage>
          ,
          <year>2019</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <surname>Gesellschaft</surname>
            <given-names>fu¨</given-names>
          </string-name>
          r Informatik, “
          <string-name>
            <surname>GI-Empfehlungen</surname>
            <given-names>Bachelor</given-names>
          </string-name>
          -Master,” https://gi.de/fileadmin/GI/Hauptseite/Aktuelles/Meldungen/2016/ GI-Empfehlungen
          <string-name>
            <surname>Bachelor-Master-Informatik2016.pdf</surname>
          </string-name>
          ,
          <year>2016</year>
          , [Online; accessed 08-Jan-2020].
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>P.</given-names>
            <surname>Hoyningen-Huene</surname>
          </string-name>
          , “
          <source>Systematicity: The Nature of Science,” Philosophia</source>
          , vol.
          <volume>36</volume>
          , pp.
          <fpage>167</fpage>
          -
          <lpage>180</lpage>
          ,
          <year>06 2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Reyes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Dieste</surname>
          </string-name>
          ,
          <string-name>
            <given-names>E. R.</given-names>
            <surname>Fonseca</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Juristo</surname>
          </string-name>
          , “Statistical Errors in Software Engineering Experiments:
          <string-name>
            <given-names>A Preliminary</given-names>
            <surname>Literature</surname>
          </string-name>
          <string-name>
            <surname>Review</surname>
          </string-name>
          ,”
          <source>in Proceedings of the 40th International Conference on Software Engineering</source>
          , ser.
          <source>ICSE '18</source>
          ,
          <year>2018</year>
          , pp.
          <fpage>1195</fpage>
          -
          <lpage>1206</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>L.</given-names>
            <surname>Breiman</surname>
          </string-name>
          , “
          <article-title>Statistical modeling: The two cultures (with comments and a rejoinder by the author),” Statistical science</article-title>
          , vol.
          <volume>16</volume>
          , no.
          <issue>3</issue>
          ,
          <year>2001</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Easterbrook</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Singer</surname>
          </string-name>
          , M.
          <article-title>-</article-title>
          <string-name>
            <surname>A. D. Storey</surname>
            , and
            <given-names>D. E.</given-names>
          </string-name>
          <string-name>
            <surname>Damian</surname>
          </string-name>
          , “
          <article-title>Selecting Empirical Methods for Software Engineering Research,” in Guide to Advanced Empirical Software Engineering</article-title>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Shull</surname>
          </string-name>
          , Ed. Springer London,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>O.</given-names>
            <surname>Hummel</surname>
          </string-name>
          , “
          <article-title>Transparente Bewertung von Softwaretechnik-Projekten in der Hochschullehre,” in Tagungsband des 13</article-title>
          . Workshops ”Software Engineering im Unterricht der Hochschulen”,
          <year>2013</year>
          , pp.
          <fpage>103</fpage>
          -
          <lpage>114</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>F.</given-names>
            <surname>Fagerholm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhrmann</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Mu</surname>
          </string-name>
          <article-title>¨nch, “Guidelines for Using Empirical Studies in Software Engineering Education</article-title>
          ,” in
          <source>Software Engineering und Software Management</source>
          <year>2018</year>
          , Fachtagung des GIFachbereichs Softwaretechnik,
          <year>2018</year>
          , pp.
          <fpage>85</fpage>
          -
          <lpage>87</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>C.</given-names>
            <surname>Wohlin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Runeson</surname>
          </string-name>
          , M. Ho¨st,
          <string-name>
            <given-names>M. C.</given-names>
            <surname>Ohlsson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Regnell</surname>
          </string-name>
          , Experimentation in Software Engineering. Springer,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>C.</given-names>
            <surname>Wohlin</surname>
          </string-name>
          , Empirical Software Engineering:
          <article-title>Teaching Methods and Conducting Studies</article-title>
          . Berlin, Heidelberg: Springer,
          <year>2007</year>
          , pp.
          <fpage>135</fpage>
          -
          <lpage>142</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>M.</given-names>
            <surname>Kuhrmann</surname>
          </string-name>
          , “
          <article-title>Teaching Empirical Software Engineering Using Expert Teams,” in Tagungsband des 15</article-title>
          .
          <source>Workshops ”Software Engineering im Unterricht der Hochschulen</source>
          ,
          <year>2017</year>
          , pp.
          <fpage>20</fpage>
          -
          <lpage>31</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>