丰田软件加速门的一些细节令人发指
http://m.newsmth.net/article/AutoWorld/1937029312?au=tsa300丰田用的是 Denso 开发的 ECU , 其实时操作系统共有 24 个进程,其中3个与时序相关,其余的受 OS 控制,目前发现 OS 代码和 user space 代码都有大批bug , 这24个进程中有一个是 TASK X , 这个段代码崩溃后,节气门就会锁死在当前状态,如果是大油门状态下锁死,车子就会自主加速前进,丰田对 TASK X 的保护模式需要驾驶者松开刹车踏板至少 0.208 秒后才生效尝试重置修正,在车突然自主加速的情况下,松开刹车踏板这个要求相当不靠谱
ECU 代码质量低下,编程风格极其业余,大量使用全局变量,存在多处 buffer overflow , race condition , nested schedule , invalide pointer 等低级错误,而且保护措施不完善。2002 年后,丰田本应采用业界规范以另一套硬件对关键机构进行保护,但丰田坚持使用单一硬件从软件方面进行保护,在软件缺陷发作的情况下无法起到应有的保护作用
证人还指出丰田 ECU 代码质量太差,相关代码有 1.1万个全局变量,导致极高的代码耦合性,难以除错和维护,还举例有一个进程存在 150 多个条件判断嵌套代码块,像意大利面条一样复杂,而且丰田没有对应的测试用例集合,导致完全无法针对它进行 unit test , 这种情况下侦错和除错会引入一系列新 bug , 所以改进也无从下手
在法庭质证结束后,丰田立刻进入赔偿和解环节,不给陪审团裁决惩罚性赔偿的机会。
这种只依靠软件的车子,不仅仅是丰田,其他厂商也是问题一堆,没暴露出来罢了。记得以前论坛上就有人说过,参与开发奥迪最新车型的人决不买奥迪,开发太仓促,软件问题一大堆。
作为消费者,在汽车这个问题上保护自己的方法就是买手动版的车,出了问题起码可以把动力断开,不至于束手无策。 有人见过5000多行名字叫global.cpp的代码么? 呵呵 Truecar 发表于 2013-10-28 10:20
这种只依靠软件的车子,不仅仅是丰田,其他厂商也是问题一堆,没暴露出来罢了。记得以前论坛上就有人说过, ...
我见过bmw的代码,才没有这些搞笑问题呢 本帖最后由 Truecar 于 2013-10-28 11:37 编辑
moudy 发表于 2013-10-28 11:27
我见过bmw的代码,才没有这些搞笑问题呢
几种可能:
1. bmw有神相助,丰田光变量就上万才凑合的,bmw万行以内代码就搞定,而且简单得能让你看懂。
2. 你是bmw里面的大拿,能看到bmw全部代码的是什么人?软件开发部门的总头了吧。
3. 你不是bmw大拿,看到几行代码一不知道是不是bmw的,就当bmw了。而且看到了也看不出个所以然来。
4. 你吹吹牛,根本没看到过。
像意大利面条一样复杂
pasta有嘛复杂的,有http://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Bi%C3%A1ng.svg/50px-Bi%C3%A1ng.svg.pnghttp://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Bi%C3%A1ng.svg/50px-Bi%C3%A1ng.svg.png面复杂不? 陶瓷虾 发表于 2013-10-28 10:39
pasta有嘛复杂的,有面复杂不?
顶biangbiang面,据说是笔画最多的汉字,一个字得写个2,3分钟的{:5_332:} 老湿不给力 发表于 2013-10-28 10:43
顶biangbiang面,据说是笔画最多的汉字,一个字得写个2,3分钟的
学法语的时候给法语老师看这个字,当场hold不住了,她决心挑战一下,扔我旁边做练习。一个biang字写了半个钟头 面条,面条....
我中午准备干吃方便面!哈! 砖头哥 发表于 2013-10-28 10:50
面条,面条....
我中午准备干吃方便面!哈!
小心吃成小浣熊{:5_319:} 老湿不给力 发表于 2013-10-28 10:51
小心吃成小浣熊
也可以是今麦郎{:5_346:} moudy 发表于 2013-10-28 10:55
也可以是今麦郎
今麦郎有干脆面?{:5_312:}我又孤陋了。。。。。。 老湿不给力 发表于 2013-10-28 10:56
今麦郎有干脆面?我又孤陋了。。。。。。
四哥只说了要干吃方便面{:3_262:}
其实我觉得干吃39欧分一袋的spaghetti才是人才{:3_260:} moudy 发表于 2013-10-28 11:00
四哥只说了要干吃方便面
其实我觉得干吃39欧分一袋的spaghetti才是人才
那得是每天拿硬又黑的全谷黑面包当蛋糕啃的高级人才才有希望吧,一般人只能给跪了{:5_392:} 陶瓷虾 发表于 2013-10-28 10:39
pasta有嘛复杂的,有面复杂不?
这俩字imessage输不进去呢,ctrl-c ctrl-v都失效了,真是神字 老湿不给力 发表于 2013-10-28 11:02
那得是每天拿硬又黑的全谷黑面包当蛋糕啃的高级人才才有希望吧,一般人只能给跪了
你家小不点没干过这事?我家老大要是在厨房里15分钟没动静,那肯定是啃干spaghetti呢。 moudy 发表于 2013-10-28 10:27
我见过bmw的代码,才没有这些搞笑问题呢
bmw的软工,尤其是code review做得相当不错 moudy 发表于 2013-10-28 11:03
这俩字imessage输不进去呢,ctrl-c ctrl-v都失效了,真是神字
他贴的图片,cv大法当然不管用{:5_319:} 早期嵌入式代码都这样,尤其是在嵌入式芯片性能还很低的情况下,只能先保证执行效率
之后就看公司有没有魄力彻底重写代码了,改是完全没有意义的,还不如从头设计架构 老湿不给力 发表于 2013-10-28 11:06
他贴的图片,cv大法当然不管用
{:3_249:} moudy 发表于 2013-10-28 11:05
你家小不点没干过这事?我家老大要是在厨房里15分钟没动静,那肯定是啃干spaghetti呢。
我们家spaghetti不进门。。。。。。而且一般的东西都放在高出,就怕他们往嘴里放{:5_392:} 老湿不给力 发表于 2013-10-28 11:07
我们家spaghetti不进门。。。。。。而且一般的东西都放在高出,就怕他们往嘴里放
以前有用,现在几乎没用了。老大会搬椅子踮脚,老二帮忙扶着。 老湿不给力 发表于 2013-10-28 10:51
小心吃成小浣熊
http://files.mydolc.de/forum/attachments/forum/201310/25/190944e2wv3ykgu2udxkgn.gif shrek_munich 发表于 2013-10-28 11:07
早期嵌入式代码都这样,尤其是在嵌入式芯片性能还很低的情况下,只能先保证执行效率
之后就看公司有没有魄 ...
bmw也是得益于autosar,更新了很多很多底层模块以及legacy code。另外就是靠着autosar做failure containment。toyota估计是不愿意在sw及量产车上下太多成本,够用就行。不然一个刹车优先的feature,从研发到测试到量产车更新软件,真没几个钱。 砖头哥 发表于 2013-10-28 11:09
这是辣椒面放多了吧{:3_251:} 擦,一个残疾人助力车上的问题,关我屁事.....捏哈哈哈 moudy 发表于 2013-10-28 11:11
bmw也是得益于autosar,更新了很多很多底层模块以及legacy code。另外就是靠着autosar做failure containm ...
海河玉蛟龙,你是在bmw工作的吧?{:5_370:} moudy 发表于 2013-10-28 11:12
这是辣椒面放多了吧
{:5_350:} moudy 发表于 2013-10-28 11:11
bmw也是得益于autosar,更新了很多很多底层模块以及legacy code。另外就是靠着autosar做failure containm ...
如果之前不是软工标准做的(我就不奢望设计模式啥的了),这个混合版会很痛苦的,而且这种超复杂的"架构"(我其实不太愿意称它为架构),debug会死人的....
其实花点钱,找人重新架构一遍整个嵌入式系统,反正整个公司可以架构在同一平台上,无非是模块选配不一样
然后维护更新debug都会好很多 老湿不给力 发表于 2013-10-28 11:13
海河玉蛟龙,你是在bmw工作的吧?
no,以前的公司专门做autosar reference的,基本就是bmw肚子里的蛔虫。
页:
[1]
2