Seminar in Empirical Software Engineering

BSc and MSc course, University of Zurich, 2023

Software engineering (SE) research focuses on various methods to understand and satisfy developer information needs. SE researchers use data from various artifacts, such as documentation, source code, logs, version control history, mailing lists, and bug reports to gain an empirically based understanding of software developer practices and the challenges they face to develop and maintain complex software. Based on these essential insights, researchers devise various methods, tools, and techniques to satisfy developer needs and design appropriate methods to support developers. Empirical methods play a vital role in designing and evaluating these methods.

This course explores the research landscape of the empirical software engineering field, and state-of-the- art tools and techniques in it to develop the prototypical tools and techniques for various topics.

At the end of the course, students are able to:

  • read and critically analyze scientific publications on the topic;
  • discuss and use current sophisticated research methods and tools supporting empirical software engineering for the topic;
  • evaluate the benefits/drawbacks of using specific tools & approaches for empirical software engineering;
  • design and develop tool prototypes to extract and analyze required data;
  • give a scientific presentation in terms of structure, level of detail, and presentation techniques.