skip to main content
10.1109/ISSRE.2012.22guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

An Empirical Study of Bugs in Machine Learning Systems

Published: 27 November 2012 Publication History

Abstract

Many machine learning systems that include various data mining, information retrieval, and natural language processing code and libraries are used in real world applications. Search engines, internet advertising systems, product recommendation systems are sample users of these algorithm-intensive code and libraries. Machine learning code and toolkits have also been used in many recent studies on software mining and analytics that aim to automate various software engineering tasks. With the increasing number of important applications of machine learning systems, the reliability of such systems is also becoming increasingly important. A necessary step for ensuring reliability of such systems is to understand the features and characteristics of bugs occurred in the systems. A number of studies have investigated bugs and fixes in various software systems, but none focuses on machine learning systems. Machine learning systems are unique due to their algorithm-intensive nature and applications to potentially large-scale data, and thus deserve a special consideration. In this study, we fill the research gap by performing an empirical study on the bugs in machine learning systems. We analyze three systems, Apache Mahout, Lucene, and OpenNLP, which are data mining, information retrieval, and natural language processing tools respectively. We look into their bug databases and code repositories, analyze a sample set of bugs and corresponding fixes, and label the bugs into various categories. Our study finds that 22.6% of the bugs belong to the algorithm/method category, 15.6% of the bugs belong to the non-functional category, and 13% of the bugs belong to the assignment/initialization category. We also report the relationship between bug categories and bug severities, the time and effort needed to fix the bugs, and bug impacts. We highlight several bug categories that deserve attention in future research.

Cited By

View all
  • (2024)Understanding and Detecting Annotation-Induced Faults of Static AnalyzersProceedings of the ACM on Software Engineering10.1145/36437591:FSE(722-744)Online publication date: 12-Jul-2024
  • (2024)Bug Analysis in Jupyter Notebook Projects: An Empirical StudyACM Transactions on Software Engineering and Methodology10.1145/364153933:4(1-34)Online publication date: 18-Apr-2024
  • (2023)Semantic-Based Neural Network RepairProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598045(150-162)Online publication date: 12-Jul-2023
  • Show More Cited By
  1. An Empirical Study of Bugs in Machine Learning Systems

      Recommendations

      Comments

      Please enable JavaScript to view thecomments powered by Disqus.

      Information & Contributors

      Information

      Published In

      cover image Guide Proceedings
      ISSRE '12: Proceedings of the 2012 IEEE 23rd International Symposium on Software Reliability Engineering
      November 2012
      381 pages
      ISBN:9780769548883

      Publisher

      IEEE Computer Society

      United States

      Publication History

      Published: 27 November 2012

      Qualifiers

      • Article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 01 Nov 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Understanding and Detecting Annotation-Induced Faults of Static AnalyzersProceedings of the ACM on Software Engineering10.1145/36437591:FSE(722-744)Online publication date: 12-Jul-2024
      • (2024)Bug Analysis in Jupyter Notebook Projects: An Empirical StudyACM Transactions on Software Engineering and Methodology10.1145/364153933:4(1-34)Online publication date: 18-Apr-2024
      • (2023)Semantic-Based Neural Network RepairProceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis10.1145/3597926.3598045(150-162)Online publication date: 12-Jul-2023
      • (2023)Predicting the Change Impact of Resolving Defects by Leveraging the Topics of Issue Reports in Open Source Software SystemsACM Transactions on Software Engineering and Methodology10.1145/359380232:6(1-34)Online publication date: 30-Sep-2023
      • (2023)Toward Understanding Deep Learning Framework BugsACM Transactions on Software Engineering and Methodology10.1145/358715532:6(1-31)Online publication date: 29-Sep-2023
      • (2023)Faulty or Ready? Handling Failures in Deep-Learning Computer Vision Models until Deployment: A Study of Practices, Challenges, and NeedsProceedings of the 2023 CHI Conference on Human Factors in Computing Systems10.1145/3544548.3581555(1-20)Online publication date: 19-Apr-2023
      • (2023)What kinds of contracts do ML APIs need?Empirical Software Engineering10.1007/s10664-023-10320-z28:6Online publication date: 17-Oct-2023
      • (2022)Towards Understanding the Faults of JavaScript-Based Deep Learning SystemsProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560427(1-13)Online publication date: 10-Oct-2022
      • (2022)Towards Demystifying the Impact of Dependency Structures on Bug Locations in Deep Learning LibrariesProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546246(249-260)Online publication date: 19-Sep-2022
      • (2022)Challenges in migrating imperative deep learning programs to graph executionProceedings of the 19th International Conference on Mining Software Repositories10.1145/3524842.3528455(469-481)Online publication date: 23-May-2022
      • Show More Cited By

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media