一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

MISRA編碼標準和靜態(tài)代碼分析儀

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:Ekaterina Nikiforova ? 2022-10-21 09:31 ? 次閱讀

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

那么什么是米斯拉?

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

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

命令的

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

咨詢 – 非強制性

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

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

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

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

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

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

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

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

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

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

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

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

環(huán)路計數(shù)器不得具有本質(zhì)上的浮動類型;

函數(shù)末尾應具有單個退出點;

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

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

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

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

克隆存儲庫。

pYYBAGNR9mKAb0eBAABcW_J0tHM040.png

運行生成配置腳本。

poYBAGNR9mSAOZQnAABoJzFS0OY416.png

在跟蹤模式下運行 PVS 工作室并生成項目。

pYYBAGNR9mWANv1XAAE_2NYp_cM659.png

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

poYBAGNR9meAO21ZAADkhTogRM4220.png

將日志轉(zhuǎn)換為

pYYBAGNR9miAWYJgAABl5j3udLs963.png

我們可以查看日志。

poYBAGNR9mmADw7tAAGWum8bTEw050.png

審核編輯:郭婷

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

    關注

    48

    文章

    7846

    瀏覽量

    153425
  • C++
    C++
    +關注

    關注

    22

    文章

    2116

    瀏覽量

    74607
  • MISRA
    +關注

    關注

    0

    文章

    21

    瀏覽量

    7136
收藏 人收藏

    評論

    相關推薦
    熱點推薦

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

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

    功率分析儀的接線方式

     功率分析儀的接線方式是確保其準確測量電力參數(shù)的關鍵步驟。以下是一些常見的功率分析儀接線方式及其特點:
    的頭像 發(fā)表于 01-28 15:10 ?1108次閱讀

    功率分析儀的功率是怎么算的

    功率分析儀的功率計算主要基于電壓和電流的測量值。以下是關于功率分析儀功率計算的詳細解釋:
    的頭像 發(fā)表于 01-28 15:06 ?761次閱讀

    功率分析儀選型_功率分析儀功能

    功率分析儀是一種專門用于測量和分析電力參數(shù)的電子設備,能夠?qū)崟r、準確地測量電路中的電壓、電流、功率、功率因數(shù)等電力參數(shù),并將測量結(jié)果以波形、圖表等形式直觀地顯示出來。選擇合適的功率分析儀需要綜合考慮多方面因素,以下是一些詳細的選
    的頭像 發(fā)表于 01-28 14:49 ?511次閱讀

    電視信號分析儀的技術(shù)原理和應用

    指標。這些指標對于評估電視節(jié)目的傳輸質(zhì)量至關重要。 設備調(diào)試和維護:在廣播電視設備的調(diào)試和維護過程中,電視信號分析儀可用于檢查設備的性能和參數(shù)設置。通過對比標準信號和實際信號之間的差異,可以發(fā)現(xiàn)并解決設備
    發(fā)表于 12-12 14:35

    頻譜分析儀與信號分析儀的區(qū)別

    在現(xiàn)代電子通信領域,頻譜分析儀和信號分析儀是兩種不可或缺的測試工具。它們都用于測量和分析信號的特性,但它們的功能、應用和工作原理存在顯著差異。 一、定義與基本原理 頻譜分析儀 是一種用
    的頭像 發(fā)表于 11-27 15:26 ?1859次閱讀

    Keysight 頻譜分析儀(信號分析儀

    Keysight頻譜分析儀(信號分析儀)足夠的性能和卓越的可靠性,幫助您更輕松、更快速地應對常見的射頻-微波測試測量挑戰(zhàn)??煽康念l譜分析儀和信號分析儀提供準確可信的測量結(jié)果無論您是要在
    的頭像 發(fā)表于 09-12 08:10 ?859次閱讀
    Keysight 頻譜<b class='flag-5'>分析儀</b>(信號<b class='flag-5'>分析儀</b>)

    whitepaper-perforce-what-is-misra

    如果您熟悉嵌入式軟件的世界,您可能聽說過安全關鍵系統(tǒng)的MISRA編碼準則和合規(guī)性。最初為在汽車嵌入式軟件行業(yè),MISRA C for C 和 C++ 被廣泛使用嵌入式行業(yè),從航空航天和國防到醫(yī)療設備。本文提供
    發(fā)表于 08-08 15:54 ?0次下載

    Perforce靜態(tài)代碼分析專家解讀MISRA C++:2023?新標準:如何安全、高效地使用基于范圍的for循環(huán),防范未定義行

    MISRA C++:2023——MISRA? C++ 標準的下一個版本來了!為了幫助您了解 MISRA C++:2023相比于之前版本的變化,我們將繼續(xù)為您帶來Perforce首席技術(shù)
    的頭像 發(fā)表于 06-18 12:57 ?649次閱讀

    信號分析儀與頻譜分析儀區(qū)別是什么

    信號分析儀與頻譜分析儀是電子測量領域中兩種非常重要的儀器。它們在信號處理、通信、射頻設計等方面具有廣泛的應用。盡管它們在某些方面具有相似性,但它們之間還是存在一些關鍵的區(qū)別。本文將詳細介紹信號分析儀
    的頭像 發(fā)表于 06-03 16:33 ?3369次閱讀

    網(wǎng)絡分析儀工作原理 網(wǎng)絡分析儀和頻譜分析儀的區(qū)別

    網(wǎng)絡分析儀和頻譜分析儀是兩種廣泛應用于電子測量領域的儀器。它們各自具有獨特的工作原理和應用場景。本文將詳細介紹網(wǎng)絡分析儀的工作原理,網(wǎng)絡分析儀與頻譜
    的頭像 發(fā)表于 06-03 15:38 ?2360次閱讀

    頻譜分析儀檢定規(guī)程標準

    頻譜分析儀的測量精度和可靠性,需要對其進行定期的檢定。本文詳細介紹了頻譜分析儀檢定規(guī)程的標準。 檢定目的 頻譜分析儀檢定的主要目的是確保儀器的測量精度和可靠性,滿足實際應用中對信號
    的頭像 發(fā)表于 06-03 09:26 ?973次閱讀

    信號分析儀與頻譜分析儀的區(qū)別

    在電子工程、通信、無線電以及生物醫(yī)學等多個領域中,信號分析儀和頻譜分析儀都是至關重要的測量和分析工具。雖然兩者在功能和應用上有一定的重疊,但它們在設計和應用上存在著顯著的差異。本文將對信號分析
    的頭像 發(fā)表于 05-17 14:21 ?3733次閱讀

    掃頻頻譜分析儀與實時頻譜分析儀的區(qū)別

    在電子測量領域中,頻譜分析儀是一種至關重要的工具,它能夠幫助工程師和技術(shù)人員精確地測量和分析信號的頻譜特性。傳統(tǒng)的頻譜分析儀,如掃頻頻譜分析儀,與新興的實時頻譜
    的頭像 發(fā)表于 05-13 18:04 ?2844次閱讀

    網(wǎng)絡分析儀的分類

    網(wǎng)絡分析儀主要可以分為兩類:標量網(wǎng)絡分析儀(Scalar Network Analyzer)和矢量網(wǎng)絡分析儀(Vector Network Analyzer)。
    的頭像 發(fā)表于 05-08 16:34 ?966次閱讀