A Foundation for Empirical Software Engineering
Dewayne E. Perry · 2007
The goal of this paper is to lay a foundation for rigorous empirical software engineering. I do this by introducing several theories and their models. I first present an abstract theory TM about theories and models and related processes. I then apply TM to itself, yielding MTM, a theory and model about TM. These two theories provide a unified approach to design disciplines. I then provide 4 models of them relevant to empirical software engineering: products, developments, instruments and experiments. I introduce theory E and apply E to TM and MTM yielding ETM and EMTM. These latter two theories provide a taxonomy of empirical studies for design disciplines. I discuss briefly models of such empirical studies. I then apply E to itself yielding EE that provides a taxonomy of evaluations of empirical studies. Finally, I present a list of challenges for empirical software engineering research.