Empirical Methods in Software Engineering

Cursus

URL study guide

https://tue.osiris-student.nl/onderwijscatalogus/extern/cursus?cursuscode=2IMP40&collegejaar=2025&taal=en

Omschrijving

Never before has so much information been available about how developers collaborate to create and maintain software systems. Data sources range from source code repositories to code reviews discussions, from comments on Twitter to educational videos on YouTube, from transcripts of developers’ interviews to crash reports and execution logs. Presense of this data enabled the emergence of empirical software engineering, a subfield of software engineering, aiming at creation and validation of software engineering theories and assumptions through observation of software development practices. Theories validated in this way can be used to improve software development  processes and artefacts, e.g., by providing developers with better tools or team managers with guidelines. Today empirical software engineering is both an active research field and a foundation for improved industrial practices.

In this course we focus on the ways empirical methods are applied to study software engineering phenomena. We start by reflecting on the roles of empiricism and rationalism in software engineering, an then discuss ways to collect software engineering data by means of, e.g., interviews, surveys, repository mining, and quantiatively and qualitatively analyse it. During the course the students will read empirical software engineering  research papers, present them to the broad audience and conduct an empirical study using a software engineering dataset. 

Doelstellingen

Aims: After taking this class, the student should be able to
  • independently design and execute a sound empirical study in Software Engineering given a state-of-the-art dataset.
  • evaluate empirical studies in Software Engineering using tools accepted in the field, and identify threats to validity.
  • describe the results of empirical studies to practitioners not familiar with academic research, and comprehend the research methods used for empirical studies in Software Engineering

Beoordelingsmethode

Written examination
Cursusperiode1/09/2031/08/26
CursusformaatCursus