[行业]可靠代码也有Bug [软件新闻行业新闻] IT.com.cn IT世界网

时间:2012-05-29 09:25来源: 作者: 点击:

  ZDNet China 8月26日 评论(文/Les Hatton):现代汽车已深深地依赖于软件——软件故障多少已成为汽车竞争力的重要方面。

  我们来看看对于汽车中的软件,你知道多少。我敢打赌,你了解到的肯定不到10%。当我1996年开始从事汽车行业时,仅仅是汽车的电子控制系统上,就有大约5 万行汇编程序。

 
  那时,那些两三百万行的代码(通常是C ,C++ 或Ada )很少见到,通常它们只会出现在传统的高科技产业,比如:军工或太空产品中,其他的比如波音777 或空客340 中也会见到。这些产业发展了25年,才让代码量增加到这个数量;而汽车工业只花了1/3 的时间。现代汽车为了画出七面视角图,经常会用到100 个并行CPU 同时处理。

  这些趋势对那些汽车制造商们提出了挑战,一方面,必须将那些代码中的错误减少到最低程度;另一方面,也必须控制这些软件代码增长的速度。

  假如你通过可以直接生成可执行代码的行数来计算,一个开发得非常好的系统可以做到在它的生命周期内,每1000行代码只发现一个错误,而这些错误中的10% 将导致程序停止。请相信,这个比率与你用什么开发语言无关。想让它降低真的很难,所以如果你在一辆车内有200 万行程序代码,那就有大约200 个潜在漏洞在等待爆发。当然,这还是在开发得比较好的系统上。

  过去几个月来,我不断地想到这些问题,因为媒体不断披露汽车工业中因为软件故障导致汽车被召回。

  这些软件都应用在汽车的安全气囊、刹车、引擎控制、空调、音响、座椅、导航系统等等。现在告诉你离我们半米远的地方就有一个软件控制的炸弹(安全气囊),你会怎么想?

  当然不需要对此过于担心,汽车工业以往在安全控制方面做得不错,特别是在对比其他行业的产品时。我的数字电视机顶盒,一个垃圾产品,被我扔到了窗外。我的电话答录机,自我买来后,平均每三天发生一次自动占线,而过去四天来,更是发生了三次!我不得不把它断电,等待CMOS放电后在重启,还不能忘了重输日期和时间。而我的第三台中央空调似乎比它的前辈更加糟糕。