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

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

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

3天內不再提示

利用醫療設備軟件的靜態代碼分析

星星科技指導員 ? 來源:嵌入式計算設計 ? 作者:嵌入式計算設計 ? 2022-06-19 10:07 ? 次閱讀

醫療設備使用的軟件代碼比以往任何時候都多。然而,雖然軟件為醫療設備提供了更多的功能和靈活性,但它也帶來了額外的復雜性,從而增加了故障風險。今天大約 20% 的醫療設備召回是由軟件缺陷引起的,而且這個數字還在上升。

聯邦藥物管理局 (FDA) 監督在美國銷售的醫療器械的質量,希望發布醫療器械的公司必須獲得 FDA 510(k) 許可。在調查上市后失敗的同時,FDA 更加注重預防,并建議將靜態代碼分析作為方法的一部分。

復雜缺陷檢測的價值

現代靜態代碼分析工具使用復雜的技術來分析源代碼以檢測潛在的軟件缺陷。工具嘗試分析代碼中的所有邏輯路徑,提供比傳統測試形式更多的路徑和代碼覆蓋率。靜態分析工具不需要任何測試用例,甚至可以對代碼片段進行操作,發現潛在的程序崩潰、緩沖區溢出、內存泄漏、數據損壞等。靜態分析通常運行迅速,并且可以在相對較短的時間內報告一系列潛在的錯誤(參見圖 1)。

圖 1:靜態分析可以在軟件開發生命周期的早期發現潛在問題。

pYYBAGKuhROAQr7PAAHx4iOBxwU673.png

由于各種原因,靜態分析工具確實會產生一些錯誤的結果,通常稱為誤報和誤報。當靜態分析工具認為有錯誤而沒有錯誤時,就會發生誤報。誤報是應該報告錯誤但沒有報告。

大多數現代靜態分析工具必須在可接受的精度水平和可接受的運行時間之間找到盡可能多的好結果之間進行微妙的權衡。換句話說,在大量誤報中發現每個問題的嘈雜工具的價值可能有限,就像只發現一小部分問題的高度準確的工具一樣(參見圖 2)。

圖 2:靜態分析工具不會發現所有錯誤(誤報),并且會報告一些并非真正的錯誤(誤報)。使遺漏的錯誤和錯誤報告最小化的是良好的分析算法和適當的分析調整。

pYYBAGKuhSSAKxNGAAD0qKhD0fE292.png

現代靜態分析工具已經改進了分析技術,可以以足夠的準確度生成有用的結果。大多數組織認識到靜態分析工具雖然不完善,但在大多數軟件開發過程中都提供了重要的價值。

充分利用靜態分析工具

現代靜態分析工具對大多數醫療設備制造商來說都是相對較新的。對于許多首次在其流程中實施靜態分析的組織而言,了解最佳實踐有助于在最短的時間內以最少的返工量充分利用工具。

調音

靜態分析工具提供了適用于所有類型代碼庫的通用設置,雖然它們可以立即發現好的錯誤,但只需針對代碼調整工具就可以大大改善結果(參見圖 3)。這有助于找到更多相關的錯誤并減少通過誤報進行的搜索,這會浪費時間并導致開發人員疲勞。

圖 3:幾乎每個靜態分析部署都應該從一個可靠的調優項目開始。調整會帶來更多更好的錯誤和更少的誤報。

poYBAGKuhSyAFDf1AAGMPQG7dRI791.png

許多靜態分析工具都有自己的源代碼解析器,它們可能無法理解或無法訪問所有代碼。將系統配置為分析所有代碼或調整系統以識別分析時無法訪問的接口——例如單獨驗證的第三方庫——確保結果是最佳和可重復的。實現 100% 的代碼覆蓋率對于堵住可能增加風險的漏洞非常重要。

調優有助于發現真正的問題。例如,告訴靜態分析工具內存分配機制是如何工作的,或者程序何時退出,這樣工具就不會繼續沿著特定路徑跟蹤問題,這有助于發現新問題并剔除錯誤問題。這可能是一個繁瑣的過程,需要特定的專業知識,但從長遠來看會有所回報。

調優通常是一個持續的過程,應定期審查,以確保一致地使用配置并跟上代碼和環境的變化。如果不進行持續調整,開發人員可能會錯過一些重要的錯誤,并且團隊將浪費時間檢查誤報。

配置檢查器

許多靜態分析工具附帶數百個檢查,涵蓋從并發性到安全性到 C 和 C++ 陷阱的一系列問題。許多人不一定適用于給定的應用程序。例如,為什么在分析 C 代碼時打開 C++ 特定檢查?確定正確的檢查器集需要一些試驗和錯誤以及專業知識,以了解什么是最劃算的。需要考慮的一些領域是:哪些類型的檢查器會導致真正的問題,哪些檢查器容易產生噪音,哪些檢查器可以配置為有用。一旦一個好的集合最終確定,將其鎖定,以便記錄并始終如一地運行。

在一個說明檢查器價值的真實示例中,客戶希望確保他們的靜態分析系統始終如一地運行,并要求在系統出現差異時立即收到警報。開發人員創建了一個測試套件,其中包含每個檢查器的測試用例。每當他們更改系統時,他們都會運行測試套件以確保每個檢查器確實按預期運行。如果結果失敗,他們知道他們有需要解決的配置問題。如果測試通過,開發人員會將結果放入他們的設計歷史文件中,以證明系統按照他們記錄的方式工作。該測試套件不僅為客戶提供了責任和保證,而且還降低了他們的維護和管理成本。

過程

一旦實現了全面覆蓋、調整了系統并定義了分析的廣度,開發人員就可以開始更有效地使用靜態分析。對于醫療設備,一個典型的目標是檢查報告的每一個問題。每個問題都可以通過多種不同的方式進行分類:

一個必須解決的問題。它將有一個適當的優先級來描述它的重要性以及在軟件開發過程中必須如何解決它。

正確標記的問題,但不太可能表現為現實世界的錯誤,通常是因為該工具做出了不正確的環境假設。這些類型的分類標志著潛在的調整機會。

被錯誤地標記為錯誤的問題,無論是誤報還是分析工具中的徹底錯誤。這些問題也預示著調整機會。

這些案例中的每一個都必須仔細審查。尤其應檢查誤報的正確性。每個問題都需要自由文檔,并且需要一個強大的數據保留政策來實現全面問責。如果在流程后期發現重大錯誤,這些分類缺陷報告可能會在審計過程中或在回顧中重新審查。組織通常會回到靜態分析缺陷以查看主要錯誤是如何通過該過程的。它可能標志著一個中斷的過程或一個調整分析以找到更好的錯誤的機會。

使用模式

靜態分析通常在開發人員沙箱構建中和/或通過中央構建運行(參見圖 4)。至少,在發布之前分析和評估結果是有意義的。但是,軟件開發組織不應該等到最后一刻才解決可能存在的大量錯誤,特別是當這些錯誤本可以作為規范流程的一部分更早地解決時。否則,團隊可能會錯過最后期限并在最壞的時間更改代碼。

圖 4:靜態分析可以根據業務需求、環境和使用的工具以多種不同方式部署。

pYYBAGKuhTWANb-jAAI0dlyrCkE521.png

組織通常將靜態分析自動化作為夜間構建或持續集成構建的一部分。通過這種方式,可以經常審查結果并在結果出現時加以處理。其他人則通過使開發人員能夠在沙盒環境中分析他們正在處理的代碼來更早地執行錯誤發現過程。開發人員可以立即獲得有關其代碼更改質量的反饋,然后在簽入前修復和驗證缺陷。循環時間越快,代碼庫中的代碼就越干凈。

無論在哪里運行,技術環境都需要保持一致,以確保結果相同。中央和開發人員構建需要保持一致。對分析設置的輕微更改可能會導致報告更多結果,并且組織不需要審查更多可能主要是誤報的問題的額外負擔。為開發人員創建一個高度自動化的系統將有助于確保一致性。

許多醫療設備公司不僅將源代碼檢查到其存儲庫中,還檢查其實際環境。這樣,可追溯性是可用的。靜態分析可執行文件和所有相關配置、狀態和其他相關項目也應定期檢查,以確保一致性和問責制。

處理積壓

大多數組織在開發大量代碼后開始使用靜態分析。通常,代碼越多,報告的錯誤就越多。因此,在推出靜態分析時,管理層必須預先分配時間來處理最初積壓的錯誤。

最好在開發周期中盡早進行靜態分析,以盡量減少積壓,然后創建一個流程來處理積壓,與由于日常代碼更改導致的日常流入錯誤流分開處理。審查缺陷需要時間,應該在開發人員之間適當分配,或者外包給一個單獨的團隊來挑選需要工作的缺陷。

文化

所有開發團隊在技術技能水平以及團隊中每個人如何定義質量方面都存在差異。在培訓和指導課程中,最常見的論點是:

“是的,這絕對是一個錯誤,但代碼一直在工作,所以我們不想更改它。”

“我們不應該讓這樣的代碼出現在我們的產品中。”

“這種情況在現實生活中永遠不會發生?!?/p>

“如果我們將來將產品移植到另一個平臺,這將成為一個錯誤?!?/p>

“如果你在這上面多花幾分鐘,你就會發現這顯然是一個錯誤?!?/p>

靜態分析將提供各種類型的錯誤,從必須解決的關鍵問題到警告。一些組織希望投機取巧,只為可證明的錯誤更改代碼。其他人則主動清理代碼并提高質量,甚至“修復”警告。團隊應該在處理靜態分析結果的方式上保持一致。審查結果、培訓/指導和頻繁的溝通是成功的關鍵。

如果使用得當,靜態分析已被證明在提高安全關鍵代碼的軟件質量方面非常有效。盡管不嚴格要求批準,但 FDA 承認其有效性。通過適當的規劃、專業知識和現實的投資,靜態分析應該會產生可觀的投資回報,并有助于向市場提供安全的代碼。

審核編輯:郭婷

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

    關注

    8

    文章

    1880

    瀏覽量

    59622
  • C++
    C++
    +關注

    關注

    22

    文章

    2117

    瀏覽量

    74775
  • 代碼
    +關注

    關注

    30

    文章

    4886

    瀏覽量

    70248
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    一技在手,醫療無憂!零基礎轉行高薪醫療維修工程師

    黃金賽道!” 6月9日彩虹將針對零基礎人員開展維修技能培訓,培訓包含彩超、內鏡、CT、DR設備,從基礎原理-設備構造-整體拆裝-常見故障判斷分析-解決故障等一系列課程下來也就正式踏入醫療
    發表于 05-15 10:22

    【JVM開發者必看】IntelliJ IDEA代碼分析實踐指南:實時糾錯、冗余檢測、自動修復等

    【IntelliJ IDEA中的代碼分析技巧】靜態代碼分析是指在不實際運行代碼的情況下掃描
    的頭像 發表于 03-13 10:34 ?349次閱讀
    【JVM開發者必看】IntelliJ IDEA<b class='flag-5'>代碼</b><b class='flag-5'>分析</b>實踐指南:實時糾錯、冗余檢測、自動修復等

    醫療設備全生命周期管理,守護健康生命線

    醫療設備全生命周期管理是保障醫療服務的關鍵,其中物聯網技術實現設備實時監測,大數據分析助力精準維護決策,為
    的頭像 發表于 03-03 10:30 ?292次閱讀
    <b class='flag-5'>醫療</b><b class='flag-5'>設備</b>全生命周期管理,守護健康生命線

    集成電路設計中靜態時序分析介紹

    本文介紹了集成電路設計中靜態時序分析(Static Timing Analysis,STA)的基本原理、概念和作用,并分析了其優勢和局限性。 ? 靜態時序
    的頭像 發表于 02-19 09:46 ?497次閱讀

    ADC的靜態指標有專用的分析工具嗎?

    請問:ADC的靜態指標有專用的分析工具嗎?該指標很少在評估ADC指標時使用,是否該指標不重要,應用中什么情況下需要評估該指標? 另外ADC的SNR = 6.02*N + 1.76 +10*log10(fs/2BW) 當被采樣信號為單音時 該BW為多少?
    發表于 02-08 08:13

    如何提高嵌入式代碼質量?

    嵌入式系統的發展已經深刻地影響了我們日常生活的方方面面,從智能家居到汽車控制系統,再到醫療設備和工業自動化等領域,嵌入式系統無處不在。嵌入式軟件的質量直接關系到系統的安全性、穩定性和性能。因此,提高
    發表于 01-15 10:48

    如何正確選擇醫療測試設備

    選擇醫療測試設備需理解測試規范,考慮被測設備標準,評估替代方案。實施風險管理,遵循ISO標準,確保醫療設備質量和患者安全。購買時考慮準確性、
    的頭像 發表于 11-05 13:57 ?496次閱讀
    如何正確選擇<b class='flag-5'>醫療</b>測試<b class='flag-5'>設備</b>?

    串口屏在醫療設備領域的應用

    隨著醫療技術的不斷進步和發展,醫療設備的需求也在逐漸增加。其中,作為人機交互的重要組成部分,顯示屏的質量直接影響到醫療設備的操作便捷性和用戶
    的頭像 發表于 10-15 17:11 ?1853次閱讀

    汽車異構硬件平臺開發如何進行靜態代碼分析

    先進的靜態代碼分析工具,其新版本中引入的多CCT功能為開發人員提供了強大的支持,該功能不僅簡化了多編譯器環境下的代碼分析過程,還可以極大增強
    的頭像 發表于 10-09 16:15 ?769次閱讀
    汽車異構硬件平臺開發如何進行<b class='flag-5'>靜態</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b>

    Perforce靜態分析工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork分析引擎改進和安全增強

    ?和Klocwork的最新版本對靜態分析工具進行了重大改進,通過盡早修復錯誤、降低開發成本和加快發布速度,使開發團隊實現左移。本文中,我們將概述2024.2版本的新特性和新功能。CI/CD和左移以
    的頭像 發表于 10-08 16:22 ?552次閱讀
    Perforce<b class='flag-5'>靜態</b><b class='flag-5'>分析</b>工具2024.2新增功能:Helix QAC全新CI/CD集成支持、Klocwork<b class='flag-5'>分析</b>引擎改進和安全增強

    淺談醫療用電設備配電系統設計及經濟性分析

    程瑜 安科瑞 摘要:醫療用電設備的配電系統設計是醫院建筑電氣設計的關鍵性部分,其系統可靠性、安全性直接影響醫療效果。通過分析該類負荷的重要性及分類場所中斷供電時間等要素,闡述了較為完善
    的頭像 發表于 08-06 15:39 ?1174次閱讀
    淺談<b class='flag-5'>醫療</b>用電<b class='flag-5'>設備</b>配電系統設計及經濟性<b class='flag-5'>分析</b>

    SD NAND技術在穿戴醫療設備中的創新應用及影響

    隨著科技的不斷進步,可穿戴醫療設備在個體健康監測和健康管理中扮演著越來越關鍵的角色。這些設備不僅要求實時監控用戶的生理參數,如心率、血壓等,還需求能夠長時間保存大量的生物數據以供后續分析
    的頭像 發表于 07-31 11:02 ?523次閱讀

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

    如何使用靜態代碼分析工具(如Klocwork 和 Helix QAC)實現質量門。 什么是質量門? 質量門是在IT或開發項目中實施的檢查點,這些檢查點要求在進入下一個開發階段之前達到最低標準。質量門可以阻止不合格
    的頭像 發表于 07-29 15:12 ?765次閱讀

    IAR通過多架構認證的靜態分析工具加速代碼質量自動化

    公司推出經TüV SüD認證的C-STAT靜態分析工具,適用于最新發布的IAR Embedded Workbench for RISC-V V3.30.2功能安全版。
    的頭像 發表于 06-19 15:49 ?619次閱讀

    探討AI編寫代碼技術,以及提高代碼質量的關鍵:靜態代碼分析工具Perforce Helix QAC &amp; Klocwork

    軟件開發人員夜不能寐的事情比比皆是。如今,他們最關心的問題不再是如何用自己喜歡的語言(C、C++、Erlang、Java 等)表達最新的算法,而是人工智能(AI)。 本文中,我們將介紹AI編寫代碼
    的頭像 發表于 06-05 14:10 ?707次閱讀