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