Commit 63c1d251 authored by Yanteng Si's avatar Yanteng Si Committed by Jonathan Corbet

Docs/zh_CN: Update the translation of testing-overview to 5.19-rc8

Update to commit 12379401 ("Documentation: dev-tools:
Add a section for static analysis tools")
Signed-off-by: default avatarYanteng Si <siyanteng@loongson.cn>
Reviewed-by: default avatarAlex Shi <alexs@kernel.org>
Link: https://lore.kernel.org/r/b9911916446f858fe95e4d4bfeaecdab14bc0b6a.1658983157.git.siyanteng@loongson.cnSigned-off-by: default avatarJonathan Corbet <corbet@lwn.net>
parent 6a5057e9
......@@ -107,3 +107,28 @@ Documentation/dev-tools/kcov.rst 是能够构建在内核之中,用于在每
之后你就能确保这些错误在测试过程中都不会发生了。
一些工具与KUnit和kselftest集成,并且在检测到问题时会自动打断测试。
静态分析工具
============
除了测试运行中的内核,我们还可以使用**静态分析**工具直接分析内核的源代
码(**在编译时**)。内核中常用的工具允许人们检查整个源代码树或其中的特
定文件。它们使得在开发过程中更容易发现和修复问题。
Sparse可以通过执行类型检查、锁检查、值范围检查来帮助测试内核,此外还
可以在检查代码时报告各种错误和警告。关于如何使用它的细节,请参阅
Documentation/translations/zh_CN/dev-tools/sparse.rst。
Smatch扩展了Sparse,并提供了对编程逻辑错误的额外检查,如开关语句中
缺少断点,错误检查中未使用的返回值,忘记在错误路径的返回中设置错误代
码等。Smatch也有针对更严重问题的测试,如整数溢出、空指针解除引用和内
存泄漏。见项目页面http://smatch.sourceforge.net/。
Coccinelle是我们可以使用的另一个静态分析器。Coccinelle经常被用来
帮助源代码的重构和并行演化,但它也可以帮助避免常见代码模式中出现的某
些错误。可用的测试类型包括API测试、内核迭代器的正确使用测试、自由操
作的合理性检查、锁定行为的分析,以及已知的有助于保持内核使用一致性的
进一步测试。详情请见Documentation/dev-tools/coccinelle.rst。
不过要注意的是,静态分析工具存在**假阳性**的问题。在试图修复错误和警
告之前,需要仔细评估它们。
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment