Empirical Studies in Software Engineering

For a long time software engineering has been based on luminaries that would convince the practitioners based on their persuasiveness. Nowadays it’s even worse: technologies are adopted by developers and companies often based on marketing, swag, and other non-consequential reasons. Often they can even be a step back from the state of the art, e.g. MongoDB which made away with transactions in an “attempt” to become “web scale”. (Project Idea: can somebody detect in GitHub projects that are switching away from Mongo - and organize interviews with the developers to better understand when and why things got sour?).

However, software engineering can become more and more a data-driven field if we invest into studying how things actually happen in practice. In particular we can either study developers or study their artifacts: the source code and related artifacts that can be found in version repositories.


Some papers that I have contributed to in this domain are interested in