Although machine learning (ML) has been successful in automating various software engineering needs, software testing still remains a highly challenging topic. In this paper, we aim to improve the generative testing of software by directly augmenting the random number generator (RNG) with a deep reinforcement learning (RL) agent using an efficient, automatically extractable state representation of the software under test. Using the Cosmos SDK as the testbed, we show that the proposed DeepRNG framework provides a statistically significant improvement to the testing of the highly complex software library with over 350,000 lines of code. The source code of the DeepRNG framework is publicly available online.
翻译:虽然机器学习(ML)成功地使各种软件工程需求自动化,但软件测试仍然是一个极具挑战性的主题,在本文中,我们的目标是通过使用一个高效、可自动提取的测试软件表现器,直接增加随机数字生成器(RNG)和深强化学习(RL)代理器,直接增加随机数字生成器(RNG),从而改进软件的基因测试。我们用宇宙SDK作为测试台,我们表明提议的DeepRNG框架为具有350 000多行代码的高度复杂的软件图书馆的测试提供了具有统计意义的重大改进。DeepRNG框架的源码可以在线公开查阅。