Java有一些非常好的开源静态分析工具,如FindBugs、Checkstyle和PMD。这些工具易于使用,非常有用,可以在多个操作系统上运行,而且是免费的。
商业c++静态分析产品是可用的。虽然拥有这样的产品很棒,但对于学生来说,成本太高了,而且通常很难得到试用版。
另一种选择是找到可以在多个平台(Windows和Unix)上运行的开源c++静态分析工具。通过使用开源工具,可以对其进行修改以适应特定的需求。找到这些工具并非易事。
下面是其他人发现或建议的c++静态分析工具的简短列表。
c++检查http://sf.net/projects/cppcheck/
呼噜声http://danielwilkerson.com/oink/index.html
C和c++代码计数器http://sourceforge.net/projects/cccc/
夹板(来自答案)
Mozilla的猪肉(来自答案)(这现在是Oink的一部分)
Mozilla的Dehydra(来自答案)
使用选项- weffc++ for GNU g++(来自答案)
还有哪些大家都知道并可以推荐的可移植的开源c++静态分析工具?
一些相关链接。
http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis
http://www.chris-lott.org/resources/cmetrics/
根据一组编码标准检查C/ c++源代码的免费工具?
http://spinroot.com/static/
选择静态代码分析工具
我们一直在开发一个名为metriculator的Eclipse CDT插件。它仍在开发中,但一些主要的度量(例如LSLOC, McCabe, EfferentCoupling)已经实现。
更多细节,如视频演示和文档,请访问http://sinv-56013.edu.hsr.ch/redmine/projects/metricular/wiki/Documentation。
最新的夜间构建可通过更新站点安装:http://sinv-56013.edu.hsr.ch/metriculator/updatesite-nightly/site/
进一步的描述
Metriculator静态分析c++源代码并生成软件度量。度量实现如下
Codan跳棋。分析结果可以在单独的视图中查看。每一个
Metric具有可配置的属性(例如,“每个代码最多行数”的阈值
函数”)。超过这些阈值将报告一个问题并创建一个标记
在源代码编辑器中。
使用计量仪,您可以:
分析c++文件/文件夹/项目
使用Codans首选项页面定义度量阈值和启用/禁用度量
在源代码编辑器中有问题标记吗
探索度量结果
将度量结果导出为标记云(可通过更新站点作为可选特性提供)
目前metriculator附带以下指标:
麦凯布(圈复杂度)
每个类型的传出耦合
逻辑源代码行
每种类型的成员数量
每个函数的参数个数
我们一直在开发一个名为metriculator的Eclipse CDT插件。它仍在开发中,但一些主要的度量(例如LSLOC, McCabe, EfferentCoupling)已经实现。
更多细节,如视频演示和文档,请访问http://sinv-56013.edu.hsr.ch/redmine/projects/metricular/wiki/Documentation。
最新的夜间构建可通过更新站点安装:http://sinv-56013.edu.hsr.ch/metriculator/updatesite-nightly/site/
进一步的描述
Metriculator静态分析c++源代码并生成软件度量。度量实现如下
Codan跳棋。分析结果可以在单独的视图中查看。每一个
Metric具有可配置的属性(例如,“每个代码最多行数”的阈值
函数”)。超过这些阈值将报告一个问题并创建一个标记
在源代码编辑器中。
使用计量仪,您可以:
分析c++文件/文件夹/项目
使用Codans首选项页面定义度量阈值和启用/禁用度量
在源代码编辑器中有问题标记吗
探索度量结果
将度量结果导出为标记云(可通过更新站点作为可选特性提供)
目前metriculator附带以下指标:
麦凯布(圈复杂度)
每个类型的传出耦合
逻辑源代码行
每种类型的成员数量
每个函数的参数个数