用于自动化软件测试的 generative 神经网络框架
软件工程
2020-07-01 v1 机器学习
摘要
基于搜索的软件测试(SBST)是一种流行的自动化测试技术,它使用反馈机制来搜索软件中的故障。尽管流行,它在反馈的设计、构建和解释方面存在根本性挑战。近年来,神经网络(NN)在广泛任务中极为流行。我们相信它们能解决常见 SBST 方法固有的许多问题。不幸的是,NN 需要大量且具有代表性的训练数据集。在这项工作中,我们提出了一个基于反卷积生成神经网络的 SBST 框架。它不仅保留了使 NN 适用于 SBST 任务的优良特性,还生成自身的训练数据,从而规避了获取训练数据集这一限制 NN 使用的问题。我们通过一系列实验证明该架构是可行且实用的。它生成多样化、合理的程序输入,同时探索程序行为空间。它还在程序行为上创建有意义的排序,并能找到导致崩溃的执行。这一切均无需任何关于程序的先验知识。我们相信这一概念验证为 SBST 与神经网络交叉领域的未来工作开辟了新方向。
引用
@article{arxiv.2006.16335,
title = {A Generative Neural Network Framework for Automated Software Testing},
author = {Leonid Joffe and David J. Clark},
journal= {arXiv preprint arXiv:2006.16335},
year = {2020}
}