TranslateProject/published/201405/Coverity scan report finds open source software quality outpaces proprietary code for first time.md
2014-06-04 00:41:08 +08:00

5.2 KiB
Raw Blame History

Coverity 扫描报告首次发现开源软件质量超过专有软件

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

特点 | CIOL Bureau

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

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

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

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

自2006年已来扫描服务帮助开发者发现和修复了超过94,000缺陷。仅在2013年一年就修复了近50,000个缺陷——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中其中有超过11,000的缺陷修复出现在扫描服务中的四个最大的项目NetBSDFreeBSDLibreOffice和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中国 荣誉推出