Can point out code defects and suspicious code fragments
AdLint can warn about the possibility of bugs by human-readable messages.
AdLint 3.2.14 supports 720 kinds of warning messages.
For more details, see 6 Message list of the User's Guide.
Can measure various code quality metrics
AdLint can measure quality metrics of the source code. (e.g. Cyclomatic complexity of the function, The number of estimated execution paths per function, The number of useless variables)
AdLint 3.2.14 supports 15 kinds of quality metrics.
For more details, see 7 Metrics list of the User's Guide.
Can extract code structure information
AdLint can extract the summary information of source code structures. (e.g. Module dependency of function-calls and variable-accesses, Definition of variables and functions)
AdLint 3.2.14 supports 14 kinds of code structure extractions.
For more details, see 8 Code structure list of the User's Guide.
Have the Abstract Interpreter which can evaluate all execution paths
By the Abstract Interpreter, AdLint can automate code checking which is similar to a code-review by developers.
The Abstract Interpreter of AdLint can evaluate all possible execution paths except for deadcodes at a time.
Can output the result into text files whose format are quite open
AdLint can output the analysis result into ordinary text files. And the format specification is quite open.
So, you can develop your own tools which inputs the analysis result of AdLint.
For more details, please refer to 5 Output specification of the User's Guide.
And you can integrate AdLint into various development tools and CI(Continuous Integration) tools because the command interface of the AdLint analyzers are similar to standard build tools.
Enhancing free open source software
AdLint will be enhanced by your feedbacks and contributions.