一、產品概述
在開發(fā)過程中,越早發(fā)現并消除軟件錯誤,成本就越低。通過使用QA MISRA進行代碼的靜態(tài)分析,可以在早期階段發(fā)現危險結構、安全、維護和移植問題。
QA MISRA可以快速地分析大量復雜的軟件包。這樣簡化了質量管理,并幫助用戶遵守相關的安全標準,用戶的代碼是否符合項目所需的規(guī)范。
使用QA MISRA檢查的用戶代碼可靠性、可移植性及易維護性。應用QA MISRA,使得用戶的軟件變得更統一、更簡單、更健壯。
QA MISRA能自動檢查用戶的C/C++代碼是否符合 MISRA 和 AUTOSAR 規(guī)則,及安全標準,如SEI Cert C/C++,CWE,ISO/IEC TS 17961,HIS Metrics等。

二、功能特性
1、靜態(tài)代碼分析
靜態(tài)分析持續(xù)檢查和報告軟件缺陷、語言實現錯誤、不一致、危險用法、編碼標準的違背和安全漏洞。
早期檢測缺陷,防止昂貴代價的錯誤
QA MISRA 檢查源代碼中的900多個潛在的軟件錯誤。通過使用QA MISRA 進行靜態(tài)分析,可以在早期階段發(fā)現危險結構、安全、維護和移植等問題。
產生干凈的行為可預測的代碼
即使是符合ISO標準的軟件,其行為也可能與預期不同,因為并非所有在開發(fā)過程中可能導致問題的因素都被安全標準歸類為不正確。這就是為什么使用 QA MISRA 進行靜態(tài)分析也會顯示代碼中經常被開發(fā)人員和編譯器忽略的問題。QA MISRA 的測試完全自動化功能,可以節(jié)省寶貴的開發(fā)資源。

監(jiān)控代碼庫 – 綜合的可配置報告
綜合報告幫助用戶查找問題,顯示應該留意的地方。
合規(guī)性報告,指出需要更多工作以提高合規(guī)程度的區(qū)域。
分類報告,檢測出的規(guī)則違背部分由用戶進行分類。
度量報告,提供文本、HTML 和 CSV 格式的度量數據。

違反約束
QA MISRA可以幫助用戶在語法正確但語義不正確、未指定或未定義的代碼中查找錯誤。在某些情況下,這可能會導致編譯器產生錯誤并停止工作,但 QA MISRA可以檢測到不妨礙編譯器工作的錯誤。

跨多個模塊的分析
QA MISRA 識別鏈接器無法解決的不合規(guī)行為。整個項目中的外部對象和函數的 遞歸以及相互矛盾的聲明很容易被檢測到。

可移植性
QA MISRA 促使代碼在不同的編譯器和平臺之間保持一致,同時認識到標準的局 限、語言擴展和實現定義的行為。
類型轉換
QA MISRA 確定數據類型之間的隱式轉換(默認參數、整數提升、函數返回)。

冗余代碼
QA MISRA檢測未使用的變量、函數和參數以及結果不會改變的條件(始終為真 或始終為假)。
語句和操作
QA MISRA 可檢測可疑的比較操作,包括使用不正確的類型,并可以發(fā)現會產生 誤解或難以理解和維護的結構,即使它們是允許使用的。
命名規(guī)范
QA MISRA 通過正則表達式鼓勵使用統一格式。所有標識符都可以檢查。
2、對標準的符合性
QA MISRA 的開發(fā)是與 MISRA 委員會專家密切合作的成果。如何理解和改進報告 的 MISRA 違規(guī)行為?它為開發(fā)人員提供了全面的知識庫和廣泛的示例代碼,幫助遵守 MISRA 標準。
未來趨勢——內嵌的
無論軟件開發(fā)市場走向何方,使用QA MISRA的用戶將始終處于領先地位。畢竟,作為“行業(yè)標準”,MISRA 的規(guī)則集將保持并加強其地位。
高度可配置性
QA MISRA 的特殊之處:QA MISRA 可以定制為在用戶的開發(fā)環(huán)境中工作,具有 高度可配置的 MISRA 合規(guī)性規(guī)則集,用于定義公司特定的子集以檢查合規(guī)性。
更好的軟件
QA MISRA 通過有效檢測代碼中的錯誤、不一致性、過時功能和對標準的一般違 反,確保用戶的軟件滿足 MISRA 標準的嚴格要求。錯誤可以在成本效益仍然可以實現 的階段糾正。
更好的理解——一致性開發(fā)
QA MISRA 確保用戶的所有代碼都符合 MISRA 規(guī)則。而且它有助于開發(fā)人員在軟 件中安全使用 C 和 C++語言同時滿足 MISRA 標準。使用 QA MISRA 開發(fā)的代碼往往 不那么復雜,因為單個開發(fā)人員和團隊可以遵循一致的標準。
可測試、可維護和可移植
使用 QA MISRA 創(chuàng)建的軟件可以在開發(fā)的所有階段進行測試。如果軟件符合 MISRA 標準,那么代碼的維護和移植就容易多了。
縮短上市時間
可以在非常早期的階段可靠地識別和糾正錯誤,從而使用戶能夠更快地發(fā)布軟件, 而不會危及質量。
3、持續(xù)集成
什么是持續(xù)集成
持續(xù)集成原則鼓勵開發(fā)人員和團隊不斷地共享和集成他們的所有貢獻;遠離夜間構建的概念,轉而接受連續(xù)構建的概念;遠離政策執(zhí)行,轉而依靠質量執(zhí)行;目標是獲得對軟件驗證和軟件依賴性的完全和自動化的控制,這樣每個開發(fā)人員都有可能成為發(fā)布候選。
可以在命令行上運行測試工具,以便它們可以輕松地與許多CI工具集成。

關鍵軟件的以測試為中心的過程
QA MISRA和CANTATA支持驗證代碼的靜態(tài)和動態(tài)方面。靜態(tài)分析有助于在執(zhí)行代碼動態(tài)測試之前檢測缺陷,節(jié)省時間。軟件單元和集成測試驗證正確的行為,以及不會發(fā)生不正確的行為,同時檢查代碼的執(zhí)行路徑和驗證需求。每個階段的自動化功能以及與CI構建系統和需求收集工具的可靠集成,將手動測試的需求降至最低。所有這些加起來大大減少了缺陷,并通過在開發(fā)周期中更快、更早地識別問題節(jié)省了時間。

Jenkins 插件
為靜態(tài)分析解決方案倡導的“早期且經常”的方法顯然與持續(xù)集成理念產生了共鳴,這種理念正越來越多地被作為軟件質量的可靠方法保障。
Jenkins插件將允許用戶自動化啟用的 C/C++項目的分析,將分析作為持續(xù)集成過程的一部分來執(zhí)行。
該插件提供了一系列功能,包括:
- 自動檢查每個 Jenkins 構建是否違反規(guī)則
- 直接在 Jenkins 工作區(qū)中歸檔分析報告
- 通過 Jenkins web 界面訪問分析結果
- 根據用戶的標準,根據分析結果自動將生成標記為錯誤
- 將不同版本的分析作為單獨的分析修訂版啟動,以便于調試和記錄進度

4、給用戶帶來的價值
- 降低成本,同時縮短上市時間
- 降低程序失敗的風險
- 在開發(fā)周期的早期識別編碼問題
- 確保符合代碼質量和編碼標準
- MISRA 標準的完全集成環(huán)境
- 適用于需要安全關鍵軟件的所有行業(yè)
- 加速并重新聚焦代碼評審過程,并改進開發(fā)團隊的協作
- 提升開發(fā)人員的專業(yè)技能并推廣最佳實踐
- 增強可靠性、可移植性和可維護性
- 提高代碼的可移植性和可重用性
- 開發(fā)環(huán)境中的即時和可重復測試
5、主要特征
QA MISRA 是一種靜態(tài)分析器,旨在檢查符合 C90、C99、C11、C18 和 C++98、C++11、C++14、C++17 語言規(guī)范的安全關鍵 C/C++程序的編碼準則,計算代碼度量。
- 快速易用
- 實施編碼準則,包括 MISRAC:2004、MISRA-C:2012 和定制規(guī)則集
- 在句法規(guī)則上沒有漏報和誤報
- 與 Astrée 無縫集成,確保語義規(guī)則的零漏報和最小誤報
- 代碼度量的計算:HIS 度量和定制度量
- 強制執(zhí)行度量閾值
- 報告的代碼問題的完全可跟蹤性
- 交互式結果探索
- 調查結果的穩(wěn)健分類
- 可配置報告文件生成
- 項目進度和分析修訂的跟蹤和可視化
- 客戶機/服務器體系結構,具有分析請求的隊列處理,以及集中的用戶管理和身份驗證
- 具有開放接口和開放文件格式的獨立工具
- MATLAB 集成與 TargetLink 耦合
- 根據安全標準進行自動工具合格審定
6、基本功能
- 命令行接口
- 交互式圖形用戶界面
- 在線幫助和 MISRA 知識庫
- 概要和詳細報告
- 集成到基于 Eclipse 的 IDE 中
7、代碼分析功能
- 快速源代碼分析
- 警報可根據注釋進行分類
- ISO/IEC 9899:1990 (C90)
- ISO/IEC 9899:1999 (C99)
- ISO/IEC 9899:2011 (C11)
- ISO/IEC 9899:2018 (C18)
- ISO/IEC 14882:2011 (C++11)
- ISO/IEC 14882:2014 (C++14)
- ISO/IEC 14882:2017 (C++17)
8、持續(xù)集成環(huán)境
- Jenkins
- 其他 CI 環(huán)境可以通過命令行集成
9、支持的編程標準
- MISRA C:2004
- MISRA C:2012
- MISRA C:2012 修訂 1&2
- MISRA AC AGC
- HIS Metrics
- ISO/IEC TS 17961:2013(C 安全編碼規(guī)則)
- SEI CERT C 編程規(guī)范
- SEI CERT C++ 編程規(guī)范
- CWE
- MISRA C++:2008
- Adaptive AUTOSAR C++14
- 命名規(guī)范檢查
- 可擴展的規(guī)則集
10、安全關鍵標準
通過使用“合格審定支持工具包”,QA MISRA 支持以下安全標準:
- ISO 26262:2018(汽車電子)
- EN 50128:2011/A2:2020(軌道交通)
- EN 50657:2017(鐵路軌道)
- IEC 62304:2006(醫(yī)療器械)
- IEC 61508:2010(工業(yè)自動化)
- DO-178B(航空航天與國防)
- DO-178C / DO-330(航空航天與國防)
11、系統需求
- Windows:64 位 Windows10
- Linux:64 位 CentOS/RHEL 7 或其他兼容發(fā)行版
- 4 GB RAM(建議使用 16 GB)
- 4 GB 存儲空間

首頁 > 產品中心 > QA MISRA
