模糊测试
随机测试
计算机科学
白盒测试
启发式
正交试验
概率逻辑
压力测试(软件)
代码覆盖率
程序设计语言
测试用例
软件
机器学习
人工智能
软件系统
软件建设
回归分析
操作系统
标识
DOI:10.1145/1292414.1292416
摘要
Fuzz testing is an effective technique for finding security vulnerabilities in software. Fuzz testing is a form of blackbox random testing which randomly mutates well-formed inputs and tests the program on the resulting data. In some cases, grammars are used to randomly generate the well-formed inputs. This also allows the tester to encode application-specific knowledge (such as corner cases of particular interest) as part of the grammar, and to specify test heuristics by assigning probabilistic weights to production rules. Although fuzz testing can be remarkably effective, the limitations of blackbox random testing are well-known. For instance, the then branch of the conditional statement "if (x==10) then" has only one in 232 chances of being exercised if x is a randomly chosen 32-bit input value. This intuitively explains why random testing usually provides low code coverage.
科研通智能强力驱动
Strongly Powered by AbleSci AI