Every novel technology adds hidden vulnerabilities ready to be exploited by a growing number of cyber-attacks. Automated software testing can be a promising solution to quickly analyze thousands of lines of code by generating and slightly modifying function-specific testing data to encounter a multitude of vulnerabilities and attack vectors. This process draws similarities to the constrained adversarial examples generated by adversarial learning methods, so there could be significant benefits to the integration of these methods in automated testing tools. Therefore, this systematic review is focused on the current state-of-the-art of constrained data generation methods applied for adversarial learning and software testing, aiming to guide researchers and developers to enhance testing tools with adversarial learning methods and improve the resilience and robustness of their digital systems. The found constrained data generation applications for adversarial machine learning were systematized, and the advantages and limitations of approaches specific for software testing were thoroughly analyzed, identifying research gaps and opportunities to improve testing tools with adversarial attack methods.
翻译:每种新兴技术都会引入隐藏的漏洞,容易遭受日益增多的网络攻击利用。自动化软件测试通过生成并微调特定功能的测试数据,能够快速分析数千行代码,发现多种漏洞和攻击向量,因此是一种有前景的解决方案。这一过程与对抗性学习方法生成的受限对抗样本具有相似性,因此将这些方法集成到自动化测试工具中可能带来显著优势。基于此,本系统综述聚焦于当前应用于对抗性学习和软件测试中的受限数据生成方法的最新进展,旨在引导研究人员和开发者利用对抗性学习方法增强测试工具,提升其数字系统的韧性和鲁棒性。我们对对抗性机器学习中受限数据生成的应用进行了系统化梳理,并深入分析了特定于软件测试的方法的优势与局限,识别了利用对抗性攻击方法改进测试工具的研究空白与机遇。