91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MISRA編碼標(biāo)準(zhǔn)和靜態(tài)代碼分析儀

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

掃碼添加小助手

加入工程師交流群

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

那么什么是MISRA?

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

所有這些規(guī)則都可以分為以下幾類:

命令的

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

咨詢 – 非強(qiáng)制性

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

首先要提到的是,MISRA標(biāo)準(zhǔn)的應(yīng)用應(yīng)該在開發(fā)過程實(shí)際開始之前開始,并且只有在真正需要時(shí)才開始。在其他情況下,特別是當(dāng)代碼庫足夠大并且不適合在嵌入式系統(tǒng)上使用時(shí),開發(fā)人員將不得不進(jìn)行漫長(zhǎng)而乏味的重構(gòu)。為什么會(huì)這樣?

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

Nana是一個(gè)用于創(chuàng)建圖形用戶界面的跨平臺(tái)庫,其源代碼長(zhǎng)度不到10萬LOC。在這個(gè)項(xiàng)目中,同樣的規(guī)則被打破了大約三千次。

除了關(guān)于大括號(hào)的規(guī)則外,還有一些:

不得使用繼續(xù)語句;

每個(gè) switch 語句都應(yīng)有一個(gè)默認(rèn)標(biāo)簽;

不得使用 goto 語句;

如果。..否則,如果構(gòu)造應(yīng)以 else 子句終止;

那么,它的用途是什么?

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

賦值運(yùn)算符不得用于返回布爾值的表達(dá)式中;

所有非 void 的函數(shù)都應(yīng)返回一個(gè)值;

循環(huán)計(jì)數(shù)器基本上不應(yīng)具有浮動(dòng)類型;

函數(shù)末尾應(yīng)該有一個(gè)單點(diǎn)出口;

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

靜態(tài)分析的目的是什么?

手動(dòng)檢查代碼是否符合 MISRA 標(biāo)準(zhǔn)是一項(xiàng)漫長(zhǎng)而乏味的工作。但實(shí)際上你不必記住所有這些規(guī)則。靜態(tài)代碼分析器可以為您完成所有操作。

靜態(tài)代碼分析是檢測(cè)計(jì)算機(jī)程序源代碼中的錯(cuò)誤和小缺陷的過程。它可以被視為自動(dòng)代碼審查。一些靜態(tài)分析器可以檢查代碼是否符合 MISRA 規(guī)則,正是這些工具將幫助您查找并修復(fù)程序中所有不符合規(guī)則的地方。為此,您只需使用分析器檢查您的項(xiàng)目并研究檢查結(jié)束時(shí)生成的分析報(bào)告。下面我將簡(jiǎn)要演示如何使用 PVS-Studio 分析器和項(xiàng)目 Shairport 作為示例來執(zhí)行此操作。

克隆存儲(chǔ)庫。

poYBAGOAfWSAAqd6AABcW_J0tHM455.png

運(yùn)行生成配置腳本。

poYBAGOAfWeABmCRAABoJzFS0OY498.png

在跟蹤模式下運(yùn)行 PVS-Studio 并生成項(xiàng)目。

poYBAGOAfWmAF1HPAAE_2NYp_cM931.png

根據(jù)上一步的結(jié)果分析項(xiàng)目文件。

pYYBAGOAfWuAFL9YAADkhTogRM4622.png

將日志轉(zhuǎn)換為 html。

pYYBAGOAfW-AC5BnAABl5j3udLs781.png

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 微控制器
    +關(guān)注

    關(guān)注

    48

    文章

    8381

    瀏覽量

    164605
  • C++
    C++
    +關(guān)注

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77124
  • MISRA
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    網(wǎng)絡(luò)分析儀的設(shè)置與基本原理

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

    頻譜分析儀的工作原理與應(yīng)用

    頻譜分析儀是一種關(guān)鍵的電子測(cè)量設(shè)備,廣泛應(yīng)用于射頻(RF)與微波信號(hào)的分析與檢測(cè)。它通過將信號(hào)從時(shí)域轉(zhuǎn)換到頻域,幫助工程師和技術(shù)人員深入了解信號(hào)的特性,確保信號(hào)質(zhì)量并優(yōu)化系統(tǒng)性能。 ? 一、頻譜分析儀
    的頭像 發(fā)表于 03-02 17:05 ?529次閱讀
    頻譜<b class='flag-5'>分析儀</b>的工作原理與應(yīng)用

    C語言安全編碼指南:MISRA C、CERT C、CWE 與 C Secure 標(biāo)準(zhǔn)對(duì)比與Perforce QAC應(yīng)用詳解

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

    矢量網(wǎng)絡(luò)分析儀與標(biāo)量網(wǎng)絡(luò)分析儀的區(qū)別

    在網(wǎng)絡(luò)分析領(lǐng)域,矢量網(wǎng)絡(luò)分析儀(VNA)與標(biāo)量網(wǎng)絡(luò)分析儀(SNA)是兩種核心測(cè)量工具,盡管名稱相近,其測(cè)量能力與應(yīng)用場(chǎng)景卻存在顯著差異,核心區(qū)別可歸結(jié)為“測(cè)大小”與“測(cè)全貌”的本質(zhì)不同。 ? 一
    的頭像 發(fā)表于 01-22 15:58 ?495次閱讀
    矢量網(wǎng)絡(luò)<b class='flag-5'>分析儀</b>與標(biāo)量網(wǎng)絡(luò)<b class='flag-5'>分析儀</b>的區(qū)別

    網(wǎng)絡(luò)分析儀為什么需要校準(zhǔn)?

    正確的校準(zhǔn)是使用網(wǎng)絡(luò)分析儀 VNA 的一個(gè)難點(diǎn)。網(wǎng)絡(luò)分析儀VNA測(cè)量出來的S參數(shù)是否有錯(cuò)誤并不能通過VNA直接能檢查出來,只有導(dǎo)入仿真軟件仿真出結(jié)果發(fā)現(xiàn)有問題時(shí)可能會(huì)懷疑是S參數(shù)測(cè)量有問題,再返回
    的頭像 發(fā)表于 01-16 16:34 ?217次閱讀
    網(wǎng)絡(luò)<b class='flag-5'>分析儀</b>為什么需要校準(zhǔn)?

    矢量網(wǎng)絡(luò)分析儀與標(biāo)量網(wǎng)絡(luò)分析儀技術(shù)差異與應(yīng)用場(chǎng)景解析

    在射頻與微波測(cè)試領(lǐng)域,網(wǎng)絡(luò)分析儀是評(píng)估電路與器件性能的核心工具。矢量網(wǎng)絡(luò)分析儀(Vector Network Analyzer, VNA)與標(biāo)量網(wǎng)絡(luò)分析儀(Scalar Network
    的頭像 發(fā)表于 12-11 17:16 ?1452次閱讀
    矢量網(wǎng)絡(luò)<b class='flag-5'>分析儀</b>與標(biāo)量網(wǎng)絡(luò)<b class='flag-5'>分析儀</b>技術(shù)差異與應(yīng)用場(chǎng)景解析

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

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

    同步熱分析儀的聯(lián)用技術(shù)的應(yīng)用

    同步熱分析儀是一款可同時(shí)測(cè)量樣品的tg和dsc信號(hào)的熱分析儀器,被廣泛應(yīng)用在材料科學(xué)、高分子工程師、醫(yī)藥生物、能源等領(lǐng)域。隨著同步熱分析儀性能技術(shù)的不斷提升,同步熱分析儀可與其他儀器聯(lián)
    的頭像 發(fā)表于 08-28 16:04 ?809次閱讀
    同步熱<b class='flag-5'>分析儀</b>的聯(lián)用技術(shù)的應(yīng)用

    是德科技信號(hào)分析儀靈敏度的設(shè)置

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

    熱重分析儀品牌有哪些?具備哪些優(yōu)勢(shì)

    熱重分析儀是一種通過程序控溫下測(cè)量樣品質(zhì)量變化的檢測(cè)儀器,其用于測(cè)量材料熱穩(wěn)定性、反應(yīng)動(dòng)力學(xué)、組分分析等特性。熱重分析儀的應(yīng)用領(lǐng)域較多,其中包括:食品工業(yè)、材料科學(xué)、化工、醫(yī)藥生物、電子電器、能源等
    的頭像 發(fā)表于 07-23 13:39 ?687次閱讀
    熱重<b class='flag-5'>分析儀</b>品牌有哪些?具備哪些優(yōu)勢(shì)

    熱重分析儀在塑料領(lǐng)域的應(yīng)用

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

    AI數(shù)據(jù)分析儀設(shè)計(jì)原理圖:RapidIO信號(hào)接入 平板AI數(shù)據(jù)分析儀

    AI數(shù)據(jù)分析儀, 平板數(shù)據(jù)分析儀, 數(shù)據(jù)分析儀, AI邊緣計(jì)算, 高帶寬數(shù)據(jù)輸入
    的頭像 發(fā)表于 07-17 09:20 ?751次閱讀
    AI數(shù)據(jù)<b class='flag-5'>分析儀</b>設(shè)計(jì)原理圖:RapidIO信號(hào)接入 平板AI數(shù)據(jù)<b class='flag-5'>分析儀</b>

    MISRA C:2025新標(biāo)準(zhǔn)解析:新增規(guī)則、優(yōu)化點(diǎn)與靜態(tài)代碼分析工具支持(Perforce QAC、Klocwork)

    MISRA C:2025?發(fā)布!新增5條規(guī)則,并對(duì)部分現(xiàn)有規(guī)則進(jìn)行了擴(kuò)展、重組,以進(jìn)一步簡(jiǎn)化安全關(guān)鍵型系統(tǒng)的開發(fā)流程。如何實(shí)現(xiàn)最新MISRA合規(guī)性?
    的頭像 發(fā)表于 05-08 17:58 ?2867次閱讀
    <b class='flag-5'>MISRA</b> C:2025新<b class='flag-5'>標(biāo)準(zhǔn)</b>解析:新增規(guī)則、優(yōu)化點(diǎn)與<b class='flag-5'>靜態(tài)</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具支持(Perforce QAC、Klocwork)

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

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

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

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