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 条
  • [1] BEAPI: A tool for bounded exhaustive input generation from APIs
    Politano, Mariano
    Bengolea, Valeria
    Molina, Facundo
    Aguirre, Nazareno
    Frias, Marcelo
    Ponzio, Pablo
    SCIENCE OF COMPUTER PROGRAMMING, 2024, 238
  • [2] Bounded Exhaustive Test Input Generation from Hybrid Invariants
    Rosner, Nicolas
    Bengolea, Valeria
    Ponzio, Pablo
    Khalek, Shadi Abdul
    Aguirre, Nazareno
    Frias, Marcelo F.
    Khurshid, Sarfraz
    ACM SIGPLAN NOTICES, 2014, 49 (10) : 655 - 674
  • [3] Bounded exhaustive test input generation from hybrid invariants
    1600, Association for Computing Machinery, 2 Penn Plaza, Suite 701, New York, NY 10121-0701, United States (49):
  • [4] Poster: Efficient Iterative Deepening for Bounded Exhaustive Generation of Complex Structures
    Rauf, Affan
    Nawaz, Muhammad
    Siddiqui, Junaid Haroon
    PROCEEDINGS 2018 IEEE/ACM 40TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING - COMPANION (ICSE-COMPANION, 2018, : 346 - 347
  • [5] CONTAB - A PROGRAM FOR CONNECTION TABLE GENERATION FROM LINEAR INPUT
    FORSTER, T
    ATZBERGER, B
    VANDERLIETH, CW
    COMPUTERS & CHEMISTRY, 1988, 12 (03): : 267 - 283
  • [6] MiMIs: Simple, Efficient, and Fast Bounded-Exhaustive Test Case Generators
    Dewey, Kyle
    Hairapetian, Shant
    Gavrilov, Miroslav
    2020 IEEE 13TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VALIDATION AND VERIFICATION (ICST 2020), 2020, : 51 - 62
  • [7] Optimizing Homomorphic Evaluation Circuits by Program Synthesis and Time-bounded Exhaustive Search
    Lee, Dongkwon
    Lee, Woosuk
    Oh, Hakjoo
    Yi, Kwangkeun
    ACM TRANSACTIONS ON PROGRAMMING LANGUAGES AND SYSTEMS, 2023, 45 (03):
  • [8] Incorporating Coverage Criteria in Bounded Exhaustive Black Box Test Generation of Structural Inputs
    Aguirre, Nazareno M.
    Bengolea, Valeria S.
    Frias, Marcelo F.
    Galeotti, Juan P.
    TESTS AND PROOFS, TAP 2011, 2011, 6706 : 15 - 32
  • [9] Efficient Generation of Program Execution Hash
    Ahn, Eunyeong
    Kim, Sunjin
    Park, Saerom
    Hou, Jong-Uk
    Jang, Daehee
    IEEE ACCESS, 2022, 10 : 61707 - 61720
  • [10] AN EFFICIENT APPROACH TO PSEUDO-EXHAUSTIVE TEST-GENERATION FOR BIST DESIGN
    CHEN, CIH
    SOBELMAN, GE
    PROCEEDINGS - IEEE INTERNATIONAL CONFERENCE ON COMPUTER DESIGN : VLSI IN COMPUTERS & PROCESSORS, 1989, : 576 - 579