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

如何在日常開(kāi)發(fā)過(guò)程中提高代碼質(zhì)量

如何提高嵌入式代碼質(zhì)量?
Jenkins 與 SonarQube 集成部署,自動(dòng)化代碼質(zhì)量監(jiān)控

怎樣提高三坐標(biāo)測(cè)量機(jī)的測(cè)量效率
索辰科技收購(gòu)WIPL-D軟件產(chǎn)品全套源代碼

智駕軟件冒煙測(cè)試之測(cè)試管理軟件解決方案#ADAS #自動(dòng)駕駛 #冒煙測(cè)試
康謀分享 | 在基于場(chǎng)景的AD/ADAS驗(yàn)證過(guò)程中,識(shí)別挑戰(zhàn)性場(chǎng)景!


評(píng)論