国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

MISRA編碼標準和靜態代碼分析儀

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Ekaterina Nikiforova ? 2022-11-25 16:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來,軟件質量、安全和保障已成為重中之重。在我們之前的文章中,我們已經提到了歷史上的一些事件,這些事件造成了巨大的經濟損失和人員死亡。阿麗亞娜5的爆炸,患者使用Therac-25放射治療機過量服用20,000拉德,89因豐田的過錯而死亡。所有這些故事都有一個共同點:導致巨大損失的軟件錯誤。

那么什么是MISRA?

最初,MISRA(汽車行業軟件可靠性協會)的成立是為了設計一套用于道路車輛的微控制器軟件開發指南。從那時起,它已被應用于每個可靠性和安全關鍵領域,包括汽車行業、醫療設備、航空航天和國防等。MISRA 標準是一個由一組規則和建議組成的文檔,C 和 C++ 開發人員在開發應用程序時應遵守這些規則和建議。MISRA-C:1998版本有127條規則。

所有這些規則都可以分為以下幾類:

命令的

必需 – 允許偏離規則(但建議記錄在案)

咨詢 – 非強制性

(來源:什么是MISRA以及如何烹飪)

首先要提到的是,MISRA標準的應用應該在開發過程實際開始之前開始,并且只有在真正需要時才開始。在其他情況下,特別是當代碼庫足夠大并且不適合在嵌入式系統上使用時,開發人員將不得不進行漫長而乏味的重構。為什么會這樣?

WinMerge的源代碼大約有25萬行C和C++代碼長。這是一個小項目,但是規定將if語句的主體括在大括號中的規則在其中被打破了大約兩千次。有 127-228 條這樣的規則(取決于標準的版本)。

Nana是一個用于創建圖形用戶界面的跨平臺庫,其源代碼長度不到10萬LOC。在這個項目中,同樣的規則被打破了大約三千次。

除了關于大括號的規則外,還有一些:

不得使用繼續語句;

每個 switch 語句都應有一個默認標簽;

不得使用 goto 語句;

如果。..否則,如果構造應以 else 子句終止;

那么,它的用途是什么?

但是,這些規則并不意味著使開發人員的生活更加艱難。這些是用鮮血寫成的規則,需要它們來使安全關鍵代碼不易出現錯誤。這個想法是簡單明了的代碼不太可能包含錯誤。下面是一些診斷示例作為證據:

賦值運算符不得用于返回布爾值的表達式中;

所有非 void 的函數都應返回一個值;

循環計數器基本上不應具有浮動類型;

函數末尾應該有一個單點出口;

遵循 MISRA 指南將有助于提高軟件的可靠性。但是,那些不熟悉MISRA的人可能想知道它究竟是如何使用的。你真的必須把這127條規則都記在腦子里嗎?這就是靜態分析器可以提供幫助的地方。

靜態分析的目的是什么?

手動檢查代碼是否符合 MISRA 標準是一項漫長而乏味的工作。但實際上你不必記住所有這些規則。靜態代碼分析器可以為您完成所有操作。

靜態代碼分析是檢測計算機程序源代碼中的錯誤和小缺陷的過程。它可以被視為自動代碼審查。一些靜態分析器可以檢查代碼是否符合 MISRA 規則,正是這些工具將幫助您查找并修復程序中所有不符合規則的地方。為此,您只需使用分析器檢查您的項目并研究檢查結束時生成的分析報告。下面我將簡要演示如何使用 PVS-Studio 分析器和項目 Shairport 作為示例來執行此操作。

克隆存儲庫。

poYBAGOAfWSAAqd6AABcW_J0tHM455.png

運行生成配置腳本。

poYBAGOAfWeABmCRAABoJzFS0OY498.png

在跟蹤模式下運行 PVS-Studio 并生成項目。

poYBAGOAfWmAF1HPAAE_2NYp_cM931.png

根據上一步的結果分析項目文件。

pYYBAGOAfWuAFL9YAADkhTogRM4622.png

將日志轉換為 html。

pYYBAGOAfW-AC5BnAABl5j3udLs781.png

審核編輯:郭婷

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    8375

    瀏覽量

    164558
  • C++
    C++
    +關注

    關注

    22

    文章

    2124

    瀏覽量

    77112
  • MISRA
    +關注

    關注

    0

    文章

    22

    瀏覽量

    7436
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    網絡分析儀的設置與基本原理

    一、網絡分析儀簡介 網絡分析儀(Network Analyzer)是射頻與微波領域中用于表征電子元器件和電路網絡特性的關鍵測試儀器。其名稱中的“網絡”并非指計算機網絡,而是源于電路理論中對任意
    的頭像 發表于 03-03 17:44 ?1013次閱讀
    網絡<b class='flag-5'>分析儀</b>的設置與基本原理

    頻譜分析儀的工作原理與應用

    頻譜分析儀是一種關鍵的電子測量設備,廣泛應用于射頻(RF)與微波信號的分析與檢測。它通過將信號從時域轉換到頻域,幫助工程師和技術人員深入了解信號的特性,確保信號質量并優化系統性能。 ? 一、頻譜分析儀
    的頭像 發表于 03-02 17:05 ?517次閱讀
    頻譜<b class='flag-5'>分析儀</b>的工作原理與應用

    C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標準對比與Perforce QAC應用詳解

    如何編寫真正安全的C語言代碼?指南涵蓋MISRA C、CERT、CWE等國際安全編碼標準對比,以及如何借助Perforce QAC自動檢測漏洞。推薦給嵌入式/汽車/工業軟件的開發者!
    的頭像 發表于 01-26 17:38 ?802次閱讀
    C語言安全<b class='flag-5'>編碼</b>指南:<b class='flag-5'>MISRA</b> C、CERT C、CWE 與 C Secure <b class='flag-5'>標準</b>對比與Perforce QAC應用詳解

    矢量網絡分析儀與標量網絡分析儀的區別

    在網絡分析領域,矢量網絡分析儀(VNA)與標量網絡分析儀(SNA)是兩種核心測量工具,盡管名稱相近,其測量能力與應用場景卻存在顯著差異,核心區別可歸結為“測大小”與“測全貌”的本質不同。 ? 一
    的頭像 發表于 01-22 15:58 ?487次閱讀
    矢量網絡<b class='flag-5'>分析儀</b>與標量網絡<b class='flag-5'>分析儀</b>的區別

    網絡分析儀為什么需要校準?

    正確的校準是使用網絡分析儀 VNA 的一個難點。網絡分析儀VNA測量出來的S參數是否有錯誤并不能通過VNA直接能檢查出來,只有導入仿真軟件仿真出結果發現有問題時可能會懷疑是S參數測量有問題,再返回
    的頭像 發表于 01-16 16:34 ?208次閱讀
    網絡<b class='flag-5'>分析儀</b>為什么需要校準?

    矢量網絡分析儀與標量網絡分析儀技術差異與應用場景解析

    在射頻與微波測試領域,網絡分析儀是評估電路與器件性能的核心工具。矢量網絡分析儀(Vector Network Analyzer, VNA)與標量網絡分析儀(Scalar Network
    的頭像 發表于 12-11 17:16 ?1436次閱讀
    矢量網絡<b class='flag-5'>分析儀</b>與標量網絡<b class='flag-5'>分析儀</b>技術差異與應用場景解析

    如何合理選擇頻譜分析儀,便攜式頻譜分析儀,手持式頻譜分析儀

    頻譜分析儀作為參考看看以下關鍵指標和特性: 功能一、標準頻譜分析(SWP) 一、核心技術指標(決定測量精度與范圍) 1.頻率范圍 頻率范圍作為實時頻譜分析儀最基礎的參數,指能
    的頭像 發表于 09-17 17:53 ?698次閱讀

    同步熱分析儀的聯用技術的應用

    同步熱分析儀是一款可同時測量樣品的tg和dsc信號的熱分析儀器,被廣泛應用在材料科學、高分子工程師、醫藥生物、能源等領域。隨著同步熱分析儀性能技術的不斷提升,同步熱分析儀可與其他儀器聯
    的頭像 發表于 08-28 16:04 ?804次閱讀
    同步熱<b class='flag-5'>分析儀</b>的聯用技術的應用

    是德科技信號分析儀靈敏度的設置

    信號分析儀(也稱為頻譜分析儀)通常用于測量微弱信號,包括已知信號和未知信號。通過噪聲校正、本底噪聲擴展 (NFE) 和優化信號分析儀設置,可以實現設備的最佳靈敏度,從而更輕松地檢測和測量微弱信號。
    的頭像 發表于 08-21 09:30 ?2402次閱讀
    是德科技信號<b class='flag-5'>分析儀</b>靈敏度的設置

    熱重分析儀品牌有哪些?具備哪些優勢

    熱重分析儀是一種通過程序控溫下測量樣品質量變化的檢測儀器,其用于測量材料熱穩定性、反應動力學、組分分析等特性。熱重分析儀的應用領域較多,其中包括:食品工業、材料科學、化工、醫藥生物、電子電器、能源等
    的頭像 發表于 07-23 13:39 ?676次閱讀
    熱重<b class='flag-5'>分析儀</b>品牌有哪些?具備哪些優勢

    熱重分析儀在塑料領域的應用

    熱重分析儀作為材料研究中的關鍵設備,在塑料領域發揮著至關重要的作用。其工作原理基于熱重法,通過精準測量物質在程序控制溫度下的質量變化,從而揭示材料的熱穩定性和組分特性。在塑料行業中,熱重分析儀
    的頭像 發表于 07-17 10:40 ?542次閱讀
    熱重<b class='flag-5'>分析儀</b>在塑料領域的應用

    AI數據分析儀設計原理圖:RapidIO信號接入 平板AI數據分析儀

    AI數據分析儀, 平板數據分析儀, 數據分析儀, AI邊緣計算, 高帶寬數據輸入
    的頭像 發表于 07-17 09:20 ?747次閱讀
    AI數據<b class='flag-5'>分析儀</b>設計原理圖:RapidIO信號接入 平板AI數據<b class='flag-5'>分析儀</b>

    MISRA C:2025新標準解析:新增規則、優化點與靜態代碼分析工具支持(Perforce QAC、Klocwork)

    MISRA C:2025?發布!新增5條規則,并對部分現有規則進行了擴展、重組,以進一步簡化安全關鍵型系統的開發流程。如何實現最新MISRA合規性?
    的頭像 發表于 05-08 17:58 ?2844次閱讀
    <b class='flag-5'>MISRA</b> C:2025新<b class='flag-5'>標準</b>解析:新增規則、優化點與<b class='flag-5'>靜態</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具支持(Perforce QAC、Klocwork)

    是德N9917A FieldFox手持分析儀 N9917B便攜式分析儀

    電壓表。 N9917A FieldFox 手持式微波分析儀 主要特性和功能 18 GHz 最大頻率 *隨身攜帶功能齊全的手持式分析儀標準型號包括電纜和天線分析儀 *添加 VNA、頻譜
    的頭像 發表于 05-07 16:58 ?1083次閱讀

    同步熱分析儀有哪些品牌?怎么選

    同步熱分析儀又稱之為綜合熱分析儀,是一款在同一實驗中同步獲取樣品的熱重曲線(tg)和熱效應曲線(dsc),為材料的熱性能分析提供更全面的數據分析,真正做到了一機多用。目前,市場上同步熱
    的頭像 發表于 04-22 14:49 ?1400次閱讀
    同步熱<b class='flag-5'>分析儀</b>有哪些品牌?怎么選