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-10-21 09:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

那么什么是米斯拉?

最初,MISRA(汽車工業(yè)軟件可靠性協(xié)會(huì))的成立是為了設(shè)計(jì)一套用于道路車輛的微控制器軟件開發(fā)指南。從那時(shí)起,它已被應(yīng)用于每個(gè)可靠性和安全性關(guān)鍵領(lǐng)域,包括汽車行業(yè),醫(yī)療設(shè)備,航空航天和國防等。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標(biāo)準(zhǔn)的應(yīng)用應(yīng)該在開發(fā)過程實(shí)際開始之前開始,并且只有在真正需要的時(shí)候才開始。在其他情況下,特別是當(dāng)代碼庫足夠大并且不打算在嵌入式系統(tǒng)上使用時(shí),開發(fā)人員將不得不進(jìn)行漫長而乏味的重構(gòu)。為什么會(huì)這樣?

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

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

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

不得使用繼續(xù)聲明;

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

不得使用“轉(zhuǎn)到”聲明;

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

那么,它的用途是什么呢?

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

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

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

環(huán)路計(jì)數(shù)器不得具有本質(zhì)上的浮動(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)漫長而乏味的工作。但實(shí)際上,您不必記住所有這些規(guī)則。靜態(tài)代碼分析器可以為您完成所有操作。

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

克隆存儲(chǔ)庫。

pYYBAGNR9mKAb0eBAABcW_J0tHM040.png

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

poYBAGNR9mSAOZQnAABoJzFS0OY416.png

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

pYYBAGNR9mWANv1XAAE_2NYp_cM659.png

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

poYBAGNR9meAO21ZAADkhTogRM4220.png

將日志轉(zhuǎn)換為

pYYBAGNR9miAWYJgAABl5j3udLs963.png

我們可以查看日志。

poYBAGNR9mmADw7tAAGWum8bTEw050.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

    文章

    8403

    瀏覽量

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

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77179
  • MISRA
    +關(guān)注

    關(guān)注

    0

    文章

    22

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    頻譜分析儀是什么?頻譜常見問題解答

    頻譜分析儀和信號(hào)分析儀這兩個(gè)術(shù)語往往可以互換使用,不過兩者在功能和能力上還是有一定區(qū)別。當(dāng)今的分析儀可進(jìn)行更全面的頻域、時(shí)域和調(diào)制域信號(hào)分析,用“信號(hào)
    的頭像 發(fā)表于 03-11 17:33 ?607次閱讀
    頻譜<b class='flag-5'>分析儀</b>是什么?頻譜<b class='flag-5'>儀</b>常見問題解答

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

    一、網(wǎng)絡(luò)分析儀簡介 網(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 ?1071次閱讀
    網(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 ?585次閱讀
    頻譜<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等國際安全編碼標(biāo)準(zhǔn)對(duì)比,以及如何借助Perforce QAC自動(dòng)檢測(cè)漏洞。推薦給嵌入式/汽車/工業(yè)軟件的開發(fā)者!
    的頭像 發(fā)表于 01-26 17:38 ?833次閱讀
    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 ?586次閱讀
    矢量網(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 ?246次閱讀
    網(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 ?1472次閱讀
    矢量網(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 ?756次閱讀

    同步熱分析儀的聯(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 ?831次閱讀
    同步熱<b class='flag-5'>分析儀</b>的聯(lián)用技術(shù)的應(yīng)用

    熱重分析儀品牌有哪些?具備哪些優(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 ?699次閱讀
    熱重<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 ?564次閱讀
    熱重<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 ?768次閱讀
    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)一步簡化安全關(guān)鍵型系統(tǒng)的開發(fā)流程。如何實(shí)現(xiàn)最新MISRA合規(guī)性?
    的頭像 發(fā)表于 05-08 17:58 ?2964次閱讀
    <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 ?1184次閱讀

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

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