Efficient Bounded Exhaustive Input Generation from Program APIs

被引:1
|
作者
Politano, Mariano [1 ,4 ]
Bengolea, Valeria [1 ]
Molina, Facundo [3 ]
Aguirre, Nazareno [1 ,4 ]
Frias, Marcelo F. [2 ,4 ]
Ponzio, Pablo [1 ,4 ]
机构
[1] Univ Nacl Rio Cuarto, Rio Cuarto, Argentina
[2] Inst Tecnol Buenos Aires, Buenos Aires, DF, Argentina
[3] IMDEA Software Inst, Madrid, Spain
[4] Consejo Nacl Invest Cient & Tecn, Buenos Aires, DF, Argentina
关键词
D O I
10.1007/978-3-031-30826-0_6
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Bounded exhaustive input generation (BEG) is an effective approach to reveal software faults. However, existing BEG approaches require a precise specification of the valid inputs, i.e., a repOK, that must be provided by the user. Writing repOKs for BEG is challenging and time consuming, and they are seldom available in software. In this paper, we introduce BEAPI, an efficient approach that employs routines from the API of the software under test to perform BEG. Like API-based test generation approaches, BEAPI creates sequences of calls to methods from the API, and executes them to generate inputs. As opposed to existing BEG approaches, BEAPI does not require a repOK to be provided by the user. To make BEG from the API feasible, BEAPI implements three key pruning techniques: (i) discarding test sequences whose execution produces exceptions violating API usage rules, (ii) state matching to discard test sequences that produce inputs already created by previously explored test sequences, and (iii) the automated identification and use of a subset of methods from the API, called builders, that is sufficient to perform BEG. Our experimental assessment shows that BEAPI's efficiency and scalability is competitive with existing BEG approaches, without the need for repOKs. We also show that BEAPI can assist the user in finding flaws in repOKs, by (automatically) comparing inputs generated by BEAPI with those generated from a repOK. Using this approach, we revealed several errors in repOKs taken from the assessment of related tools, demonstrating the difficulties of writing precise repOKs for BEG.
引用
收藏
页码:111 / 132
页数:22
相关论文
共 50 条
  • [31] Transfer Learning Across Heterogeneous Features For Efficient Tensor Program Generation
    Verma, Gaurav
    Raskar, Siddhisanket
    Xie, Zhen
    Malik, Abid M.
    Emani, Murali
    Chapman, Barbara
    2023 2ND INTERNATIONAL WORKSHOP ON EXTREME HETEROGENEITY SOLUTIONS, EXHET 2023, 2023, : 7 - 12
  • [32] Exact Computation of LTI Reach Set From Integrator Reach Set With Bounded Input
    Haddad, Shadi
    Khodary, Pansie
    Halder, Abhishek
    IEEE CONTROL SYSTEMS LETTERS, 2023, 7 : 3980 - 3985
  • [33] Input Generation via Taintdata Identification: Finding Hidden Path in the Environment-Intensive Program
    Lei Xue
    Huang Wei
    Fan Wenqing
    Yang Yixian
    CHINESE JOURNAL OF ELECTRONICS, 2015, 24 (03) : 480 - 486
  • [34] Efficient Range Proofs with Transparent Setup from Bounded Integer Commitments
    Couteau, Geoffroy
    Klooss, Michael
    Lin, Huang
    Reichle, Michael
    ADVANCES IN CRYPTOLOGY - EUROCRYPT 2021, PT III, 2021, 12698 : 247 - 277
  • [36] GENERATION OF THE GREMAS CODE FROM GRAPHICAL INPUT OF GENERIC STRUCTURES
    KOLB, AG
    STIEGLER, G
    ABSTRACTS OF PAPERS OF THE AMERICAN CHEMICAL SOCIETY, 1986, 192 : 37 - CINF
  • [37] Input Generation via Taintdata Identification:Finding Hidden Path in the Environment-Intensive Program
    LEI Xue
    HUANG Wei
    FAN Wenqing
    YANG Yixian
    ChineseJournalofElectronics, 2015, 24 (03) : 480 - 486
  • [38] A COMPUTER-PROGRAM FOR AUTOMATIC-GENERATION OF THE INPUT-OUTPUT FUNCTIONS OF SPATIAL MECHANISMS
    DIETMAIER, P
    ROBOTERSYSTEME, 1992, 8 (02): : 85 - 92
  • [39] MICROCOMPUTER GENERATION OF CHEMICAL NOMENCLATURE FROM GRAPHIC STRUCTURE INPUT
    MEYER, DE
    GOULD, SR
    AMERICAN LABORATORY, 1988, 20 (11) : 92 - &
  • [40] Rule-based Test Input Generation From Bytecode
    Xu, Weifeng
    Ding, Tao
    Xu, Dianxiang
    2014 EIGHTH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY, 2014, : 108 - 117