Automated Testing of Software that Uses Machine Learning APIs

被引:7
|
作者
Wan, Chengcheng [1 ]
Liu, Shicheng [1 ]
Xie, Sophie [2 ]
Liu, Yifan [1 ]
Hoffmann, Henry [1 ]
Maire, Michael [1 ]
Lu, Shan [1 ]
机构
[1] Univ Chicago, Chicago, IL 60637 USA
[2] Whitney Young High Sch, Chicago, IL USA
关键词
software testing; machine learning; machine learning API;
D O I
10.1145/3510003.3510068
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
An increasing number of software applications incorporate machine learning (ML) solutions for cognitive tasks that statistically mimic human behaviors. To test such software, tremendous human effort is needed to design image/text/audio inputs that are relevant to the software, and to judge whether the software is processing these inputs as most human beings do. Even when misbehavior is exposed, it is often unclear whether the culprit is inside the cognitive ML API or the code using the API. This paper presents Keeper, a new testing tool for software that uses cognitive ML APIs. Keeper designs a pseudo-inverse function for each ML API that reverses the corresponding cognitive task in an empirical way (e.g., an image search engine pseudo-reverses the image-classification API), and incorporates these pseudo-inverse functions into a symbolic execution engine to automatically generate relevant image/text/audio inputs and judge output correctness. Once misbehavior is exposed, Keeper attempts to change how ML APIs are used in software to alleviate the misbehavior. Our evaluation on a variety of open-source applications shows that Keeper greatly improves the branch coverage, while identifying many previously unknown bugs.
引用
收藏
页码:212 / 224
页数:13
相关论文
共 50 条
  • [1] 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
  • [2] Machine Learning System For Automated Testing
    Spahiu, Cosmin Stoica
    Stanescu, Liana
    Marinescu, Roxana
    Brezovan, Marius
    [J]. 2022 23RD INTERNATIONAL CARPATHIAN CONTROL CONFERENCE (ICCC), 2022, : 142 - 146
  • [3] An Automated System for Interactively Learning Software Testing
    Smith, Rebecca
    Tang, Terry
    Warren, Joe
    Rixner, Scott
    [J]. ITICSE'17: PROCEEDINGS OF THE 2017 ACM CONFERENCE ON INNOVATION AND TECHNOLOGY IN COMPUTER SCIENCE EDUCATION, 2017, : 98 - 103
  • [4] A Machine Learning Approach for Statistical Software Testing
    Baskiotis, Nicolas
    Sebag, Michele
    Gaudel, Marie-Claude
    Gouraud, Sandrine
    [J]. 20TH INTERNATIONAL JOINT CONFERENCE ON ARTIFICIAL INTELLIGENCE, 2007, : 2274 - 2279
  • [5] Novel Applications of Machine Learning in Software Testing
    Briand, Lionel C.
    [J]. QSIC 2008: PROCEEDINGS OF THE EIGHTH INTERNATIONAL CONFERENCE ON QUALITY SOFTWARE, 2008, : 3 - 10
  • [6] Machine learning software for automated force field parameterization
    Zhong, Xiang
    [J]. ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 2019, 257
  • [7] Prediction of Software Defects Using Automated Machine Learning
    Tanaka, Kazuya
    Monden, Akito
    Yucel, Zeynep
    [J]. 2019 20TH IEEE/ACIS INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, ARTIFICIAL INTELLIGENCE, NETWORKING AND PARALLEL/DISTRIBUTED COMPUTING (SNPD), 2019, : 490 - 494
  • [8] MLCatchUp: Automated Update of Deprecated Machine-Learning APIs in Python']Python
    Haryono, Stefanus A.
    Thung, Ferdian
    Lo, David
    Lawall, Julia
    Jiang, Lingxiao
    [J]. 2021 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME 2021), 2021, : 584 - 588
  • [9] Improving the Learnability of Machine Learning APIs by Semi-Automated API Wrapping
    Reimann, Lars
    Kniesel-Wuensche, Guenter
    [J]. 2022 ACM/IEEE 44TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING: NEW IDEAS AND EMERGING RESULTS (ICSE-NIER 2022), 2022, : 46 - 50
  • [10] Run-Time Prevention of Software Integration Failures of Machine Learning APIs
    Wan, Chengcheng
    Liu, Yuhan
    Du, Kuntai
    Hoffmann, Henry
    Jiang, Junchen
    Maire, Michael
    Lu, Shan
    [J]. PROCEEDINGS OF THE ACM ON PROGRAMMING LANGUAGES-PACMPL, 2023, 7 (OOPSLA):