先進駕駛輔助系統(ADAS)是現代軟體定義汽車(SDV)中的關鍵元件。要符合安全標準並非易事。本文將說明靜態程式碼分析在 ADAS 安全性中的關鍵角色。

近年來涉及自動駕駛系統(ADS)與 ADAS 的車禍事件,引起監管單位的高度關注。從 2021 年 6 月至 2024 年 6 月,已有近 4,000 起相關事故被通報。

為了提供背景資訊,現今自駕車中包含數百萬行程式碼,用於即時決策,因此即使是極小的程式缺陷也可能造成嚴重的道路事故。

隨著系統的高度複雜性,以及 ISO 26262、ISO 21448、MISRA 和 UNECE 第 157 號法規等安全標準日益嚴格,軟體品質需要採取前瞻性措施。而靜態程式碼分析搭配自動化測試,正是關鍵手段之一。

本文將探討靜態程式碼分析與 CI/CD 自動化在開發流程中如何提升汽車軟體的安全性。

ADAS 是 SDV 中以軟體為主導的核心功能之一,透過先進軟體實現關鍵駕駛輔助功能,包括防碰撞、主動式定速巡航與自動停車等。

為了提升系統效能、促進各元件間的即時通訊與協同作業,ADAS 採用集中式電子架構,統合煞車、轉向、油門控制等關鍵子系統。

這些架構仰賴高效能中央運算單元來處理感測器資料、進行感測融合,並執行進階決策,以提升汽車的安全性與自動化能力。

為實現這些先進功能,ADAS 包含以下幾項核心能力。

防碰撞與緊急煞車

ADAS 利用雷達、LiDAR(光達)與攝影機偵測潛在碰撞風險,系統能主動警示駕駛者,或自動啟動緊急煞車,以降低追撞發生的機率。

用於提升操控能力的自適應系統

主動定速巡航與車道維持輔助系統能即時監控交通狀況,自動調整車速與方向盤,以維持安全車距並保持車輛居中,確保在變化多端的交通環境中仍具備良好操控性。

影像與偵測系統

透過感測器融合與電腦視覺技術,ADAS 能辨識障礙物、交通標誌、車道標線與行人,有效提升在低能見度與夜間駕駛時的安全性。

車聯網(V2X)通訊

V2X 技術讓汽車能與周遭的基礎設施、行人及其他車輛進行通訊,提升整體情境感知能力,並有助於在事故發生前即加以預防。

導航與路徑引導系統

ADAS 結合高精地圖與 GPS,提供即時導航、車道級引導與路徑最佳化,確保旅程更有效率且更安全。

和所有安全關鍵軟體系統一樣,開發 ADAS 是一項高度複雜的工程,其應用場景必須回應多項安全關鍵問題,例如:

  • 軟體是否安全可用?
  • 是否符合相關法規?
  • 能否長時間支撐即時效能的高壓需求?

因此,ADAS 系統若要成功上市,必須能在各種不可預測的駕駛情境下無誤運作,因為即使是微小錯誤也可能導致災難性後果。

因此,確保功能安全成為開發人員的首要挑戰,這也正是 ISO 26262 等標準的核心宗旨。

此標準針對車用電子系統制定一系列安全要求,並要求嚴格的流程來降低硬體或軟體失效帶來的風險,例如,需針對潛在風險指定汽車安全完整性等級(ASIL),並採用容錯設計來達成安全目標。

確保即時效能是另一個開發痛點。ADAS 系統需處理來自攝影機、光達、超音波、紅外線感測器、GNSS 與 IMU 的大量資料,進行瞬時決策。ISO 21448(預期功能安全)即針對此挑戰,要求在複雜場景中將系統限制所導致的風險降至最低。

不斷演進的法規更增添挑戰。例如,UNECE 第 157 號法規針對自動車道維持系統(ALKS)制定嚴格測試條件;ISO/SAE 21434 則針對車載系統的資安風險,提供防護要求。

為了因應上述挑戰,業界逐漸依賴如 Parasoft 等自動化測試平台,協助開發團隊在程式碼進入正式環境前找出錯誤。

Parasoft 的自動化測試解決方案設計上即針對車用標準(如 ISO 26262、ISO 21434、AUTOSAR C++14 與 MISRA)進行最佳化。

以 Parasoft C/C++test 為例,開發團隊能在早期開發階段執行靜態與動態分析,找出缺陷與漏洞,並透過可自訂儀表板與詳細報告進行合規性檢查。

此方法不僅加快產品上市時程,也確保 ADAS 軟體具備安全、可靠、符合法規的品質。

靜態程式碼分析在確保軟體可靠性方面扮演關鍵角色,它能在程式執行前偵測出錯誤、漏洞與合規性問題。

為什麼靜態分析非常重要

不同於需執行程式的動態測試,靜態分析是在不執行的情況下檢查程式碼,能在開發早期發現缺陷,有效防止潛在錯誤演變為高成本問題,同時提升程式碼品質、可維護性與安全性,是 ADAS 開發不可或缺的工具。

透過控制流程與資料流程分析及早發現缺陷

ADAS 軟體仰賴即時處理感測資料的複雜演算法。控制流程分析確保執行路徑如預期運作;資料流程分析則追蹤變數在程式中的變化。這些技術能揭露競爭條件、記憶體洩漏及非預期行為等問題,避免這些隱性錯誤在真實場景中釀成災難。

確保符合 ISO 26262 與 MISRA 標準

ISO 26262 與車用軟體編碼標準(如 MISRA)對 ADAS 開發提出嚴格要求。透過靜態分析,自動化執行編碼規範檢查,有助於減少實地發現問題的風險與高額重工成本。

Parasoft 將 AI 技術導入靜態分析

現今已進入 AI 時代,而 Parasoft 也積極將 AI 技術導入其平台中。

Parasoft 的靜態程式碼分析解決方案採用先進的 AI 與機器學習演算法來強化軟體品質與合規性。平台結合樣式辨識、規則式分析與資料流程技術,能自動檢測 C/C++、Java、C#、VB.NET 等語言中的漏洞、編碼錯誤與違規情形。

靜態分析工具會自動優先排序違規項目,並提供可執行的修正建議,有效縮短修復時間並降低修正成本。

為支援敏捷開發,此解決方案可整合至 CI/CD 流程中,讓團隊能快速迭代的同時,也不犧牲安全性。

開發安全、可靠的 ADAS 不只是技術創新,更需要嚴謹的測試、即時效能驗證與法規合規性。

面對日益嚴峻的安全疑慮與召回事件增加,車廠必須超越單純的「符合標準」,確保 ADAS 系統在實際道路上能穩定無誤地運作。

Parasoft 所提供的自動化測試方案,包括靜態分析、模擬驗證與合規檢查,正是銜接軟體開發與實際行車安全間的關鍵橋樑。

本文由parasoft提供