V+Ü Empirical Methods in Software Engineering (Empirische Methoden im Software Engineering, vormals bekannt als: Empirische Bewertung in der Informatik) SS 2022

Description

Software Engineering is a field of so-high socio-technical complexity that the properties (let alone the usefulness) of proposed methods and tools are not at all obvious. We need to evaluate them empirically.

This course introduces two different manners in which one can think about this situation and approach evaluations:
  1. A quantitative perspective. This aims at quantified statements about the tools and methods and is based on a positivist epistemological stance and corresponding culture.
  2. A qualitative perspective. This aims at making sense of the things that are going on to create the phenomena that give rise to the quantitative outcomes. This perspective is based on an interpretivist epistemological stance and has a culture that values different things.
Both perspectives have different strengths and weaknesses and are suitable for different types of research interest. In this course, we will learn to think in both of these perspectives and to appreciate the different benefits they provide. We will learn what it means that a study has high quality: it has high credibility and high relevance. We will train diagnosing the various quality problems that often reduce credibility or relevance.

We will work through the most common research methods and will discuss real examples (interesting published studies) of each, along with their strengths and weaknesses.

Participants will understand how and when to apply each method and for one of them develop some practical skills by doing so.


Administration

Lecturers

Requirements/target group, classification, credit points etc.

see entry in the KVV course syllabus

Registration

  • For the tutorials every participant needs to have registered in the KVV.
    • Subscribe to »Empirische Bewertung in der Informatik S22«

Dates

Language

Examination modalities

Necessary criteria for obtaining the credit points:


Content

Lecture topics

Foreword: About Inverted Classroom

  1. (2022-04-25, this is week 2) The role of empiricism (PDF, TOC+video)
  2. (2022-05-02) Study quality: Credibility and relevance (PDF, TOC+video)
  3. (2022-05-09) Survey: (Video 2018-05)
    • example: relevance of different topics in Informatics education (article)
    • method: selection of aims; selection of group to be interviewed; design and validation of the questionnaire; execution of the survey; evaluation; interpretation
  4. (2022-05-16) Grounded Theory Methodology 1 (PDF, TOC+video)
  5. (2022-05-30, due to travel, this is week 7) Grounded Theory Methodology 2 (PDF, TOC+video)
  6. (2022-06-13, due to holiday June 6, week 9) Controlled experiment: (Video 2014-05)
    • example 1: flow charts versus pseudo-code (article, criticized prior work)
    • method: control and constancy; problems with reaching constancy; techniques for reaching constancy
    • example 2: use of design pattern documentation (article)
  7. (2022-06-13, double package!) Quasi experiment: (Video 2018-06)
    • example 1: comparison of 7 programming languages (article, detailed technical report)
    • method: like controlled experiment, but with incomplete control (mostly: no randomization)
    • example 2: influence of work place conditions on productivity (article)
  8. (2022-06-20, week 10) How to lie with statistics: (Video 2018-04)
    • When looking at somebody else's conclusions from data: What is actually meant? What specifically? How can they know it? What is not said?
    • Does the measurement distort the meaning? Is the sample biased?, etc.
    • Material: book on the topic; Study on alternative ink; article with arguments against hypothesis testing: "The earth is round (p < 0.05)".
  9. (2022-06-20, triple package!) Data analysis - basic terminology: (Video 2018-06)
  10. (2022-06-20, triple package!) Data analysis - techniques: (Video 2018-06, very low-quality audio)
    • Samples and populations; average value; variability; comparison of samples: significance test, confidence interval; bootstrap; relations between variables: plots, linear models, correlations, local models (loess)
    • Article: "A tour through the visualization zoo"
  11. (2022-06-27) Case study: (Video 2018-07)
    • example 1: Familiarization with a software team (article)
    • method: characteristics of case studies; what is the 'case'?; use of many data types; triangulation; validity dimensions
    • example 2: An unconventional method for requirements inspections (article)
  12. (omitted) Benchmarking: (Video 2018-06)
    • example 1: SPEC CPU2000 (article)
    • Benchmark = measurement + task + comparison; problems (costs, task selection, overfitting); quality characteristics (accessibility, effort, clarity, portability, scalability, relevance) (article)
    • example 2: TREC (article)
  13. (2022-07-04) Other methods: (Video 2018-07)
    • The method landscape; simulation; software archeology (studies on the basis of existing data); literature study;
    • example simulation: scaling of P2P file sharing (article)
    • example software archeology: code decline (article)
    • example literature study: a model of the effectiveness of reviews (article)
  14. (2022-07-11) Summary and advice: (Video 2018-07)
    • Role of empiricism; quality criteria; generic method; advantages and disadvantages of the methods; practical advice (for data analysis; for conclusion-drawing; for final presentation); outlook

Aims of the tutorials

Practice sheets

(These links will be added continuously as the course proceeds.)

Changes over the years

(minor changes are made every year)

Literature


Comments

Should you have comments or suggestions concerning this page, you may add them here (possibly with date and name):