Fuzzing is one of the fastest growing fields in software testing. The idea behind fuzzing is to check the behavior of software against a large number of randomly generated inputs, trying to cover all interesting parts of the input space, while observing the tested software for anomalous behaviour. One of the biggest challenges facing fuzzer users is how to validate software behavior, and how to improve the quality of oracles used. While mutation analysis is the premier technique for evaluating the quality of software test oracles, mutation score is rarely used as a metric for evaluating fuzzer quality. Unless mutation analysis researchers can solve multiple problems that make applying mutation analysis to fuzzing challenging, mutation analysis may be permanently sidelined in one of the most important areas of testing and security research. This paper attempts to understand the main challenges in applying mutation analysis for evaluating fuzzers, so that researchers can focus on solving these challenges.
翻译:模糊是软件测试中增长最快的领域之一。 模糊背后的理念是对照大量随机生成的投入来检查软件的行为,试图覆盖输入空间的所有有趣部分,同时观察测试过的异常行为软件。 模糊用户面临的最大挑战之一是如何验证软件行为,以及如何提高所用触手法的质量。 突变分析是评估软件测试或触手法质量的首要技术,但突变分很少被用作评估模糊质量的衡量标准。 除非突变分析研究人员能够解决使变异分析应用于模糊具有挑战性的多重问题,否则突变分析可能永远被置于测试和安全研究的最重要领域之一。本文试图了解应用突变分析来评估模糊器的主要挑战,以便研究人员能够集中精力应对这些挑战。