您使用什么工具进行静态代码分析? [关闭]

2024-05-04

这个问题 https://stackoverflow.com/questions/20702/whats-youra-good-limit-for-cyclomatic-complexity on 圈复杂度 http://en.wikipedia.org/wiki/Cyclomatic_complexity让我更多地思考静态代码分析 http://en.wikipedia.org/wiki/Static_code_analysis。分析代码复杂性和一致性有时很有用,我想开始更多地这样做。您推荐哪些工具(每种语言)用于此类分析?维基百科 http://en.wikipedia.org/wiki/List_of_tools_for_static_code_analysis有很多工具,但是人们之前尝试过哪些工具?

Edit:正如大卫指出的那样,这并不是一个完全没有被问到的问题基于 C/UNIX 的工具 https://stackoverflow.com/questions/2873/choosing-a-static-code-analysis-tool.


我一直在为我的 Objective-C iPhone 项目(iOS 应用程序)设置 Hudson 持续集成 (CI) 构建系统,并编译了一系列可用于在构建过程中分析我的项目的工具:

  • Clang 静态分析器:免费、最新的独立工具,比 Xcode 4 附带的 Clang 版本捕获更多问题。活动项目。 - 访问http://clang-analyzer.llvm.org http://clang-analyzer.llvm.org

  • Doxygen:免费文档生成工具,还可以生成类依赖关系图。活跃项目——参观http://www.doxygen.nl http://www.doxygen.nl

  • HFCCA(无头循环复杂度分析器):用于计算代码复杂度的免费 Python 脚本,但没有头文件和预处理器。支持 Hudson/Jenkins 构建的 XML 格式输出。活跃的项目。 - 访问http://code.google.com/p/headerfile-free-cyclomatic-complexity-analyzer http://code.google.com/p/headerfile-free-cyclomatic-complexity-analyzer

  • CLOC(计算代码行数):免费工具,用于计算文件、代码行数、注释和空行数。支持比较,因此您可以看到构建之间的差异。活跃的项目。 - 访问http://cloc.sourceforge.net http://cloc.sourceforge.net

  • SLOC计数(源代码行数计数):一个免费工具,用于计算代码行数并估计与项目相关的成本和时间。看起来并不活跃。 - 访问http://sourceforge.net/projects/sloccount http://sourceforge.net/projects/sloccount and http://www.dwheeler.com/sloccount http://www.dwheeler.com/sloccount

  • 分析工具:免费的代码分析工具,可以测量代码复杂性并生成依赖关系图。不活跃。似乎不适用于 Xcode 4,但我很想让它工作。 - 访问http://www.karppinen.fi/analysistool http://www.karppinen.fi/analysistool

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

您使用什么工具进行静态代码分析? [关闭] 的相关文章

  • 如何删除 Visual Studio 2013 中未使用的函数

    Visual Studio 2013 是否可以显示未使用的功能 删除这些功能的最佳解决方案是什么 锐锐当启用解决方案范围的分析时 可以检测并突出显示死代码 它会报告一些误报 因此仍然需要人工审核 例如 R 仅通过反射不会检测函数何时被使用
  • 将警告视为错误没有任何效果

    在 Visual Studio 的项目设置中 我已将 将警告视为错误 设置为 全部 警告级别设置为 4 我通过故意引入违反 CA1305 的代码来对此进行测试 但它成功构建 并重建 并返回警告 我所期望的是构建会失败并返回一个错误 我的理解
  • PdfStamper正在处理输出流吗? (iTextSharp)

    我正在使用 iTextSharp 通过 C 将页码添加到 PDF 在运行代码分析时MemoryStream因为怀疑输出被多次处理 请参阅 Visual Studio 生成的此警告 这是 API 问题吗 如果第二个参数为PdfStamper被
  • 在 VSTS 中显示代码分析警告

    I ve 设置静态代码分析在我的 Visual Studio Team Services 构建上 我正在为我的解决方案使用 MSBuild 构建步骤 在构建日志中 它显示了 999 多行以 warning 2017 11 09T13 52
  • 如何在C#中处理枚举0(CA1008讨论)

    Rule CA1008指定所有枚举都应该有一个0应该命名的值Unknown 我们不在这里讨论标志 我理解您想要防止未初始化的值自动获得含义的原因 假设我定义以下枚举 enum Gender Male Female class Person
  • 如何从代码分析中排除目录?

    对此有一些疑问 但没有一个能解决我的问题 我使用 SonarQube 对我的一个项目进行代码分析 其中包含一个 Migrations 目录 我想exclude来自代码分析的该目录中的所有源文件 在项目配置 gt 设置 gt 排除 gt 文件
  • xcodebuild 生成空的compile_commands.json

    我正在使用以下命令将 oclint 与 xcode 5 一起使用 步骤1 xcodebuild target OClintDemo configuration Debug scheme OClintDemo sdk iphonesimula
  • C# catch(FileNotFoundException) 和 CA1031

    所以这段代码会触发CA1031 try logic catch FileNotFoundException exception type handle error 虽然这个没有 try logic catch FileNotFoundExc
  • 有没有办法测量重复代码? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一种与语言无关的代码复制工具 找到特定于语言的代码重复工具 适用于 Java C PHP 很
  • F# 中的代码分析

    作为一名 C 开发人员 我从 Microsoft 的代码分析中受益匪浅 然而 在 F 中 代码分析似乎并不是开发周期的一个组成部分 我花了一段时间才在 F 项目上启用 CA 但这博客有帮助 http blog nikosbaxevanis
  • 解析 Roslyn 中的参数类型

    我正在使用 Roslyn 来实现自定义业务规则 目前 我有点卡住了 我必须在调用方法时验证参数的类型 验证该方法正在被调用或包含参数时没有问题 我已经通过使用 GetSymbolInfo 来获取当前语法的符号来解析 IdentifierNa
  • 如何修复 CA2100 Review SQL 查询的安全漏洞问题

    我正在分析我的代码并遇到这个安全问题 CA2100 检查 SQL 查询是否存在安全漏洞 传递到 Add item loadgrid 中的 SqlDataAdapter SqlDataAdapter string SqlConnection
  • 静态 Actionscript 代码分析的可能性

    我想直观地看到类 函数和变量 属性 依赖关系 例如NDepend http www ndepend com Screenshots aspx 但适用于 ActionScript 2 或 AS3 代码 有什么计划或想法吗 Use doxyge
  • 如何分析二进制文件?

    我有一个二进制文件 我不知道它是如何格式化的 我只知道它来自delphi代码 有没有办法分析二进制文件 是否存在任何 模式 来分析和反序列化未知格式文件的二进制内容 试试这些 反序列化数据 分析它是如何编译你的exe的 尝试文件分析器 ht
  • 不要将文字作为本地化参数传递

    在我的项目 Windows Phone 8 1 应用程序 上运行代码分析时 出现以下警告 CA1303 不要将文字作为本地化参数传递 方法 Common TranslateError String 将文字字符串作为调用 XDocument
  • 如何比较相似的代码库?

    我们有几个基于相同代码库构建的 C 项目 它们之间有很多相似之处和共同的代码 但它们是独立开发的 来源未以任何方式共享 即使底层代码没有改变 并且个别行将被调整 更改和替换 类和文件也将被重命名 我希望能够比较不同的代码库并找出有多少代码仍
  • Visual Studio 2013 Ultimate 中 CA1502 的自定义阈值

    这个问题 CA1502 的自定义阈值 https stackoverflow com questions 21678642 custom threshold for ca1502讨论如何在代码分析中为代码指标规则设置自定义阈值 我有同样的问
  • 为什么代码分析不警告 NotImplementedException?

    我非常确定 Visual Studio Code Analysis 的早期版本会警告有关 NotImplementedException 的使用 即包含此异常的任何成员 throw new NotImplementedException 会
  • 如何在 PHP 中进行静态代码分析? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 有没有PHP源文件的静态分析工具 二进制文件本身可以检查语法错误 但我正在寻找功能更多的东西 例如 未使用的变量赋值 未先初始化就分配到的
  • 检索 Haskell 项目中所有导入的列表

    因此 我的最终目标是通过确保项目导入的所有实体都存在于其声称可以使用的版本中 来评估 cabal 文件中依赖项的准确性 一个好的开始是找到单个源文件使用的所有导入实体的列表 可选地包含有关它们来自何处的信息 我愿意暂时忽略类实例的情况 因为

随机推荐

  • Python虚拟环境包安装问题

    我正在构建一个需要 Django 的 Python 项目 我使用 virtualenv 创建了项目目录和虚拟环境 但我无法使用 PIP 安装 django 我必须使用 easy install 才能将其安装到虚拟环境中 注意 我只在 Dja
  • AWS Cloudfront 行为函数不重定向

    尝试找到一种方法将流量从我的 AWS CloudFront 页面重定向到另一个 URL 我目前正在使用 Cloudfront Functions 设置 函数 函数代码 函数名称 exampleFunction function handle
  • MD5 是否保证可与 Android 中的 MessageDigest 一起使用?

    我想知道 MD5 摘要算法是否保证在所有 Android 设备中可用 然后再直率地忽略已检查的异常MessageDigest getInstance MD5 可以扔 我越来越java security NoSuchAlgorithmExce
  • Ubuntu 上的 Docker 无法连接到本地主机,但可以连接到其 IP

    我运行的是 Ubuntu 18 04 uname r 5 3 0 46 generic 我已经安装了docker docker version Docker version 19 03 8 build afacb8b7f0 我有一个简单的
  • 从数据层中删除所有特征

    我用过类似的东西 var map function initialize map new google maps Map document getElementById map canvas zoom 4 center lat 28 lng
  • 如何使用 VBA 在 PowerPoint 中取消形状组合后按类型重新组合形状

    继我的出色回答之后上一个问题 https stackoverflow com questions 74339247 how to rename shapes within grouped groups in powerpoint with
  • 如何在两个不同的视图控制器之间传递信息?

    这是一个简单的问题 我有 2 个不同的视图控制器 每个视图控制器都有自己的数据存储在其 m 文件中 我想取一个值 例如 一个整数值 int i 3 在 ViewController 1 中声明并将其传递给 ViewController 2
  • 如何使用 BeautifulSoup4 获取
    标记之前的所有文本

    我正在尝试为我的应用程序抓取一些数据 我的问题是我需要一些 HTML 代码如下 tr td This a class tip info href blablablablabla is a first a sentence br This a
  • pandas 从日期时间转换为整数时间戳

    考虑 python 中的 pandas 数据框有一个名为time整数类型 我可以将其转换为datetime按照以下说明进行格式化 df time pandas to datetime df time unit s 所以现在该列有如下条目 2
  • Linq:将扁平结构转换为分层结构

    转换平面结构最简单且有效的方法是什么 object rawData new object A1 B1 C1 A1 B1 C2 A2 B2 C3 A2 B2 C4 more 变成层次结构 class X public X Cs new Lis
  • lambda 函数的代码覆盖率

    我有以下带有 lambda 函数的代码 obj method param gt code here 如何通过测试覆盖 lambda 函数中的代码 您可以使用反射 但这可能容易出错并且适得其反 我建议你调用使用 lambda 的方法
  • 在 Windows 窗体应用程序中捕获 MonthCalendar 控件的双击

    如何捕获 System Windows Forms MonthCalendar 控件的双击事件 我尝试过使用 MouseDown 的 MouseEventArgs Clicks 属性 但它始终为 1 即使我双击也是如此 请注意 MonthC
  • 从后台弹出时片段的 onResume() 不会被调用

    您好 我正在开发 Android 应用程序 我正在使用它 我正在使用单个Activity和3个碎片 所以考虑我有 3 个片段 A B C 当我从 A 切换到 B 时 我添加Fragment现在 当我从 C 单击返回时 它会显示 B 并且 B
  • HTML5 应用程序缓存与浏览器缓存

    当前浏览器中实现了 applicationCache 我的应用程序缓存清单文件更改版本号 然后触发 applicationCache 更新事件 强制浏览器从服务器下载清单文件中提到的新资源 假设我已经在这些资源上配置了远期到期标头 这些文件
  • 通过 facebook api 在 facebook feed 中发布 swf

    我正在使用下面的数组 feeddata array type gt flash method gt stream publish display gt iframe link gt https developers facebook com
  • 最近点对算法

    我目前正在致力于用 C 实现最接近的点对算法 也就是说 给定一个点列表 x y 找到具有最小欧氏距离的点对 我对此进行了研究 我对算法的理解如下 如果我错了 请纠正我 将点数组从中间拆分 递归地找到左半部分和右半部分距离最小的点对 按 y
  • 相机姿态估计(OpenCV PnP)

    我正在尝试使用网络摄像头从具有已知全球位置的四个基准点的图像中获取全局姿态估计 我检查了许多 stackexchange 问题和一些论文 但似乎无法得到正确的解决方案 我得到的位置数字是可重复的 但与相机移动绝不成线性比例 仅供参考 我正在
  • 如何隐藏数据透视项标题?

    我希望有一个具有 PivotItems 但没有横向数据透视项标题文本的数据透视控件 它是横向模式下的画廊 当恢复为纵向时 它应该再次显示 PivotItems 标题 解决办法就是制作文字PivotItem Header 不好 因为标题文本占
  • 使用CSS按比例调整图像大小? [复制]

    这个问题在这里已经有答案了 有没有办法仅使用 CSS 按比例调整 缩小 图像大小 我正在使用 JavaScript 方式 但只是想看看这是否可以用 CSS 实现 要使用 CSS 按比例调整图像大小 img resize width 540p
  • 您使用什么工具进行静态代码分析? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 这个问题 https stackoverflow com questions 20702 whats youra good limit for