Feedback-directed random test generation

被引:0
|
作者
Pacheco, Carlos [1 ]
Lahiri, Shuvendu K. [2 ]
Ernst, Michael D. [1 ]
Ball, Thomas [2 ]
机构
[1] MIT, CSAIL, Cambridge, MA 02139 USA
[2] Microsoft Res, Bangalore 560001, Karnataka, India
关键词
D O I
暂无
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present a technique that improves random test generation by incorporating feedback obtained from executing test inputs as they are created. Our technique builds inputs incrementally by randomly selecting a method call to apply and finding arguments from among previously-constructed inputs. As soon as an input is built, it is executed and checked against a set of contracts and filters. The result of the execution deter-mines whether the input is redundant, illegal, contract-violating, or useful for generating more inputs. The technique outputs a test suite consisting of unit tests for the classes under test. Passing tests can be used to ensure that code contracts are preserved across program changes; failing tests (that violate one or more contract) point to potential errors that should be corrected. Our experimental results indicate that feedback-directed random test generation can outperform systematic and undirected random test generation, in terms of coverage and error detection. On four small but nontrivial data structures (used previously in the literature), our technique achieves higher or equal block and predicate coverage than model checking (with and without abstraction) and undirected random generation. On 14 large, widely-used libraries (comprising 780KLOC) feedback-directed random test generation finds many previously-unknown errors, not found by either model checking or undirected random generation.
引用
收藏
页码:75 / +
页数:2
相关论文
共 50 条
  • [1] A feedback-directed method of evolutionary test data generation for parallel programs
    Gong, Dunwei
    Pan, Feng
    Tian, Tian
    Yang, Su
    Meng, Fanlin
    [J]. INFORMATION AND SOFTWARE TECHNOLOGY, 2020, 124
  • [2] Feedback-Directed Metamorphic Testing
    Sun, Chang-Ai
    Dai, Hepeng
    Liu, Huai
    Chen, Tsong Yueh
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (01)
  • [3] Feedback-directed specialization of code
    Khan, Minhaj Ahmad
    [J]. COMPUTER LANGUAGES SYSTEMS & STRUCTURES, 2010, 36 (01) : 2 - 15
  • [4] Feedback-Directed Unit Test Generation for C/C plus plus using Concolic Execution
    Garg, Pranav
    Ivancic, Franjo
    Balakrishnan, Gogul
    Maeda, Naoto
    Gupta, Aarti
    [J]. PROCEEDINGS OF THE 35TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE 2013), 2013, : 132 - 141
  • [5] Overcoming the challenges to feedback-directed optimization
    Smith, MD
    [J]. ACM SIGPLAN NOTICES, 2000, 35 (07) : 1 - 11
  • [6] Feedback-Directed Pipeline Parallelism
    Suleman, M. Aater
    Qureshi, Moinuddin K.
    Khubaib
    Patt, Yale N.
    [J]. PACT 2010: PROCEEDINGS OF THE NINETEENTH INTERNATIONAL CONFERENCE ON PARALLEL ARCHITECTURES AND COMPILATION TECHNIQUES, 2010, : 147 - 156
  • [7] Search-Based Software Test Data Generation for Path Coverage Based on a Feedback-Directed Mechanism
    Semujju, Stuart Dereck
    Huang, Han
    Liu, Fangqing
    Xiang, Yi
    Hao, Zhifeng
    [J]. Complex System Modeling and Simulation, 2023, 3 (01): : 12 - 31
  • [8] Automatic Feedback-Directed Object Fusing
    Wimmer, Christian
    Moessenboeck, Hanspeter
    [J]. ACM TRANSACTIONS ON ARCHITECTURE AND CODE OPTIMIZATION, 2010, 7 (02)
  • [9] Aesthno: A feedback-directed optimization evaluation tool
    Berube, Paul
    Amaral, Jose Nelson
    [J]. ISPASS 2006: IEEE INTERNATIONAL SYMPOSIUM ON PERFORMANCE ANALYSIS OF SYSTEMS AND SOFTWARE, 2006, : 251 - +
  • [10] Online feedback-directed optimization of Java']Java
    Arnold, M
    Hind, M
    Ryder, BG
    [J]. ACM SIGPLAN NOTICES, 2002, 37 (11) : 111 - 129