To gain knowledge of empirical methods and techniques for studying the engineering of software in real-life situation
To perform an empirical study of software engineering
There are many facets about how software projects are executed in practice about which we know very little:
How good are software engineers at choosing good test-cases?
How well are UML models created in the Netherlands understood by engineers in India?
To what degree do actual development processes resemble the planned processes?
How does offshoring impact productivity and quality of software projects?
In general, Empirical Software engineering aims at developing knowledge about software engineering in practice. Typical research questions are related to the effects of new technologies on the execution of software projects.
The course consists of two parts:
1) During lectures, a number of methods and techniques will be discussed for performing empirical studies in software engineering. These include: case studies, experiments, surveys.
These will be studied based on recent papers.
2) Supported by the lecturers and teaching assistants, students will develop and perform their own empirical studies.
Guide to Advanced Empirical Software Engineering , by Forrest Shull, Janice Singer, Dag I.K. Sjøberg (Eds), Springer, 2007
Papers will be handed out during the course