根据最新报道,Linux操作系统的代码错误,比一般商业软件少许多倍。
这一结论是代码分析公司Coverity长达四年的研究结果,公司于周二公布这一报告。这一报告指出,在Linux核心操作系统最新版本的570万行代码中,总共才有985个错误。而根据Carnegie Mellon大学的数据表明,类似的一般商业软件通常有5000个以上的错误或漏洞。
Coverity首席执行Seth Hallem说道,“就错误程度而言,Linux是一个非常好的系统。”Coverity位于San Francisco,专门制造对用C语言和C++语言编写的软件进行侦错的工具。
代码分析工具一般利用软件设计原则去分析一组程序的原代码,并找出任何可能的问题。
虽然Coverity没有关于微软Windows操作系统的相对错误数据,但是这项最新结果势必将提升Linux,Mac OS X 和Windows在安全方面的情况。
例如,最近一次报告中指出,Red Hat Linux中的严重错误低于微软的Windows。另一份由Forrester Research执行,微软赞助的报告则毫无意外地支持Windows。
Hallem表示,Coverity无法分析微软的原代码,因为该公司拒绝提供原代码。Apple Computer的Mac OS X有大量专有程序,但是其核心操作系统的建立基础是BSD,这是一个类似Linux的开放源代码操作系统。
Hallem强调,针对的Linux的研究,特别是对kernel 2.6版本的研究表明,开源代码的开发过程产生一个安全的操作系统。
他说道,“有其它公开报告描述Windows的错误密度,我可以说Linux,不差于或者甚至是更优于Windows。”
目前,微软的代表还没有对Coverity的调查做出评论。
这项研究认为,Linux kernel优于普通的商业代码。Carnegie Mellon大学软件工程研究所的开发理论分析提到,国家电脑安全伙伴的软件生命周期工作小组今年4月公布的报告显示,一般来说,专有软件每千行代码中就有1到7处错误。
对于像Linux kernel 2.6版本的这样一个有570万行代码的程序而言,平均错误应在5700个到4万个之间。
微软使用类似Coverity的分析工具检查Windows代码,其中一个称为PREfast的工具,用于在每一家开发商的工作站来检查简单的代码错误。另一项工具PREfix,则每晚检查Windows的原代码,找出更复杂的问题。
Coverity的Hallem认为,通过运行他们自己的这些工具,微软有可能已经减少了Windows的错误数量。
Coverity计划定期提供Linux的错误分析报告,并且为Linux开发者社团提供研究摘要。