发布:Coverity scan report finds open source software quality outpaces proprietary code for first time

This commit is contained in:
wxy 2014-05-27 15:05:34 +08:00
parent 8e39a25af6
commit e5f9ec5aac

View File

@ -8,29 +8,37 @@ Coverity 扫描报告首次发现开源软件质量超过专有软件
来自美国山景城加州的消息Coverity公司新思科技公司的一个子公司发布了2013年Coverity扫描开源软件报告。
经过Coverity扫描服务以及按照Coverity开发测试平台的商业惯例报告中详细说明了关于7.5亿行开源软件代码的分析,这是至今报告研究的最大的样本量。
经过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缺陷。近50,000缺陷是仅在2013年一年修复的——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中其中有超过11,000的缺陷修复于服务中四个最大的项目NetBSDFreeBSDLibreOffice和Linux。
自2006年已来扫描服务帮助开发者发现和修复了超过94,000缺陷。仅在2013年一年就修复了近50,000个缺陷——这是扫描服务的用户在一年中修复缺陷的最大数量。在这些缺陷中其中有超过11,000的缺陷修复出现在扫描服务中的四个最大的项目NetBSDFreeBSDLibreOffice和Linux。
### 2013年报告中重要发现包括 ###
* C/C++项目中开源软件代码质量超过专有软件。缺陷密度每1,000行软件代码所含的缺陷是一个通用的测量软件质量的方法缺陷密度1.0被认为是高质量软件的公认的行业标准。
#### C/C++项目中开源软件代码质量超过专有软件
Coverity的分析中发现扫描服务中的开源的C/C++项目的平均缺陷密度为 .59而为企业项目开发的专有C/C++代码的缺陷密度为 .72。在2013年在所有不同大小的代码库中扫描服务中的开源项目的代码质量超过专有项目这进一步强调了开源社区开发测试的坚定的承诺
缺陷密度每1,000行软件代码所含的缺陷是一个通用的测量软件质量的方法缺陷密度1.0被认为是高质量软件的公认的行业标准
* Linux继续成为开源质量的基准。通过利用扫描服务Linux将修复一个新发现的缺陷的时间从122天减少到仅6天。从2008年第一个Coverity扫描报告发布后扫描过的Linux版本的缺陷密度一直小于1.0。在2013年Coverity扫描了超过850万行Linux代码并发现缺陷密度为 .61
Coverity的分析中发现扫描服务中的开源的C/C++项目的平均缺陷密度为 0.59而为企业项目开发的专有C/C++代码的缺陷密度为 0.72。在2013年在所有不同大小的代码库中扫描服务中的开源项目的代码质量超过专有项目这进一步强调了开源社区开发测试的坚定的承诺
* C/C++开发者修复了更多的高风险缺陷。Coverity分析报告发现贡献于开源Java项目的开发者修复的高风险缺陷的数量没有贡献于开源C/C++项目的开发者修复的多。
#### Linux继续成为开源质量的基准
参加扫描服务的Java项目开发者只修复了百分之13的经鉴定的资源泄露而C/C++项目开发者修复了百分之46。这一方面可能是因为Java编程社区错误的安全感的原因这种安全感是因为内建于语言的保护比如垃圾收集。然而垃圾收集是不可预测的而且不能访问系统资源所以这些项目处于危险之中
通过利用扫描服务Linux将修复一个新发现的缺陷的时间从122天减少到仅6天从2008年第一个Coverity扫描报告发布后扫描过的Linux版本的缺陷密度一直小于1.0。在2013年Coverity扫描了超过850万行Linux代码并发现缺陷密度为 0.61
* HBase是Java项目的基准。 Coverity分析了100个开源Java项目的超过800万行代码包括流行的大数据项目Apache Hadoop 2.3 (320,000 行代码)和Apache Cassandra (345,000 行代码)。
#### C/C++开发者修复了更多的高风险缺陷
自从在2013年8月加入扫描服务以来Apache HBase——Hadoop的数据库——修复了超过220个缺陷其中包括比其他参加扫描服务Java项目更高比例的资源泄露HBase的缺陷中资源泄露占的比例为66%而其他项目平均为13%)。
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扫描服务在内是帮助开源软件社区创作高质量的软件。基于这个报告的结果——以及这个日益流行的服务——使用开发测试的开源软件项目继续提升他们软件的质量这让他们使整个行业更上一层楼。”