2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Coverity:开源代码比商业代码缺陷少

  • 2012-03-12
  • 本文字数:911 字

    阅读完需:约 3 分钟

Coverity 的一项调查发现,在代码量相当的情况下,使用了 static analysis 的开源代码通常比商业私有代码的缺陷少。

Coverity Scan 是一个关注开源代码完整性的公私合营的研究项目,于 2006 年由美国国土安全部(U.S. Department of Homeland Security)发起并与斯坦福(Stanford)大学合办。在过去的五年中,Coverity Scan 采用 Coverity 公司的 static analysis 工具评估和改进了 300 多个开源项目的代码质量。比如在 2006 年,此工具就帮助开源代码修复了 6000 多个 Bug。

近期发布的 2011 Scan 报告(PDF)显示,开源项目的缺陷通常比商业私有项目少。该报告分析了 2011 年期间最活跃的前 45 个开源项目的代码,总共 37,000,000 多行代码,并且只有影响级别为中或高的缺陷参与采样分析。调研数据不涉及 QA 测试或后续发布过程中发现的缺陷。参与 Coverity Scan 计划的所有项目的代码都经过 Coverity Static Analysis 的测试和分析。

参与分析的开源项目的代码行数大部分在 100k-500k 行之间,只有 2 个项目超过了 7M 行,总代码量为 37,446,469 行,平均每个项目约 832,000 行。开源项目的缺陷率为每千行代码 0.45 个缺陷,而对于那些没有采用自动测试工具比如 static analysis 的公司,行业平均值大约是每千行代码 1 个缺陷。

Coverity Scan 覆盖了 14 种缺陷,开源代码中位列前五的缺陷是:

缺陷 数量 影响 控制流问题

3,128

空指针异常

2,818

未初始化的变量

2,051

内存越界

1,551

错误处理方面的问题

1,535

调查同时覆盖了 41 个使用了 static analysis 的商业私有项目。这些项目规模各异,也来自不同领域,总共超过 300M 行代码,平均每个项目代码量约有 7.4M 行。结果显示,在项目规模相当的情况下,开源代码的质量与私有的持平。例如,Linux 2.6 代码大约有 7M 行,缺陷密度为 0.62,私有代码则大约为 0.64。通常 Linux 的缺陷密度比较低,但其代码量在 2011 年从 5.3M 增至 6.8M。作为参考,PHP 5.3 和 PostgreSQL 9.1 的缺陷密度值则为每千行代码 0.2 和 0.21 个缺陷。

综合上述,此次调查清晰地表明,采用自动测试,包括 static analysis,能够很好地减少代码缺陷的数量。

查看英文原文: Coverity: Open Source Code Has Fewer Defects than Commercial One

2012-03-12 06:473303
用户头像

发布了 114 篇内容, 共 38.9 次阅读, 收获喜欢 2 次。

关注

评论

发布
暂无评论
发现更多内容

专访天谋科技谭新宇:我与 IoTDB 的这些年

Apache IoTDB

你认为未来十年内科技发展的最大趋势是什么?

算法的秘密

如何在 Parallels Desktop for Mac 中备份、恢复或转移 Windows 虚拟机

Rose

虚拟机 Windows系统 Parallels Desktop教程 备份、恢复或转移

microsoft office ltsc 2021最新永久密钥分享 Mac/win

Rose

office2021 Mac破解版 office2021密钥 office ltsc 2021中文版

如何正确定义性能瓶颈

老张

性能优化 性能测试 性能基线

LLM 推理优化探微 (3) :如何有效控制 KV 缓存的内存占用,优化推理速度?

Baihai IDP

程序员 AI LLM 白海科技 大模型推理

使用 Amazon Bedrock 上的 Claude 3 将架构图转换为 CDK/Terraform 代码

亚马逊云科技 (Amazon Web Services)

生成式人工智能

构建大模型争分夺秒?快用天翼云并行文件服务HPFS“加速包”!

编程猫

Simplemind pro mac破解版 思维导图

Rose

思维导图 SimpleMind Pro下载 SimpleMind Pro破解版

Photoshop 2024 透视变形功能介绍

Rose

Photoshop 2024直装版 透视变形 ps2024教程

CleanMyMac X v4.15.1 最新破解版下载 Macos系统 最佳清理工具

Rose

CleanMyMac X中文版 CleanMyMac X破解版 Mac系统清理 苹果电脑系统优化

AI微调营 毕业总结

Ksnshejn

祝贺天谋科技解决方案专家 Christofer Dutz 连任 Apache 软件基金会董事

Apache IoTDB

9. 跨境电商入门思考

Joy

OpenSearch 与 Elasticsearch:哪个开源搜索引擎适合您?

极限实验室

搜索引擎 elasticsearch opensearch service

汉化版数据库 Navicat for SQL Server mac永久使用

Rose

数据库 SQL Server Navicat 数据库下载

dynamic wallpaper怎么设置动态屏保?dynamic wallpaper破解下载

Rose

Dynamic Wallpaper下载 Mac壁纸app 动态屏保

团队管理者应该参与编程吗?

刘华Kenneth

编程 管理

数据库中 SQL Hint 是什么?

LakeShen

数据库 sql

免费的ai一键生成ppt工具有哪些?这10款AI软件超好用!

彭宏豪95

人工智能 效率工具 PPT AIGC AI生成PPT

Java ArrayList 与 LinkedList 的灵活选择

小万哥

Java 程序人生 编程语言 软件工程 后端开发

ToothFairy for Mac:一键链接蓝牙功能

Rose

蓝牙 蓝牙智能设备 ToothFairy

Capture One Pro 23 飞思 最新中文版 摄影调色软件

Rose

Capture One Pro 23 飞思 摄影调色软件 摄影后期

After Effects 2023中文版下载 及 ae2023介绍

Rose

adobe After Effects 2023下载 AE2023中文直装版

Coverity:开源代码比商业代码缺陷少_软件工程_Abel Avram_InfoQ精选文章