女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

代碼質量:動態和靜態分析相結合使工程師和審核員滿意

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:MARK PITCHFORD ? 2022-11-01 09:38 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在過去美好的時光里,在編寫軟件成為“軟件工程”之前,代碼開發是一門黑藝術,由剛從大學畢業的奇怪書孩子實踐。對他們來說,編碼絕不是一門結構化的學科。如果你設法讓他們溝通,他們可能會告訴你,他們正在一起破解代碼,并使用臨時測試數據來查看它是否做了他們執行它時應該做的事情。

無論他們是否知道,他們都在通過系統功能測試進行動態分析。與靜態分析不同,動態分析涉及代碼執行的定義。

但是,除了顯示基本功能對于任何基本的測試數據大致正確之外,這還做了什么?雖然總比沒有好,但可能不超過一半的代碼被執行。行業軟件專家、Ganssle Group首席顧問兼行業編輯Jack Ganssle對此表示贊同:“研究證實,如果不使用代碼覆蓋率分析,測試通常只執行50%的代碼。給定典型的錯誤率,這意味著程序中的 100K 行代碼將附帶 2500 到 5000 個錯誤。這些錯誤會導致許多系統故障。

為什么?因為無論測試多么富有想象力,現實生活中都有可能拋出一些曲線球來嘗試未經測試的路徑。如果執行某些內容未經測試,您可能會遇到一些意外和潛在的災難性故障。

快進 30 或 40 年。雖然這種樸素的方法并不能與復雜的軍事嵌入式應用相提并論,但功能測試仍然是動態測試的核心。精心挑選的測試數據表明,源代碼中的分支和語句是按照規范執行的,不僅使我們能夠證明系統在功能上是正確的,而且我們已經執行了所有這些功能。當與靜態分析結合使用時,動態分析提供了所需的支持證據,以證明我們所有其他良好的工作和最佳實踐產生了安全、可靠和高質量的最終產品。

與多年前的黑客攻擊不同,今天的自動化測試工具通過使用儀器探針等技術精確地跟蹤執行路線。這些探測器本質上是附加的函數調用,從源代碼中的戰略點生成“我來過這里”消息,并允許整理覆蓋率數據。它們允許動態測試生成有關其全面程度的反饋,以便我們可以在每組結果的基礎上連續構建,直到達到所需的覆蓋水平。

反過來,這為我們一次執行多少代碼提供了靈活性。可以對整個系統進行動態分析,但總有一些通過代碼的路由,我們的系統在正常運行期間無法執行這些路由——例如防御性代碼;也許是除以零的支票。

在這種情況下,最好也使用“單元測試”。單元測試封裝了系統的一個子集,并允許傳遞參數,以便執行示例中的防御機制代碼。我們甚至可以選擇完全基于單元測試進行應用程序動態分析,在每個模塊開發時整理代碼覆蓋率數據,并消除等待完整系統的任何要求。

當今的軍事應用需要支持 ARINC 653 或FACE等架構標準,以提高代碼的可移植性和可重用性。通過動態分析提供全面的覆蓋數據提供了證據,證明即使移植到不同的應用程序,代碼仍然是可維護的、安全的,特別是當與有效的靜態分析制度結合使用時。

審核編輯:郭婷

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

    關注

    5150

    文章

    19659

    瀏覽量

    317390
  • 代碼
    +關注

    關注

    30

    文章

    4900

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    做了電子工程師之后,最好拍的視頻出現了#硬件設計 #電子DIY #電子工程師

    電子工程師
    安泰小課堂
    發布于 :2025年06月24日 17:45:57

    工程師的“新神器”:用CCLinkie轉Devicenet連接水質分析儀,輕松搞定數據難題

    在化工行業摸爬滾打的工程師們,是不是經常為水質監測數據的獲取和整合頭疼?一邊是復雜的化工生產流程,一邊是水質分析儀的數據孤島,兩者之間的“溝通障礙”讓不少工程師抓耳撓腮。別急,今天就來給大家支個招
    發表于 06-09 15:36

    問,成為硬件工程師需要幾只手?#硬件工程師 #YXC晶振 #揚興科技 #搞笑

    硬件工程師
    揚興科技
    發布于 :2025年04月25日 17:15:37

    如何成為一名合格的KaihongOS北向應用開發工程師

    如何成為一名合格的北向應用開發工程師 在快速發展的軟件開發領域,北向應用開發工程師是一個專注于系統級應用開發的高需求職位。 以下是成為一名合格的KaihongOS北向應用開發工程師的建議。 1.
    發表于 04-23 06:46

    硬件工程師手冊(全套)

    §1.2.1 硬件工程師職責 一個技術領先、運行可靠的硬件平臺是公司產品質量的基礎,硬件工程師職 責神圣,責任重大。yf-f4-06-cjy 1、硬件工程師應勇于嘗試新的先進技
    發表于 04-22 15:05

    硬件工程師:回答我!#回答我 #硬件工程師 #YXC晶振 #揚興科技

    硬件工程師
    揚興科技
    發布于 :2025年03月25日 18:46:59

    一招拿捏電子工程師#被AI拿捏了 #電子工程師 #電子電工

    電子工程師
    安泰小課堂
    發布于 :2025年03月25日 17:30:51

    如何成為一名合格的北向應用開發工程師

    在快速發展的軟件開發領域,北向應用開發工程師是一個專注于系統級應用開發的高需求職位。 以下是成為一名合格的KaihongOS北向應用開發工程師的建議。 1. 基礎知識 編程語言 :學習至少一種編程
    發表于 01-10 10:00

    嵌入式工程師常用的開發工具有哪些?

    工程師可以連接調試器與目標設備,進行深入的調試和分析。 四、版本控制工具 Git是目前最流行的版本控制工具之一。嵌入式工程師可以使用 Git 來管理代碼的版本,跟蹤
    發表于 12-20 15:29

    FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區別?

    的設計和實現。他們使用硬件描述語言(如 Verilog 或 VHDL)來編寫代碼,構建復雜的數字邏輯系統。工作包括模塊的設計、功能的實現、時序的優化以及與其他硬件組件的接口設計等。 FPGA 原型驗證工程師
    發表于 09-23 18:26

    DevOps中的質量門工作原理,以及靜態代碼分析Klocwork和Perforce Helix QAC在質量門中的實踐應用

    如何使用靜態代碼分析工具(如Klocwork 和 Helix QAC)實現質量門。 什么是質量門? 質量
    的頭像 發表于 07-29 15:12 ?876次閱讀

    暫態穩定和靜態穩定的區別是什么

    暫態穩定和靜態穩定是電力系統穩定性分析中的兩個重要概念,它們分別描述了電力系統在受到擾動后的動態響應和穩態運行狀態。下面將介紹暫態穩定和靜態穩定的區別,并從多個方面進行比較。 定義上的
    的頭像 發表于 07-26 09:41 ?4891次閱讀