在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創作中心

完善資料讓更多小伙伴認識你,還能領取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

    文章

    7841

    瀏覽量

    153309
  • C++
    C++
    +關注

    關注

    22

    文章

    2116

    瀏覽量

    74535
  • MISRA
    +關注

    關注

    0

    文章

    21

    瀏覽量

    7128
收藏 0人收藏

    評論

    相關推薦

    功率分析儀的接線方式

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

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

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

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

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

    電視信號分析儀的技術原理和應用

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

    頻譜分析儀與信號分析儀的區別

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

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

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

    whitepaper-perforce-what-is-misra

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

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

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

    信號分析儀與頻譜分析儀區別是什么

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

    網絡分析儀工作原理 網絡分析儀和頻譜分析儀的區別

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

    頻譜分析儀檢定規程標準

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

    阻抗分析儀的原理與特性

    阻抗分析儀是一種電子測試儀器,專門用于測量電子元器件、電路和材料的阻抗特性。隨著電子技術的快速發展,阻抗分析儀在電路設計、材料科學、生物醫學等領域發揮著越來越重要的作用。本文將詳細介紹阻抗分析儀的原理、特性及其在各個領域的應用,
    的頭像 發表于 05-21 17:38 ?2008次閱讀

    信號分析儀與頻譜分析儀的區別

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

    掃頻頻譜分析儀與實時頻譜分析儀的區別

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

    網絡分析儀的分類

    網絡分析儀主要可以分為兩類:標量網絡分析儀(Scalar Network Analyzer)和矢量網絡分析儀(Vector Network Analyzer)。
    的頭像 發表于 05-08 16:34 ?945次閱讀
    主站蜘蛛池模板: 天天艹综合 | 国产一区二区三区美女在线观看 | 美国色天使 | 手机看片精品国产福利盒子 | 亚洲 欧美 视频 | 国产精品热久久毛片 | 四虎永久在线精品免费观看地址 | 丁香五月缴情综合网 | 一级在线观看 | 老头天天吃我奶躁我的动图 | 日韩美a一级毛片 | 亚洲精品卡1卡二卡3卡四卡 | 性欧美护士18xxxxhd视频 | 免费人成网555www | 五月激情综合网 | 男人的天堂222eee | 久爱综合 | 操人视频网站 | 资源种子在线观看 | 一区二区三区久久 | 一级毛片视屏 | 亚洲精品久久婷婷爱久久婷婷 | www.日日爱| 三级视频在线播放线观看 | 日本a级精品一区二区三区 日本a级特黄三级三级三级 | 美女被草视频在线观看 | 成人欧美一区二区三区视频不卡 | 日韩怡红院 | 黄网站色| 四虎影视永久在线精品免费播放 | 欧美猛交xxxx免费看 | 国产高清成人mv在线观看 | 美女被强插 | 亚洲高清视频一区 | 国产日韩精品一区二区在线观看 | 免费午夜视频 | 欧美伊人久久综合网 | 香焦视频在线观看黄 | 天天爽夜夜爽8888视频精品 | 国内黄色录像 | 国产午夜视频在线观看网站 |

    電子發燒友

    中國電子工程師最喜歡的網站

    • 2931785位工程師會員交流學習
    • 獲取您個性化的科技前沿技術信息
    • 參加活動獲取豐厚的禮品