哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

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

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

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

利用醫(yī)療設(shè)備軟件的靜態(tài)代碼分析

星星科技指導(dǎo)員 ? 來源:嵌入式計算設(shè)計 ? 作者:嵌入式計算設(shè)計 ? 2022-06-19 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

聯(lián)邦藥物管理局 (FDA) 監(jiān)督在美國銷售的醫(yī)療器械的質(zhì)量,希望發(fā)布醫(yī)療器械的公司必須獲得 FDA 510(k) 許可。在調(diào)查上市后失敗的同時,F(xiàn)DA 更加注重預(yù)防,并建議將靜態(tài)代碼分析作為方法的一部分。

復(fù)雜缺陷檢測的價值

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

圖 1:靜態(tài)分析可以在軟件開發(fā)生命周期的早期發(fā)現(xiàn)潛在問題。

pYYBAGKuhROAQr7PAAHx4iOBxwU673.png

由于各種原因,靜態(tài)分析工具確實會產(chǎn)生一些錯誤的結(jié)果,通常稱為誤報和誤報。當(dāng)靜態(tài)分析工具認為有錯誤而沒有錯誤時,就會發(fā)生誤報。誤報是應(yīng)該報告錯誤但沒有報告。

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

圖 2:靜態(tài)分析工具不會發(fā)現(xiàn)所有錯誤(誤報),并且會報告一些并非真正的錯誤(誤報)。使遺漏的錯誤和錯誤報告最小化的是良好的分析算法和適當(dāng)?shù)姆治稣{(diào)整。

pYYBAGKuhSSAKxNGAAD0qKhD0fE292.png

現(xiàn)代靜態(tài)分析工具已經(jīng)改進了分析技術(shù),可以以足夠的準確度生成有用的結(jié)果。大多數(shù)組織認識到靜態(tài)分析工具雖然不完善,但在大多數(shù)軟件開發(fā)過程中都提供了重要的價值。

充分利用靜態(tài)分析工具

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

調(diào)音

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

圖 3:幾乎每個靜態(tài)分析部署都應(yīng)該從一個可靠的調(diào)優(yōu)項目開始。調(diào)整會帶來更多更好的錯誤和更少的誤報。

poYBAGKuhSyAFDf1AAGMPQG7dRI791.png

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

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

調(diào)優(yōu)通常是一個持續(xù)的過程,應(yīng)定期審查,以確保一致地使用配置并跟上代碼和環(huán)境的變化。如果不進行持續(xù)調(diào)整,開發(fā)人員可能會錯過一些重要的錯誤,并且團隊將浪費時間檢查誤報。

配置檢查器

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

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

過程

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

一個必須解決的問題。它將有一個適當(dāng)?shù)膬?yōu)先級來描述它的重要性以及在軟件開發(fā)過程中必須如何解決它。

正確標(biāo)記的問題,但不太可能表現(xiàn)為現(xiàn)實世界的錯誤,通常是因為該工具做出了不正確的環(huán)境假設(shè)。這些類型的分類標(biāo)志著潛在的調(diào)整機會。

被錯誤地標(biāo)記為錯誤的問題,無論是誤報還是分析工具中的徹底錯誤。這些問題也預(yù)示著調(diào)整機會。

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

使用模式

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

圖 4:靜態(tài)分析可以根據(jù)業(yè)務(wù)需求、環(huán)境和使用的工具以多種不同方式部署。

pYYBAGKuhTWANb-jAAI0dlyrCkE521.png

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

無論在哪里運行,技術(shù)環(huán)境都需要保持一致,以確保結(jié)果相同。中央和開發(fā)人員構(gòu)建需要保持一致。對分析設(shè)置的輕微更改可能會導(dǎo)致報告更多結(jié)果,并且組織不需要審查更多可能主要是誤報的問題的額外負擔(dān)。為開發(fā)人員創(chuàng)建一個高度自動化的系統(tǒng)將有助于確保一致性。

許多醫(yī)療設(shè)備公司不僅將源代碼檢查到其存儲庫中,還檢查其實際環(huán)境。這樣,可追溯性是可用的。靜態(tài)分析可執(zhí)行文件和所有相關(guān)配置、狀態(tài)和其他相關(guān)項目也應(yīng)定期檢查,以確保一致性和問責(zé)制。

處理積壓

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

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

文化

所有開發(fā)團隊在技術(shù)技能水平以及團隊中每個人如何定義質(zhì)量方面都存在差異。在培訓(xùn)和指導(dǎo)課程中,最常見的論點是:

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

“我們不應(yīng)該讓這樣的代碼出現(xiàn)在我們的產(chǎn)品中。”

“這種情況在現(xiàn)實生活中永遠不會發(fā)生?!?/p>

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

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

靜態(tài)分析將提供各種類型的錯誤,從必須解決的關(guān)鍵問題到警告。一些組織希望投機取巧,只為可證明的錯誤更改代碼。其他人則主動清理代碼并提高質(zhì)量,甚至“修復(fù)”警告。團隊?wèi)?yīng)該在處理靜態(tài)分析結(jié)果的方式上保持一致。審查結(jié)果、培訓(xùn)/指導(dǎo)和頻繁的溝通是成功的關(guān)鍵。

如果使用得當(dāng),靜態(tài)分析已被證明在提高安全關(guān)鍵代碼的軟件質(zhì)量方面非常有效。盡管不嚴格要求批準,但 FDA 承認其有效性。通過適當(dāng)?shù)囊?guī)劃、專業(yè)知識和現(xiàn)實的投資,靜態(tài)分析應(yīng)該會產(chǎn)生可觀的投資回報,并有助于向市場提供安全的代碼。

審核編輯:郭婷

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

    關(guān)注

    8

    文章

    2024

    瀏覽量

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

    關(guān)注

    22

    文章

    2124

    瀏覽量

    77347
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4975

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    400W可靠綠色醫(yī)療電源RPS - 400系列:醫(yī)療設(shè)備供電的理想之選

    400W可靠綠色醫(yī)療電源RPS - 400系列:醫(yī)療設(shè)備供電的理想之選 在醫(yī)療設(shè)備的設(shè)計中,電源的可靠性、安全性和性能表現(xiàn)至關(guān)重要。今天,我
    的頭像 發(fā)表于 04-05 12:05 ?242次閱讀

    分析嵌入式軟件代碼的漏洞-代碼注入

    隨著互聯(lián)網(wǎng)的發(fā)展,嵌入式設(shè)備正分布在一個充滿可以被攻擊者利用的源代碼級安全漏洞的環(huán)境中。 因此,嵌入式軟件開發(fā)人員應(yīng)該了解不同類型的安全漏洞——特別是
    發(fā)表于 12-22 12:53

    醫(yī)療設(shè)備整改實踐:EMC案例分析與啟示

    一挑戰(zhàn)與危機【EMC危機曝光】:隨著科技的進步和醫(yī)療需求的不斷發(fā)展,醫(yī)療產(chǎn)品在提升診療水平、保障患者健康方面起著至關(guān)重要的作用。而醫(yī)用負壓機是一種用于醫(yī)療場景的設(shè)備,其主要功能是通過產(chǎn)
    的頭像 發(fā)表于 12-09 11:35 ?486次閱讀
    <b class='flag-5'>醫(yī)療</b><b class='flag-5'>設(shè)備</b>整改實踐:EMC案例<b class='flag-5'>分析</b>與啟示

    醫(yī)療設(shè)備器械全生命周期的檢測認證一站式解決方案

    醫(yī)療設(shè)備
    廣電計量
    發(fā)布于 :2025年11月28日 15:23:41

    什么是CVE?如何通過SAST/靜態(tài)分析工具Perforce QAC 和 Klocwork應(yīng)對CVE?

    本文將為您詳解什么是CVE、CVE標(biāo)識符的作用,厘清CVE與CWE、CVSS的區(qū)別,介紹CVE清單內(nèi)容,并說明如何借助合適的靜態(tài)分析工具(如Perforce QAC/Klocwork),在軟件開發(fā)早期發(fā)現(xiàn)并修復(fù)漏洞。
    的頭像 發(fā)表于 10-31 14:24 ?697次閱讀
    什么是CVE?如何通過SAST/<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b>工具Perforce QAC 和 Klocwork應(yīng)對CVE?

    利用軟件的方法解決EMC問題

    有時候解決EMC問題利用軟件的方法反而是更高效快速的。二整改案例今天分析一個用軟件的方法解決EMC問題的實際案例,通過該案例可以了解到軟件
    的頭像 發(fā)表于 10-28 11:35 ?369次閱讀
    <b class='flag-5'>利用</b><b class='flag-5'>軟件</b>的方法解決EMC問題

    如何在Zephyr中進行靜態(tài)代碼分析

    在嵌入式軟件開發(fā)中,“能編譯通過”并不等于“可以放心交付”。安全性、可靠性和合規(guī)性是產(chǎn)品能否順利量產(chǎn)的關(guān)鍵。進入量產(chǎn)的Bug會浪費寶貴的工程時間,也會削弱用戶信任;安全漏洞可能暴露設(shè)備,帶來嚴重后果;在受監(jiān)管市場中,若未滿足MISRA或CERT檢查要求,甚至?xí)苯訉?dǎo)致產(chǎn)品
    的頭像 發(fā)表于 10-17 10:28 ?1022次閱讀

    醫(yī)療設(shè)備維修進修探索與成長并行的旅程

    醫(yī)療設(shè)備
    ch18091592326
    發(fā)布于 :2025年09月18日 14:15:56

    無線醫(yī)療設(shè)備測試知識分享

    無線連接定義了我們?nèi)粘K蕾嚨脑S多技術(shù)的用戶體驗,無論我們是通過家庭辦公室登錄工作、從喜愛的流媒體平臺分享內(nèi)容,還是在超市結(jié)賬時刷手機。醫(yī)療行業(yè)也不例外,每年都會在無線醫(yī)療設(shè)備上投入數(shù)十億美元,這些
    的頭像 發(fā)表于 08-29 15:05 ?5471次閱讀

    知識分享 | 使用MXAM進行AUTOSAR模型的靜態(tài)分析:Embedded Coder與TargetLink模型

    知識分享在知識分享欄目中,我們會定期與讀者分享來自MES模賽思的基于模型的軟件開發(fā)相關(guān)Know-How干貨,關(guān)注公眾號,隨時掌握基于模型的軟件設(shè)計的技術(shù)知識。使用MXAM進行AUTOSAR模型的靜態(tài)
    的頭像 發(fā)表于 08-27 10:04 ?859次閱讀
    知識分享 | 使用MXAM進行AUTOSAR模型的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b>:Embedded Coder與TargetLink模型

    第三屆大會回顧第7期 | 面向OpenHarmony大規(guī)模代碼的路徑敏感的稀疏值流分析

    靜態(tài)分析(Static Analysis)是軟件開發(fā)中不可或缺的一部分,它可以幫助開發(fā)人員提高代碼質(zhì)量、減少缺陷和安全風(fēng)險。
    的頭像 發(fā)表于 08-18 11:31 ?1251次閱讀
    第三屆大會回顧第7期 | 面向OpenHarmony大規(guī)模<b class='flag-5'>代碼</b>的路徑敏感的稀疏值流<b class='flag-5'>分析</b>

    汽車軟件團隊必看:基于靜態(tài)代碼分析工具Perforce QAC的ISO 26262合規(guī)實踐

    ISO 26262合規(guī)指南,從ASIL分級到工具落地,手把手教你用靜態(tài)代碼分析(Perforce QAC)實現(xiàn)高效合規(guī)。
    的頭像 發(fā)表于 08-07 17:33 ?1287次閱讀
    汽車<b class='flag-5'>軟件</b>團隊必看:基于<b class='flag-5'>靜態(tài)</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合規(guī)實踐

    讓老舊醫(yī)療設(shè)備“聽懂”新語言:CAN轉(zhuǎn)EtherCAT的醫(yī)療行業(yè)應(yīng)用

    醫(yī)療影像設(shè)備的智能化升級中,通信協(xié)議的兼容性常成為工程師的“痛點”。例如,某醫(yī)院的移動式X射線機采用CAN協(xié)議控制機械臂,而主控系統(tǒng)基于EtherCAT架構(gòu)。兩者協(xié)議差異導(dǎo)致數(shù)據(jù)延遲高達5ms
    發(fā)表于 07-18 15:27

    一技在手,醫(yī)療無憂!零基礎(chǔ)轉(zhuǎn)行高薪醫(yī)療維修工程師

    黃金賽道!” 6月9日彩虹將針對零基礎(chǔ)人員開展維修技能培訓(xùn),培訓(xùn)包含彩超、內(nèi)鏡、CT、DR設(shè)備,從基礎(chǔ)原理-設(shè)備構(gòu)造-整體拆裝-常見故障判斷分析-解決故障等一系列課程下來也就正式踏入醫(yī)療
    發(fā)表于 05-15 10:22
    隆子县| 怀仁县| 肇州县| 东辽县| 北宁市| 怀来县| 山丹县| 白河县| 双桥区| 德庆县| 平原县| 缙云县| 新巴尔虎左旗| 安宁市| 广南县| 河源市| 佛山市| 商丘市| 蒙城县| 饶阳县| 三都| 大埔区| 罗平县| 保康县| 铁力市| 天津市| 班玛县| 长沙县| 海门市| 五寨县| 察雅县| 洞口县| 东城区| 岳阳市| 页游| 泸州市| 休宁县| 祥云县| 上饶市| 庄河市| 连州市|