Jump to content

Empirical software engineering

From Wikipedia, the free encyclopedia

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 have grown.[2] Today, common research methods used in ESE for primary and secondary research are the following:[3]

Teaching empirical software engineering

[edit]

“Handbook on Teaching Empirical Software Engineering” (Springer 2024)[4] is targeted at educators who are teaching empirical methods to software engineering students. It has 21 chapters written by a total of 53 authors from 39 institutions across 16 countries. The book offers comprehensive guidelines and strategies for teaching software engineering research methods (e.g., controlled experiments, case studies, surveys, action research, design science, ethnography, mining software repositories, simulation-based studies, and literature reviews). Some other comprehensive books[1][5] for students, professionals and researchers interested in ESE are available.

Research community

[edit]

Journals, conferences, and communities devoted specifically to ESE:

References

[edit]
  1. ^ a b Guide to advanced empirical software engineering. New York: Springer. 2008. ISBN 978-1-84800-043-8.
  2. ^ Ali, Nauman bin (8 September 2016). "Is effectiveness sufficient to choose an intervention?". Proceedings of the 10th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement. pp. 1–6. doi:10.1145/2961111.2962631. ISBN 9781450344272. S2CID 3208211.
  3. ^ 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. S2CID 254463421.
  4. ^ Mendez, Daniel; Avgeriou, Paris; Kalinowski, Marcos; Ali, Nauman Bin, eds. (2024). "Handbook on Teaching Empirical Software Engineering". SpringerLink. doi:10.1007/978-3-031-71769-7.
  5. ^ Felderer, Michael; Travassos, Guilherme Horta (2020). Contemporary empirical methods in software engineering. Cham, Switzerland. ISBN 978-3-030-32488-9.{{cite book}}: CS1 maint: location missing publisher (link)