skip to main content

Bug Characterization in Machine Learning-based Systems

Morovati, Mohammad Mehdi ; Amin Nikanjam ; Tambon, Florian ; Khomh, Foutse ; Zhen Ming ; Jiang

Empirical software engineering : an international journal, 2023-07 [Periódico revisado por pares]

Ithaca: Cornell University Library, arXiv.org

Texto completo disponível

Citações Citado por
  • Título:
    Bug Characterization in Machine Learning-based Systems
  • Autor: Morovati, Mohammad Mehdi ; Amin Nikanjam ; Tambon, Florian ; Khomh, Foutse ; Zhen Ming ; Jiang
  • Assuntos: Computer Science ; Computer Science - Learning ; Computer Science - Software Engineering ; Debugging ; Fixing ; Inspection ; Investigations ; Machine learning ; Maintenance ; Repositories ; Safety critical ; Software
  • É parte de: Empirical software engineering : an international journal, 2023-07
  • Descrição: Rapid growth of applying Machine Learning (ML) in different domains, especially in safety-critical areas, increases the need for reliable ML components, i.e., a software component operating based on ML. Understanding the bugs characteristics and maintenance challenges in ML-based systems can help developers of these systems to identify where to focus maintenance and testing efforts, by giving insights into the most error-prone components, most common bugs, etc. In this paper, we investigate the characteristics of bugs in ML-based software systems and the difference between ML and non-ML bugs from the maintenance viewpoint. We extracted 447,948 GitHub repositories that used one of the three most popular ML frameworks, i.e., TensorFlow, Keras, and PyTorch. After multiple filtering steps, we select the top 300 repositories with the highest number of closed issues. We manually investigate the extracted repositories to exclude non-ML-based systems. Our investigation involved a manual inspection of 386 sampled reported issues in the identified ML-based systems to indicate whether they affect ML components or not. Our analysis shows that nearly half of the real issues reported in ML-based systems are ML bugs, indicating that ML components are more error-prone than non-ML components. Next, we thoroughly examined 109 identified ML bugs to identify their root causes, symptoms, and calculate their required fixing time. The results also revealed that ML bugs have significantly different characteristics compared to non-ML bugs, in terms of the complexity of bug-fixing (number of commits, changed files, and changed lines of code). Based on our results, fixing ML bugs are more costly and ML components are more error-prone, compared to non-ML bugs and non-ML components respectively. Hence, paying a significant attention to the reliability of the ML components is crucial in ML-based systems.
  • Editor: Ithaca: Cornell University Library, arXiv.org
  • Idioma: Inglês

Buscando em bases de dados remotas. Favor aguardar.