【问题标题】:Analysing and generating statistics on your code分析和生成代码统计信息
【发布时间】:2009-10-16 22:54:37
【问题描述】:

我想知道是否有人对生成有关您的源代码的一般统计数据有任何想法或程序。

我想知道我的项目代码中有多少函数被调用一次或很少次,或者任何类只被实例化一次。

我敢肯定还有很多其他有趣的事情有待发现。

我可以使用 grep 魔法做类似上述的事情,但有人遇到过工具或提示吗?

【问题讨论】:

  • 工具通常与语言无关。
  • 尤其是像这样计算语言结构的工具。
  • 我从未提及特定的语言。任何语言的任何输入都表示赞赏。

标签: code-metrics


【解决方案1】:

Coverity 是我首先想到的。它目前提供(在他们的products 之一上)

  • 软件 DNA Map™ 分析系统:生成整个构建系统的全面表示,包括对每一行代码的语义正确解析。
  • 缺陷管理器:直观的界面使您可以轻松地建立缺陷的所有权并通过反映您现有开发过程的自定义工作流程解决它们。
  • 本地分析:允许在开发人员的桌面上本地分析代码,以确保质量,然后再与其他开发人员共享。
  • 布尔可满足性:将代码转换为基于布尔值的问题,然后应用 SAT 求解器进行最准确的缺陷检测和最低的误报率。只有 Prevent 提供这种专有方法的附加精度。
  • 竞态条件检查器:具有业界首创的竞态条件检查器,专为当今复杂的多线程应用程序而构建。
  • 路径模拟:模拟 100% 的所有值和数据路径,以检测最关键的缺陷。
  • 统计和过程间分析:通过根据之前观察到的行为推断正确的行为并执行类似于执行 Bin 的整个程序分析,确保对整个构建系统进行全面分析。
  • False Path Pruning:有效去除误报,以提供约 15% 的平均 FP 率,部分用户报告 FP 率低至 5%。
  • 增量分析:完全或增量分析源代码,通过仅检查受更改影响的组件来节省时间。
  • 报告:通过可自定义的报告衡量软件质量随时间变化的趋势,以便您可以显示按检查器、分类、组件和其他缺陷信息分组的缺陷。

【讨论】:

    【解决方案2】:

    有很多工具可以做到这一点。但是 afaik 它们都不是独立于语言的(这反过来又几乎是不可能的,例如某些语言甚至可能没有功能)。

    通常您会在“代码覆盖工具”或“分析器”类别下找到这些工具。

    对于 .Net,您可以使用 Visual Studio 或 Clrprofiler。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 2019-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-25
      相关资源
      最近更新 更多