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 条
  • [21] Automated Software Vulnerability Testing Using Deep Learning Methods
    Kuznetsov, Alexandr
    Yeromin, Yehor
    Shapoval, Oleksiy
    Chernov, Kyrylo
    Popova, Mariia
    Serdukov, Kostyantyn
    [J]. 2019 IEEE 2ND UKRAINE CONFERENCE ON ELECTRICAL AND COMPUTER ENGINEERING (UKRCON-2019), 2019, : 837 - 841
  • [22] Using Machine Learning to Prioritize Automated Testing in an Agile Environment
    Butgereit, Laurie
    [J]. 2019 CONFERENCE ON INFORMATION COMMUNICATIONS TECHNOLOGY AND SOCIETY (ICTAS), 2019,
  • [23] Machine Learning Techniques for Escaped Defect Analysis in Software Testing
    Nascimento, Lidia P. G.
    Prudencio, Ricardo B. C.
    Mota, Alexandre C.
    Paiva Filho, Audir A.
    Cruz, Pedro H. A.
    de Oliveira, Daniel C. C. A.
    Moreira, Pedro R. S.
    [J]. PROCEEDINGS OF THE 8TH BRAZILIAN SYMPOSIUM ON SYSTEMATIC AND AUTOMATED SOFT-WARE TESTING, SAST 2023, 2023, : 47 - 53
  • [24] Machine Learning Applied to Software Testing: A Systematic Mapping Study
    Durelli, Vinicius H. S.
    Durelli, Rafael S.
    Borges, Simone S.
    Endo, Andre T.
    Eler, Marcelo M.
    Dias, Diego R. C.
    Guimaraes, Marcelo P.
    [J]. IEEE TRANSACTIONS ON RELIABILITY, 2019, 68 (03) : 1189 - 1212
  • [25] Machine Learning Infused Software Testing for Mobile Device Development
    Pillai, Tilak Kesava
    Mccoy, Clinton
    Chakravarty, Sunder
    [J]. 2024 IEEE 33RD MICROELECTRONICS DESIGN & TEST SYMPOSIUM, MDTS 2024, 2024,
  • [26] Accuracy of Automated Machine Learning Software in Identifying EEGs with Prolonged Seizures
    Lin, Rebecca
    Marquez, Destiny
    Jacobson, Mercedes
    Castaldi, Hannah
    Buckland, Samuel
    Shah, Vinit
    Picone, Joseph
    [J]. NEUROLOGY, 2020, 94 (15)
  • [27] Software Testing as A Problem of Machine Learning: Towards a Foundation on Computational Learning Theory
    Zhu, Hong
    [J]. 2018 IEEE/ACM 13TH INTERNATIONAL WORKSHOP ON AUTOMATION OF SOFTWARE TEST (AST), 2018, : 1 - 1
  • [28] ExploitMeter: Combining Fuzzing with Machine Learning for Automated Evaluation of Software Exploitability
    Yan, Guanhua
    Lu, Junchen
    Shu, Zhan
    Kucuk, Yunus
    [J]. 2017 1ST IEEE SYMPOSIUM ON PRIVACY-AWARE COMPUTING (PAC), 2017, : 164 - 175
  • [29] Software testing in the machine learning eraSpecial issue of the empirical Software Engineering (EMSE) journal
    Andrea Stocco
    Onn Shehory
    Gunel Jahangirova
    Vincenzo Riccio
    Guy Barash
    Eitan Farchi
    Diptikalyan Saha
    [J]. Empirical Software Engineering, 2023, 28
  • [30] AN OVERVIEW OF AUTOMATED SOFTWARE TESTING
    BERTOLINO, A
    [J]. JOURNAL OF SYSTEMS AND SOFTWARE, 1991, 15 (02) : 133 - 138