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