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