# 第四部分：语义模糊

> 原文： [https://www.fuzzingbook.org/html/04_Semantical_Fuzzing.html](https://www.fuzzingbook.org/html/04_Semantical_Fuzzing.html)

本部分介绍了测试生成技术，这些技术考虑了输入的*语义*，尤其是处理输入的程序的行为。

*   [语法挖掘](GrammarMiner.html)显示了如何通过分析如何处理输入的各个部分来从程序中提取输入语法。 生成的语法可以直接用于模糊测试。

*   [跟踪信息流](InformationFlow.html)显示了如何跟踪整个程序的输入，以便发现信息泄漏并进一步改进分析技术。

*   [Concolic Fuzzing](ConcolicFuzzer.html) 分析程序代码以解决程序中的*路径约束*，以覆盖难以实现的分支和行为。

*   [符号模糊检测](SymbolicFuzzer.html)的工作方式类似于圆锥模糊检测，但根本不需要执行任何操作。

*   [挖掘功能规范](DynamicInvariants.html)从程序执行中提取类型信息以及前提条件和后置条件–对程序分析，测试和验证有用的信息。