Quickly Generating Diverse Valid Test Inputs with Reinforcement Learning ICSE 2020
Quickly Generating Diverse Valid Test Inputs with Reinforcement Learning ICSE 2020
复制标题
使用强化学习快速生成多样化的有效测试输入 ICSE 2020
DOI:
10.1145/3380399
复制
发表时间:
2020
期刊:
影响因子:
--
通讯作者:
Sameer Reddy, Caroline Lemieux
中科院分区:
文献类型:
--
作者:
Sameer Reddy, Caroline Lemieux
Property-based testing is a popular approach for validating the logic of a program. An effective property-based test quickly generates many diverse valid test inputs and runs them through a parameterized test driver. However, when the test driver requires strict validity constraints on the inputs, completely random input generation fails to generate enough valid inputs. Existing approaches to solving this problem rely on whitebox or greybox information collected by instrumenting the input generator and/or test driver. However, collecting such information reduces the speed at which tests can be executed. In this paper, we propose and study a black-box approach for generating valid test inputs. We first formalize the problem of guiding random input generators towards producing a diverse set of valid inputs. This formalization highlights the role of aguidewhich governs the space of choices within a random input generator. We then propose a solution based on reinforcement learning (RL), using a tabular, on-policy RL approach to guide the generator. We evaluate this approach,RLCheck,against pure random input generation as well as a state-of-the-art greybox evolutionary algorithm, on four real-world benchmarks. We find that in the same time budget,RLCheckgenerates an order of magnitude more diverse valid inputs than the baselines.