Evaluating classifiers in SE research: the ECSER pipeline and two replication studies
Open Access
- 8 November 2022
- journal article
- research article
- Published by Springer Nature in Empirical Software Engineering
- Vol. 28 (1) , 1-40
Abstract
Context: Automated classifiers, often based on machine learning (ML), are increasingly used in software engineering (SE) for labelling previously unseen SE data. Researchers have proposed automated classifiers that predict if a code chunk is a clone, if a requirement is functional or non-functional, if the outcome of a test case is non-deterministic, etc. Objective: The lack of guidelines for applying and reporting classification techniques for SE research leads to studies in which important research steps may be skipped, key findings might not be identified and shared, and the readers may find reported results (e.g., precision or recall above 90%) that are not a credible representation of the performance in operational contexts. The goal of this paper is to advance ML4SE research by proposing rigorous ways of conducting and reporting research. Results: We introduce the ECSER (Evaluating Classifiers in Software Engineering Research) pipeline, which includes a series of steps for conducting and evaluating automated classification research in SE. Then, we conduct two replication studies where we apply ECSER to recent research in requirements engineering and in software testing. Conclusions: In addition to demonstrating the applicability of the pipeline, the replication studies demonstrate ECSER’s usefulness: not only do we confirm and strengthen some findings identified by the original authors, but we also discover additional ones. Some of these findings contradict the original ones.Keywords
Funding Information
- Türkiye Bilimsel ve Teknolojik Araştırma Kurumu (BIDEB 2232 grant 118C255)
This publication has 67 references indexed in Scilit:
- Area under the Precision-Recall Curve: Point Estimates and Confidence Intervals2013
- Using Effect Size—or Why the P Value Is Not EnoughJournal of Graduate Medical Education, 2012
- Classifier chains for multi-label classificationMachine Learning, 2011
- Defect prediction from static code features: current results, limitations, new approachesAutomated Software Engineering, 2010
- The WEKA data mining softwareACM SIGKDD Explorations Newsletter, 2009
- Automated classification of non-functional requirementsRequirements Engineering, 2007
- Gleaner: Creating ensembles of first-order clauses to improve recall-precision curvesMachine Learning, 2006
- An introduction to ROC analysisPattern Recognition Letters, 2006
- PRACTICAL MACHINE LEARNING FOR SOFTWARE ENGINEERING AND KNOWLEDGE ENGINEERING2001
- Measures of multivariate skewness and kurtosis with applicationsBiometrika, 1970