原創(chuàng)|使用教程|編輯:鄭恭琳|2020-06-18 17:44:03.030|閱讀 426 次
概述:希望通過應用AUTOSAR C++編碼準則來簡化ISO 26262合規(guī)性工作的團隊,如果他們在選擇用于項目的靜態(tài)分析工具時掌握了充分的信息,將會更加成功。閱讀有關(guān)交易的一些技巧。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
希望通過應用AUTOSAR C++編碼準則來簡化ISO 26262合規(guī)性工作的團隊,如果他們在選擇用于項目的靜態(tài)分析工具時掌握了充分的信息,將會更加成功。閱讀有關(guān)交易的一些技巧。
多年來一直占據(jù)著汽車領(lǐng)域主導地位的C語言已不足以滿足日益增長的汽車軟件體系結(jié)構(gòu)的復雜性,并且由于面向?qū)ο笤O計的要求,C++對于許多汽車團隊來說是一種自然的選擇。但是C++是一門復雜的語言,需要付出大量努力才能確保可預測性、安全性和安全性。
汽車功能安全標準ISO 26262提供了有關(guān)軟件開發(fā)和V&V流程的一些指導,但在語言結(jié)構(gòu)層面上并沒有深入探討。為了獲得這樣的指導,組織轉(zhuǎn)向諸如MISRA C/C++或AUTOSAR C++之類的編碼標準。在此文中,我將分享如何使用配置有AUTOSAR C++ 14符合性檢查器的靜態(tài)分析工具來符合ISO 26262。
遵守功能性安全標準(例如ISO 26262)需要付出巨大的努力,并且從一開始就需要成為項目的組成部分。即使在軟件組件的情況下,合規(guī)性也需要在需求收集,計劃和實施過程中進行特定的活動,并且絕對不能“稍后添加”。
ISO 26262指定了達到標準要求的方法的集合。要聲明其合規(guī)性,用戶必須提供證據(jù)證明所有適用的要求和方法均已實施。并非所有方法都適用于所有人。該方法的適用性取決于汽車安全完整性等級(ASIL),這是標準中定義的風險分類(ASIL A代表最低等級,ASIL D代表最高汽車危害等級)。可以強烈推薦、推薦或中性的方法。
團隊在嘗試遵守該標準時通常面臨的挑戰(zhàn)是如何實施為其流程推薦的方法。有關(guān)如何遵守特定方法或要求的決定通常取決于團隊經(jīng)驗。在某些簡單情況下,手動操作和檢查可能是一個答案,但是在大多數(shù)情況下,團隊正在嘗試尋找可以自動化所需方法的工具。
必須通過稱為工具認證的正式流程來批準用于符合ISO26262的工具以用于預期用途。鑒定軟件工具的目的是提供軟件工具適用性的證據(jù),以便在開發(fā)與安全相關(guān)的項目或元素時使用。這可能是一項時間和資源消耗的任務。(如果您使用的是Parasoft C/C++test,則它具有自動化的鑒定套件來支持,該套件簡化了鑒定過程,并包括TüVSüD認證,在許多情況下足以進行工具鑒定。
遵循像AUTOSAR C++這樣的編碼標準,是滿足ISO 26262某些要求的一種廣為接受的方法。AUTOSARC++ 14提供了可追溯性表,這些表將ISO 26262的原理和建議映射到適當?shù)木幋a準則。該映射主要涵蓋了ISO 26262第6部分的第8節(jié),并極大地簡化了實現(xiàn)符合標準中相應方法和要求的過程。
但是,僅AUTOSAR C++ 14編碼指南不足以實現(xiàn)軟件組件符合ISO 26262的要求。該標準中的某些方法無法應用于AUTOSAR準則,例如建議使用“樣式指南的使用”的方法1g或建議使用“命名約定的使用”的方法1h。AUTOSAR C++ 14不包含任何樣式指南或命名約定。但是,這兩種方法都可以使用Parasoft C/C++test輕松實現(xiàn),該軟件包括3000多個靜態(tài)分析檢查器(包括代碼樣式檢查器),并提供了用于創(chuàng)建自定義靜態(tài)分析規(guī)則的模塊。通常,標準中無法通過靜態(tài)分析實現(xiàn)的方法需要其他測試技術(shù),例如故障注入測試。
因此,這當然使我們能夠找到合適的工具來簡化合規(guī)性。將編碼標準合規(guī)性流程引入團隊開發(fā)工作流程并非易事。因此,選擇一種有助于實現(xiàn)合規(guī)性而又不增加過多開銷且不需要其他手動程序的工具非常重要。選擇靜態(tài)分析解決方案時,以下幾點是重要的決策因素。
1.本標準涵蓋的編碼指南
AUTOSAR C++ 14定義了大量指南。目前,AUTOSAR編碼標準的最新版本包含大約400條準則,其中350條準則可以通過靜態(tài)分析來實施。支持如此多的準則對靜態(tài)分析工具供應商來說是一個挑戰(zhàn),并不是市場上所有可用的靜態(tài)分析工具都能充分滿足標準的要求。(無恥的插件:在這種情況下,Parasoft C/C++test是領(lǐng)先的解決方案,涵蓋了數(shù)量最多的AUTOSAR C++準則,并且每天都在繼續(xù)實施。)
2.支持數(shù)據(jù)和流分析技術(shù)
AUTOSAR C++編碼標準中定義的準則具有不同級別的復雜性。一些簡單的準則可以使用相對簡單的靜態(tài)分析技術(shù)來實施,但是有些準則則需要復雜的數(shù)據(jù)和控制流分析,以模擬所分析源代碼中的路徑并確定是否違反了給定準則。
您選擇的靜態(tài)分析工具必須評估代碼中的路徑,以正確確定用于訪問容器中數(shù)據(jù)的索引是否在正確范圍內(nèi)。市場上的許多商業(yè)工具和大多數(shù)開源工具都對此類問題進行了非常基本的流程分析,實際上,它們要么錯過了代碼中的問題,要么報告了大量的誤報,這浪費了大量的時間。審查并殺死生產(chǎn)力。在對靜態(tài)分析工具進行基準測試時,我強烈建議您特別注意比較結(jié)果,以獲取更復雜的準則,這需要流量分析技術(shù)。
3.支持工具鑒定
盡管AUTOSAR C++并沒有明確要求工具資格來批準使用靜態(tài)分析解決方案,但ISO 26262卻需要。因此,當計劃使用AUTOSAR C++簡化對ISO 26262的遵從時,建議選擇一種靜態(tài)分析解決方案,該解決方案為最終用戶提供適當?shù)淖C書和資格認證工具。
遵循像AUTOSAR C++ 14這樣的編碼標準可以幫助組織達到ISO 26262的合規(guī)性,因為ISO 26262標準中定義了多種方法和要求,可以通過符合AUTOSAR編碼準則來滿足這些方法和要求。AUTOSAR C++ 14提供了專用的可追溯性表,這些表演示了ISO 26262要求和編碼準則之間的映射,希望通過應用AUTOSAR C++編碼準則來簡化ISO 26262遵從性工作的團隊如果選擇了充分的信息后會更加成功。用于項目的靜態(tài)分析工具。
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn