业界通用代码检查工具(针对C语言)

业界通用代码检查工具,介绍如下。

Valgrind :功能很多,常用于检查内存泄漏,包含几个常见工具如下。
memcheck --> 这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。
callgrind --> 它主要用来检查程序中函数调用过程中出现的问题。
cachegrind --> 它主要用来检查程序中缓存使用出现的问题。
helgrind --> 它主要用来检查多线程程序中出现的竞争问题。
massif --> 它主要用来检查程序中堆栈使用中出现的问题。
extension --> 可以利用core提供的功能,自己编写特定的内存调试工具

PCLint :是GIMPEL SOFTWARE公司开发的C/C++软件代码静态分析工具,它的全称是PC-Lint/FlexeLint for C/C++ 。PC-Lint不仅能够对程序进行全局分析,识别没有被适当检验的数组下标,报告未被初始化的变量,警告使用空指针以及冗余的代码,还能够有效地帮你提出许多程序在空间利用、运行效率上的改进点。

Coverity: Coverity公司提供用于检测软件缺陷和安全隐患的静态源代码分析解决方案,在内存操作、无效代码等方面有突出表现。

Klocwork: 软件是Klocwork公司基于专利技术分析引擎开发的,它通过静态分析的方法,自动检测代码内存泄漏、空指针引用、缓冲区溢出、数组越界等运行错误。

Fortify: Fortify Source Code Analyzer ,Fortify SCA 是一组软件安全分析器,能够在多种编程语言范围中搜索那些违背安全方面的代码规则和指导标准的问题,Fortify更偏重于代码安全性检查。

Fossid : 开源代码扫描,可以帮助全面、准确、高效的发现和避免开源风险,安全、合规的使用开源软件。

Simian : (Similarity Analyser) 是一种用来分析文件内容重复率的工具(计算重复代码行),它可以支持 Java, C#, C, C++, COBOL, Ruby, JSP, ASP, HTML, XML, Visual Basic, Groovy等语言,甚至纯文本中的重复率也可以分析。

Sourcemonitor ;一个用来静态分析代码的开源小工具,它能够返回代码的复杂性度量值,例如圈复杂度,函数深度。

发布了102 篇原创文章 · 获赞 17 · 访问量 11万+

猜你喜欢

转载自blog.csdn.net/jin615567975/article/details/88577284
今日推荐