我需要一个针对基于ARM的主板编写的Linux设备驱动程序的静态分析工具。我正在考虑下面提到的一些工具:
Linux Verification Center有两个活跃项目旨在提高可加载内核模块的质量。
Linux Driver Verification
(LDV) - 用于Linux设备驱动程序的静态源代码验证的综合工具集。KEDR Framework
- 用于动态分析和验证内核模块的可扩展框架。Linux File System Verification
,旨在开发用于验证Linux文件系统实施的专用工具集。-Werror
上启用-Wextra
,-Wall
和GCC
,然后使用Valgrind
运行。上次我玩Sparse时发现输出很混乱,没有找到解释输出的好文档。有没有人有关于稀疏工具的好文档?我可以用于Linux驱动程序验证的其他免费静态分析工具是什么?我知道LINT工具,但它的许可。
答案 0 :(得分:4)
Smatch是用于内核的C的静态分析工具。它已经产生了数百个补丁。相当多的安全相关或者对于稳定的内核而言非常重要。
答案 1 :(得分:3)
如果你想写自己的规则,Coccinelle可能是合适的。如果要使用其他人编写的规则,可以使用集成到内核中的各种工具。检查第4.2节:文档/开发过程的代码检查工具/ 4.编写一些建议。