在我們?nèi)找孀詣踊氖澜缰校_保嵌入式軟件代碼幕后發(fā)生的事情的安全性和可靠性已達(dá)到新的關(guān)鍵水平,尤其是在最近一些引人注目的和潛在的災(zāi)難性故障之后。這包括日產(chǎn)的安全氣囊部署故障和豐田的普銳斯召回。由于軟件缺陷。這些是從眾多編碼災(zāi)難中挑選出來的一些例子,這些例子在我們對自動化的集體推動中仍然很明顯。
那么是誰的錯呢?是因為懶惰的嵌入式軟件工程師沒有能力編寫安全關(guān)鍵代碼嗎?是他們的上級沒有確保各個輸出不會協(xié)同工作或沒有經(jīng)過適當(dāng)?shù)臏y試嗎?是他們的公司沒有在工具上進行足夠的投資以實現(xiàn)適合安全關(guān)鍵應(yīng)用的測試水平嗎?通常,以上都是。
今天的代碼分析工具提供了前所未有的覆蓋和審查水平,這在幾年前根本不存在,它應(yīng)該讓您關(guān)心的是,有多少年甚至幾十年前編寫的代碼今天仍在這些安全關(guān)鍵應(yīng)用程序中使用。這種遺留代碼的持續(xù)實現(xiàn)被稱為“經(jīng)時間證明”,這本身就是一個有趣的論點。軟件代碼的獨特之處在于,與機械或電子硬件不同,它在邏輯上不會遭受退化,以確保在未來的某一天,我們使用或擁有的每一臺設(shè)備都注定會停止運行。然而,在沒有適當(dāng)外部分析的情況下證明嵌入式軟件完全依賴于廣泛的功能測試。隨著圍繞該代碼的生態(tài)系統(tǒng)不斷發(fā)展,可能會出現(xiàn)未經(jīng)過專門測試的條件,從而導(dǎo)致意外和潛在的災(zāi)難性故障。
有了可用的高級代碼分析工具,您會認(rèn)為那些部署遺留代碼的人會爭先恐后地對其進行徹底測試。然而,人們通常認(rèn)為(由于缺乏歷史故障)這個遺留代碼是經(jīng)過時間證明的,也許更險惡的動機是潘多拉魔盒的擔(dān)憂,即這種對已部署代碼的回顧性分析可能會打開。當(dāng)然,爭論必須是使任何可能出錯的代碼達(dá)到今天的安全標(biāo)準(zhǔn)所涉及的投資遠(yuǎn)遠(yuǎn)低于失敗的金錢或聲譽成本,特別是如果它涉及生命損失。
VectorCAST/Analytics等工具提供了代碼覆蓋率的易于理解的可視化表示,而且我們不僅僅是在談?wù)搱D表和餅圖。獨特之處在于動態(tài) GUI 將代碼復(fù)雜性和覆蓋率呈現(xiàn)為交互式熱圖。通過紅綠燈標(biāo)簽,軟件開發(fā)人員可以放大潛在問題區(qū)域,輕松突出顯示過于復(fù)雜或測試不足的代碼。完全可定制的儀表板可根據(jù)每個源文件中的語句數(shù)量或復(fù)雜性進行熱圖格式化;單擊可以突出顯示代碼本身中的任何可疑函數(shù)。
顯示的是 VectorCAST/Analytics 代碼分析工具的交互式熱圖。
有了可用的正確工具,比以往任何時候都更嚴(yán)格的安全要求,以及如此多的軟件質(zhì)量出現(xiàn)問題的例子,你會認(rèn)為這樣的代碼分析套件會自我推銷。
值得慶幸的是,當(dāng)今嵌入式市場對軟件質(zhì)量的態(tài)度將安全關(guān)鍵代碼質(zhì)量與安全性放在首位。挑戰(zhàn)在于說服供應(yīng)商回顧分析他們的遺留代碼,因為他們不知道的東西會傷害他們。
審核編輯:郭婷
-
嵌入式
+關(guān)注
關(guān)注
5141文章
19537瀏覽量
315138 -
代碼
+關(guān)注
關(guān)注
30文章
4887瀏覽量
70266
發(fā)布評論請先 登錄
編碼器常見的故障詳細(xì)說明
編碼器常見的故障問題及案例分析
使用萬用表檢測編碼器性能與故障指南
設(shè)備管理系統(tǒng):如何實現(xiàn)預(yù)測性維護與故障預(yù)防?

評論