由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
WaterWorld版 - 血淋淋的BUG:波音在軟件開發上錯在哪裡?
进入WaterWorld版参与讨论
1 (共1页)
W***B
发帖数: 1
1
血淋淋的BUG:波音在軟件開發上錯在哪裡?
到了2019 年,新飛機還會從天上掉毀,是一件讓人不可想像的事情。然而這樣的事情
,最近接連發生了兩起。
去年10 月,一架波音737 Max 8 噴氣式客機撞向印度尼西亞的爪哇海,造成189 名乘
客和機組人員死亡。調查人員稱該飛機的飛行控制軟件出現“故障”。
今年3 月10 日,也就是上週,埃塞俄比亞航空公司一架波音737 MAX 8 客機在飛往肯
尼亞首都內羅畢途中墜毀。飛機上載有149 名乘客和8 名機組人員。兩次飛機出事的事
故症狀非常類似,所以有理由懷疑埃航這架飛機發生了同樣的“軟件故障”。
在經歷了兩次空難之後,波音公司承諾,最遲在下個月,針對全球所有波音737 Max 型
飛機進行軟件更新。
遲遲修正不了的BUG
在獅航事故記錄和波音發布的分析裡,失事前幾分鐘,由於高攻角傳感器(AOA)錯誤
數據傳給了飛控系統,導致飛機在正常情況下開始不斷下壓機頭。飛行員在11 分鐘內
連續手動拉升20 餘次終告失敗,墜海罹難。
這個自動控制下壓機頭的系統,名叫MCAS,意為自動糾正失速系統,這是波音737 MAX
的一種操縱輔助系統。它有幾個特點:
發現失速後,程序只相信主傳感器,不與備份傳感器核實。(同樣的情況空客的飛機則
會交給飛行員處理。)
一旦相信,不通知飛行員,直接操縱機翼。
飛行員手動操作後,仍舊會每五秒自動執行,讓飛行員不得不與飛機較勁。
程序開關非常隱蔽。
獅航事故後,波音表示正在進行軟件修復,以降低風險。
據行業和政府官員稱,波音公司正在研究軟件修復,這可能會降低風險。週六,該公司
比以往更進一步闡明瞭如果飛行員誤解或響應太慢以應對自動命令時可能面臨的危險。
從技術角度來說,這是個很容易修正的低級錯誤。全球幾百架咝兄牟ㄒ37 MAX 8/9
等著打這個補丁。然而,這個修復被拖延了好幾個月,直到埃航事故發生。
延誤的原因,其中之一是聯邦官員和波音公司安全專家對於需要進行多大改動,有意見
分歧。波音公司認為更新這個BUG 很簡單,減少下壓幅度就行。而聯邦官員認為189 條
人命是大事情,必須大改,確保單個傳感器錯誤信號不會觸發MCAS 系統。加上波音公
司和美國政府的低效,這個性命攸關的BUG,硬生生被拖到四個月後。
但顯然因為這次全球停飛事件,波音才很快決定“Make Key Change in 737“,並宣布
將在4 月份交付。
波音737 MAX 的交付
對於安全要求嚴格的航空軟件,波音要求每個需求都能追溯到相應的代碼行。反之亦然
。也就是說每行代碼發生變化,必須能追溯到軟件的設計文檔。但是獅航事故後,媒體
披露航空公司的管理層和飛行員並不知道飛機上還有這麼一套輔助系統。APA 航空發言
人Dennis Tajer 曾表示,MCAS 系統的細節“對我們而言是新信息”,“我們的手冊中
沒有提到它”。而且該航空還沒有相應模擬器,他說他從舊的737 NG 駕駛艙到新的737
MAX,只在iPad 上進行一小時訓練。
軟件外包和成本壓縮
波音公司在2010 年曾發布了1000份裁員通知,而這些被裁減的人大部分在IT 部門。該
公司當時擁有158,500 名員工,其中包括18,000 名工程和技術人員,但他們計劃是削
減10,000 個工作崗位。一位前波音軟件工程師在2015 年表示,企業將裁掉90%經過了
熟練培訓的員工,用“外包”來代替他們,從而縮減開支。據《經濟時代》報導,2015
這一年,波音公司給印度的外包業務翻了一番,達到了5 億美元。
軟件外包是一個需要發包方和承包方高度協作的過程。服務週期長、可變因素多,這使
得公司在軟件外包過程中面臨重大風險。787 型飛機計劃70%使用外包,最終導致了延
期三年還交付不了,波音表示:“我們同時在技術、工具和供應鏈上做了太多改變,超
出了我們的管理能力“。
使用Ada 語言達到99%
在Ada文檔中的最佳案例上,有一個案例是講波音777 上的軟件99%是用Ada 完成,其中
製動系統完全用Ada 來完成。Ada 語言最早是針對嵌入式和實時系統設計的,屬於80
年代的編程語言,也是美國軍方的專用計算機語言。但之後並沒有被普及,甚至可以說
Ada 在“平民層”的推廣很糟糕。一個普遍的關於歐洲空間局阿麗亞娜5 型咻d火箭失
敗的說法是,因為Ada 語言在編譯過程的檢查失敗導致的。那麼有一個疑問是外包企業
中,如何蒐集到合適數量的精通Ada 的程序員呢?
從求職網站前僱員對波音公司的評價中,除了抱怨Ada 不好用,我們還得到了好幾條令
人驚訝的信息:
波音公司沒有技術面試。
採購軟件可能需要非常長時間。被多人抱怨技術過時,“使用古老的技術,該公司根本
不重視升級或現代化工程,因為這些不能直接幫助他們銷售飛機”。
管理層不懂IT 技術,脫節明顯,甚至有的視工程技術人員為累贅。
波音公司具有上百年的歷史,具有7000 多種自主開發軟件,有非常多的經驗可以供人
參考,當然也有很多教訓可讓人汲取。作為傳統企業數字化轉型的先驅,它出現的每一
個問題都值得我們去思考。那麼你認為波音在軟件開發中犯的致命錯誤是什麼呢,不妨
在文章後留言討論。
1 (共1页)
进入WaterWorld版参与讨论