隨著高級駕駛輔助系統 (ADAS) 和自動駕駛 (AD) 系統日趨復雜,賦能這些系統的軟件也變得愈加復雜。另一方面,汽車 OEM 要求供應商壓縮 ADAS/AD 軟件的交付周期,同時還提高了軟件質量要求。因此,供應商可謂舉步維艱。通常情況下,依靠手動過程,他們只能在開發生命周期的后期發現缺陷。更糟的是,如果系統已投入生產,則召回需要付出高昂的成本。
憑借 Polyspace 靜態代碼分析產品,HL Klemove 的工程團隊在高級 ADAS/AD 軟件開發過程的早期階段即可發現運行時錯誤、安全漏洞和編碼標準偏差。他們已將 Polyspace Bug Finder 和 Polyspace Access 集成到其自動化持續集成/持續交付 (CI/CD) 工作流中,從而減少了代碼驗證時間,提高了軟件質量,并促進了團隊間和團隊內的協作。
HL Klemove 團隊負責人 Minchae Lee 表示,“即使 ADAS/AD 軟件項目的數量和復雜性有所增加,Polyspace Bug Finder 也能讓我們在開發過程的早期階段發現問題,從而交付質量更高的軟件。它還使我們的團隊能夠滿足 OEM 客戶現行的安全編碼標準要求,而 Polyspace Access 讓我們可通過 Web 訪問靜態分析結果,從而改進協作。”
挑戰
過去,HL Klemove 團隊需要結合使用手動代碼審查和獨立工具,對 ADAS/AD 軟件進行源代碼分析。但是,視覺檢查以及工具的配置和維護復雜且耗時。此外,將這些工具集成到 CI/CD 工作流也非易事。開發人員必須在他們的工作站上使用這些工具,但這既消耗資源,又使得他們很難執行其他開發任務。
因此,團隊不得不將靜態代碼分析推遲到開發過程的后期進行,而這時用來發現并解決累積的各種問題的時間已經所剩無幾。HL Klemove 需要一種新的工具來應對這些挑戰,并使團隊能夠滿足新的客戶要求,即符合新 UNECE WP.29 法規所要求的 CERT C 編碼標準。
解決方案
通過使用 Polyspace 產品,HL Klemove 可在整個開發過程中發現缺陷和編碼違規行為,因而提高了 ADAS/AD 軟件質量。
在 MathWorks 應用工程師的協助下,HL Klemove 的工程師將 Polyspace 工具集成到了他們的 CI 工具鏈,其中包括用于 CI/CD 的 Atlassian Bamboo,以及用于 Git 存儲庫管理的 Bitbucket。他們創建了 Bamboo 作業來觸發 Polyspace Bug Finder Server 自動執行靜態代碼分析,并將分析結果發布到 Polyspace Access 以進行基于 Web 的協同審查。為了簡化項目管理,他們還將 Polyspace Access 與 Atlassian JIRA 相集成,使得在 Polyspace Access 中創建與 Polyspace 結果相關的工單成為了可能。
“Polyspace 使我們能夠自動執行 ADAS 軟件的靜態代碼分析,并將其集成到我們的 CI/CD 工作流中。從開發的最早階段直到生產的整個過程中,Polyspace 都可以幫助我們查明并消除潛在的高成本問題,而這些問題是開發人員僅憑自己難以發現的。”
—— Minchae Lee,HL Klemove
在典型項目開發期間,工程師將代碼更改推送到 Bitbucket。更新后的代碼隨后由 Polyspace Bug Finder Server 進行分析,作為計劃的或手動觸發的 Bamboo 作業的一部分。一旦靜態代碼分析完成,用戶就會收到通知電子郵件,其中包含指向 Polyspace Access 網頁中相應結果的鏈接。通過 Polyspace Access Web 瀏覽器界面,經理和工程師們可以一邊查看代碼的靜態分析結果一邊展開協作,這些代碼可能是他們處理過的代碼、其他團隊生成的代碼,或使用 Embedded Coder 從 Simulink 模型自動生成的代碼。Polyspace Bug Finder Server 的結果包括運行時錯誤、并發問題,以及 MISRA 和 CERT C 編碼標準違規行為。軟件工程師關注由 Polyspace Bug Finder Server 生成的來自功能分支的結果,而開發運營一體化工程師則關注來自發布分支的結果。
為了縮短開發人員的反饋回路,多個團隊最近已經開始在編碼的同時,使用 Polyspace as You Code IDE 插件來檢查代碼質量。這樣,在向 Bitbucket 提交代碼更改之前,他們便可解決其中 MISRA 或 CERT C 不合規的問題了。
目前,HL Klemove 正將 Polyspace 產品應用于所有的 ADAS/AD 開發計劃,其中涉及數十個項目和數百種量產車型。
結果
減少源代碼驗證時間。
Lee 表示,“使用 Polyspace Bug Finder,我們將源代碼驗證時間減少了高達 80%。而且,通過自動生成報告,我們將為 OEM 客戶創建綜合報告所需的時間,從長達一小時縮短至 10 分鐘甚至更短。”
在開發過程的早期階段發現缺陷。
Lee 表示:“Polyspace 讓我們在開發過程的早期階段即可發現、診斷并解決問題。這對我們來說至關重要,因為即使只有一個缺陷未被發現,也可能會導致安全召回,潛在成本高達數百萬美元。”
符合 OEM 的編碼要求和標準。
Lee 說道,“我們最大的一個客戶是一家 OEM,他們現在要求所有供應商都要遵循編碼規范,包括 MISRA 和 CERT C。Polyspace 使我們的團隊能夠滿足這一要求,并生成報告來展示我們的代碼驗證結果。我們已收到了客戶的積極反饋,他們認為我們能夠滿足不斷變化的軟件質量相關要求。”
審核編輯 :李倩
-
adas
+關注
關注
309文章
2168瀏覽量
208524 -
自動駕駛
+關注
關注
783文章
13684瀏覽量
166148 -
安全漏洞
+關注
關注
0文章
150瀏覽量
16706
原文標題:提高軟件質量,減少 ADAS 軟件源代碼驗證時間
文章出處:【微信號:MATLAB,微信公眾號:MATLAB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論