I need a static analysis tool for the Linux Device Drivers I write for ARM based boards. I am considering few tools as mentioned below:
- Sparse is a computer software tool, already available on Linux, designed to find possible coding faults in the Linux kernel.
There are two active projects of Linux Verification Center aimed to improve quality of the loadable kernel modules.
Linux Driver Verification
(LDV) - a comprehensive toolset for static source code verification of Linux device drivers.KEDR Framework
- an extensible framework for dynamic analysis and verification of kernel modules.- Another ongoing project is
Linux File System Verification
that aims to develop a dedicated toolset for verification of Linux file system implementations.
- Enable
-Werror
,-Wextra
and-Wall
onGCC
, and run withValgrind
.
Last time I played with Sparse I found the outputs to be confusing and did not find a good documentation to interpret the output. Does anyone has a good documentation on Sparse tool? What are the other Free static analysis tools I can use for my Linux driver verification? I know about LINT tool but its licensed.