Coverity 扫描报告首次发现开源软件质量超过专有软件
创始人
2024-03-01 12:43:19
0

Coverity开启了免费开发测试服务,允许任何对开源软件质量感兴趣的人查看项目

来自美国山景城(加州)的消息:Coverity公司(新思科技公司的一个子公司)发布了2013年Coverity扫描开源软件报告。

经过Coverity扫描服务以及按照Coverity开发测试平台的商业惯例,报告中详细分析了关于7.5亿行开源软件代码的分析,这是至今报告研究的最大的样本量。

在2013年Coverity扫描报告中,他们分析了超过700个C/C++开源项目和一个匿名的企业项目的样本。另外,报告中还强调了几个流行的开源Java项目的分析结果,这些项目从2013年3月就加入了扫描服务。

Coverity扫描开源项目报告成为了一个被广泛接受的衡量开放源代码质量状态的标准。在过去8年时间里,Coverity扫描服务分析了超过1500个开源项目的数亿行代码——其中包括的C/C++项目中有NetBSD, FreeBSD,LibreOffice和Linux等,Java项目中有Apache Hadoop,HBase以及Cassandra等。

自2006年已来,扫描服务帮助开发者发现和修复了超过94,000缺陷。仅在2013年一年就修复了近50,000个缺陷——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中,其中有超过11,000的缺陷修复出现在扫描服务中的四个最大的项目:NetBSD,FreeBSD,LibreOffice和Linux。

2013年报告中重要发现包括:

C/C++项目中开源软件代码质量超过专有软件

缺陷密度(每1,000行软件代码所含的缺陷)是一个通用的测量软件质量的方法,缺陷密度1.0被认为是高质量软件的公认的行业标准。

Coverity的分析中发现,扫描服务中的开源的C/C++项目的平均缺陷密度为 0.59,而为企业项目开发的专有C/C++代码的缺陷密度为 0.72。在2013年,在所有不同大小的代码库中,扫描服务中的开源项目的代码质量超过专有项目,这进一步强调了开源社区开发测试的坚定的承诺。

Linux继续成为开源质量的基准

通过利用扫描服务,Linux将修复一个新发现的缺陷的时间从122天减少到仅6天!从2008年第一个Coverity扫描报告发布后,扫描过的Linux版本的缺陷密度一直小于1.0。在2013年,Coverity扫描了超过850万行Linux代码并发现缺陷密度为 0.61。

C/C++开发者修复了更多的高风险缺陷

Coverity分析报告发现贡献于开源Java项目的开发者修复的高风险缺陷的数量没有贡献于开源C/C++项目的开发者修复的多。

参加扫描服务的Java项目开发者只修复了13%的被指出的资源泄露,而C/C++项目开发者则修复了46%。这一方面可能是因为Java编程社区错误的安全感的原因,这种安全感是因为内建于语言的保护,比如垃圾收集。然而,垃圾收集是不可预测的,而且不能访问系统资源,所以这些项目处于危险之中。

HBase是Java项目的基准

Coverity分析了100个开源Java项目的超过800万行代码,包括流行的大数据项目Apache Hadoop 2.3 (320,000 行代码)和Apache Cassandra (345,000 行代码)。

自从在2013年8月加入扫描服务以来,Apache HBase (Hadoop的数据库)修复了超过220个缺陷,其中包括比其他参加扫描服务Java项目更高比例的资源泄露(HBase的缺陷中资源泄露占的比例为66%,而其他项目平均为13%)。

“如果说软件正在吞食世界,那么开源软件则是带头冲锋,”Coverity的产品高级总监Zack Samocha说,“我们的目标,包括Coverity扫描服务在内是帮助开源软件社区创作高质量的软件。基于这个报告的结果——以及这个日益流行的服务——使用开发测试的开源软件项目继续提升他们软件的质量,这让他们使整个行业更上一层楼。”

Coverity今天也宣布已经开放了Coverity扫描服务,允许任何对开源软件感兴趣的人查看参与项目的进展。个人现在可以成为项目观察者,这使他们可以跟踪扫描服务中相关开源软件的状态,查看高级数据包括未解决和已修复的缺陷的数目以及缺陷密度。

“我们看到了请求扫描服务的人数的指数增长,他们仅仅是要监控被发现和被修复的缺陷。在许多情况下,这些人工作于大型的企业组织,那些企业组织在商业项目中使用开源软件,”Samocha补充说。“通过对个人开放扫描服务,我们提升了查看开源项目代码质量的新的可见度,他们的软件供应链中正包含这些项目。”


via: http://www.ciol.com/ciol/features/213112/coverity-scan-report-source-software-quality-outpaces-proprietary-code/page/1

译者:linuhap 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

相关内容

浙大揭秘:为什么开源AI在...
这项由 浙江大学和蚂蚁集团联合实验室的朱雨琪、张宁宇等研究人员开展...
2025-06-27 18:41:01
速递|谷歌“终端智能体”的...
图片来源:谷歌 谷歌正在推出一款新型 AI Agent工具,旨在...
2025-06-27 13:12:21
最强Cursor开源替代方...
下载地址:https://github.com/voidedito...
2025-06-25 20:11:31
AI编程再突破,首个多智能...
曾经有着较高技术门槛的编程,正随着AI技术的普及加速成为人人可用的...
2025-06-24 17:13:18
微软 Win11 Linu...
IT之家 6 月 20 日消息,在今年 5 月的微软 Build ...
2025-06-21 13:12:08
昆仑万维正式发布并开源Sk...
人民财讯6月20日电,6月20日,昆仑万维发布软件工程(SWE)自...
2025-06-20 15:40:28

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...