On testing machine learning programs

被引:74
|
作者
Ben Braiek, Houssem [1 ]
Khomh, Foutse [1 ]
机构
[1] Polytech Montreal, SWAT Lab, Montreal, PQ, Canada
关键词
Machine learning; Data cleaning; Feature engineering testing; Model testing; Implementation testing;
D O I
10.1016/j.jss.2020.110542
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Nowadays, we are witnessing a wide adoption of Machine learning (ML) models in many software systems. They are even being tested in safety-critical systems, thanks to recent breakthroughs in deep learning and reinforcement learning. Many people are now interacting with systems based on ML every day, e.g., voice recognition systems used by virtual personal assistants like Amazon Alexa or Google Home. As the field of ML continues to grow, we are likely to witness transformative advances in a wide range of areas, from finance, energy, to health and transportation. Given this growing importance of ML-based systems in our daily life, it is becoming utterly important to ensure their reliability. Recently, software researchers have started adapting concepts from the software testing domain (e.g., code coverage, mutation testing, or property-based testing) to help ML engineers detect and correct faults in ML programs. This paper reviews current existing testing practices for ML programs. First, we identify and explain challenges that should be addressed when testing ML programs. Next, we report existing solutions found in the literature for testing ML programs. Finally, we identify gaps in the literature related to the testing of ML programs and make recommendations of future research directions for the scientific community. We hope that this comprehensive review of software testing practices will help ML engineers identify the right approach to improve the reliability of their ML-based systems. We also hope that the research community will act on our proposed research directions to advance the state of the art of testing for ML programs. (C) 2020 Published by Elsevier Inc.
引用
收藏
页数:18
相关论文
共 50 条
  • [1] Dataset Coverage for Testing Machine Learning Computer Programs
    Nakajima, Shin
    Hai Ngoc Bui
    [J]. 2016 23RD ASIA-PACIFIC SOFTWARE ENGINEERING CONFERENCE (APSEC 2016), 2016, : 297 - 304
  • [2] A systematic mapping study on testing of machine learning programs
    Sherin, Salman
    Khan, Muhammad Uzair
    Iqbal, Muhammad Zohaib
    [J]. arXiv, 2019,
  • [3] Generalized Oracle for Testing Machine Learning Computer Programs
    Nakajima, Shin
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, SEFM 2017, 2018, 10729 : 174 - 179
  • [4] Generating Biased Dataset for Metamorphic Testing of Machine Learning Programs
    Nakajima, Shin
    Chen, Tsong Yueh
    [J]. TESTING SOFTWARE AND SYSTEMS (ICTSS 2019), 2019, 11812 : 56 - 64
  • [5] Ariadne: Analysis for Machine Learning Programs
    Dolby, Julian
    Shinnar, Avraham
    Allain, Allison
    Reinen, Jenna
    [J]. MAPL'18: PROCEEDINGS OF THE 2ND ACM SIGPLAN INTERNATIONAL WORKSHOP ON MACHINE LEARNING AND PROGRAMMING LANGUAGES, 2018, : 1 - 10
  • [6] PROGRAMS FOR MACHINE LEARNING .2.
    HORMANN, AM
    [J]. INFORMATION AND CONTROL, 1964, 7 (01): : 55 - &
  • [7] PROGRAMS FOR MACHINE LEARNING .1.
    HORMANN, AM
    [J]. INFORMATION AND CONTROL, 1962, 5 (04): : 347 - &
  • [8] Software Testing for Machine Learning
    Marijan, Dusica
    Gotlieb, Arnaud
    [J]. THIRTY-FOURTH AAAI CONFERENCE ON ARTIFICIAL INTELLIGENCE, THE THIRTY-SECOND INNOVATIVE APPLICATIONS OF ARTIFICIAL INTELLIGENCE CONFERENCE AND THE TENTH AAAI SYMPOSIUM ON EDUCATIONAL ADVANCES IN ARTIFICIAL INTELLIGENCE, 2020, 34 : 13576 - 13582
  • [9] Machine Learning for Testing Machine-Learning Hardware: A Virtuous Cycle
    Chaudhuri, Arjun
    Talukdar, Jonti
    Chakrabarty, Krishnendu
    [J]. 2022 IEEE/ACM INTERNATIONAL CONFERENCE ON COMPUTER AIDED DESIGN, ICCAD, 2022,
  • [10] Synthesizing Correct Code for Machine Learning Programs
    Gisi, Joshua
    [J]. PROCEEDINGS OF THE 28TH ACM JOINT MEETING ON EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING (ESEC/FSE '20), 2020, : 1701 - 1703