Empirical software engineering
Empirical software engineering (ESE)[1] is a subfield of software engineering (SE) research that uses empirical research methods to study and evaluate an SE phenomenon of interest. The phenomenon may refer to software development tools/technology, practices, processes, policies, or other human and organizational aspects.
ESE has roots in experimental software engineering, but as the field has matured the need and acceptance for both quantitative and qualitative research has grown.[2] Today, common research methods used in ESE for primary and secondary research are the following:[3]
- Primary research (Experimentnation, Case study research, Survey research, Simulations in particular Software Process simulation)
- Secondary research methods (Systematic reviews, Systematic mapping studies, Rapid reviews)
Teaching empirical software engineering
Three comprehensive books[1][4] for students, professionals[5] and researchers interested in ESE are available. Furthermore, the following open courseware and public resources are available for courses on empirical research methods in software engineering:
References
- Guide to advanced empirical software engineering. New York: Springer. 2008. ISBN 978-1-84800-043-8.
- Ali, Nauman bin (8 September 2016). "Is effectiveness sufficient to choose an intervention?: Considering resource use in empirical software engineering". Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement: 1–6. doi:10.1145/2961111.2962631.
- Wohlin, Claes; Aurum, Aybüke (December 2015). "Towards a decision-making structure for selecting a research design in empirical software engineering". Empirical Software Engineering. 20 (6): 1427–1455. doi:10.1007/s10664-014-9319-7.
- Contemporary empirical methods in software engineering. Cham, Switzerland. 2020. ISBN 978-3-030-32488-9.
- Evidence-based Software Engineering based on the publicly available data (PDF). 2020. ISBN 978-1-8382913-0-3.