摘要
上一篇文章我們簡單介紹了醫(yī)療設(shè)備軟件關(guān)于風(fēng)險方面的相關(guān)背景和兩個技巧。這篇文我們將繼續(xù)介紹剩下的三個技巧,以及如何管理風(fēng)險。
4. 動態(tài)分析
靜態(tài)分析將源代碼解析為文本,并在不執(zhí)行單個指令的情況下根據(jù)解析器輸出得出所有結(jié)果,而動態(tài)應(yīng)用程序安全測試(DAST)則為代碼提供了不同的視角。它檢查運行中的代碼,顯示代碼覆蓋率、充分性和單元測試的質(zhì)量、內(nèi)存泄漏和其他潛在的弱點問題。
技巧3:靈活使用運行時環(huán)境
“嵌入式”一詞涵蓋了許多設(shè)備,從具有數(shù)千字節(jié) RAM 和閃存的 8 位 MCU 到具有千兆字節(jié) RAM 和高速 SSD 的 64 位多核 CPU。如果設(shè)備的日常操作需要最少的內(nèi)存和處理能力,制造商可能會選擇僅滿足其需求的硬件,也可能因為尺寸、重量或成本限制。
雖然它們通常會留出一些用于軟件更新和維護的可用硬件資源,但當(dāng)涉及到對軟件進行動態(tài)分析工具檢測時,這可能仍然不夠,因為與正常操作模式相比,該過程將需要大量的 RAM 和存儲空間來收集測試和代碼覆蓋率結(jié)果。
因此,當(dāng)設(shè)備上的內(nèi)存量太低而無法運行測試和收集代碼覆蓋率時,目標平臺可能不適合收集單元和集成測試的代碼覆蓋率。
如果您的主要目標平臺不支持做動態(tài)分析,請搜索有效的替代平臺。可能有一個同類型的平臺,具有更多接口和內(nèi)存,并且被動態(tài)分析工具支持,因此客戶可以很輕松地在這個平臺上進行單元測試和一些集成測試。另一種選擇是硬件模擬器,也就是我們常說地simulator,比如QEMU 的硬件模擬器,它可以支持運行ARM可執(zhí)行程序。
雖然在目標平臺上運行測試是最理想的,但很多時候團隊選擇在開發(fā)人員工作站(例如 Linux、Mac、Windows)上執(zhí)行單元測試和一些應(yīng)用程序集成測試,這樣可以節(jié)省更多的時間,加快了開發(fā)周期。在這種情況下,用戶需要移植嵌入式代碼,讓這些代碼可以使用主機編譯器進行編譯,但這個過程會有一些挑戰(zhàn)。
有很多編譯器、構(gòu)建工具、框架和運行它們的方法。動態(tài)分析工具支持一些常見的構(gòu)建技術(shù),并且有對應(yīng)的材料,讓開發(fā)人員快速上手。但是即使代碼是可移植的,項目團隊很可能需要額外的時間來根據(jù)項目構(gòu)建系統(tǒng)的工作方式來調(diào)整動態(tài)分析工具的設(shè)置。
強烈建議在進行這類工作前,進行工作時間和成本評估,以便從長遠角度為未來的發(fā)展找到最佳方法。
技巧4:不要過度依賴自動生成的測試用例
現(xiàn)代動態(tài)分析工具會自動生成單元測試用例以增加代碼覆蓋率。但工具只是工具。它們不知道如何使用業(yè)務(wù)代碼的各種場景,特別是當(dāng)用戶嘗試增加代碼覆蓋率并跨越純單元測試和集成測試之間的界限時。用戶仍然需要手動更新生成的單元測試,甚至編寫新的單元測試用例,因為只有用戶知道代碼在涉及正面和負面測試結(jié)果時的用途。
關(guān)鍵區(qū)域中的一組選定文件可以自動生成每個文件覆蓋范圍從 40% 到 100% 的單元測試。但平均而言,對于整個項目,數(shù)值可能在 25% 到 60% 之間變化。
此外,僅使用源代碼作為輸入的自動生成的單元測試通??梢栽谟绣e誤的代碼上完美運行。自動生成測試用例應(yīng)該作為開始單元測試過程的良好開端,手動創(chuàng)建測試用例的過程可以提高代碼的質(zhì)量,因為它強制進行額外的代碼審查并為代碼結(jié)構(gòu)設(shè)計提供了不同的考慮方向。
技巧5:不要低估工具驗證和確認的工作量
FDA 要求正式開發(fā)過程中使用的任何工具都必須針對預(yù)期用途進行驗證,以確保其執(zhí)行預(yù)期的操作并產(chǎn)生正確的結(jié)果。通常,這是一種稱為 IUV(預(yù)期用途驗證)的特殊測試協(xié)議。
業(yè)界領(lǐng)先的靜態(tài)和動態(tài)分析工具供應(yīng)商可幫助生成必要的程序和文檔,這對于最大限度地減少用戶的工作量非常有幫助。Parasoft 的解決方案特別有價值,因為它實現(xiàn)了大部分流程的自動化。與任何其他通用包一樣,用戶可能需要花費一些時間來審查和調(diào)整文檔,以便將它們與用戶自己的 QMS 程序同步。例如,Parasoft 的工具資格套件提供了一組要在用戶的環(huán)境中執(zhí)行的測試用例,以驗證靜態(tài)和動態(tài)分析功能。
5.5個技巧回顧
將編譯器警告視為錯誤。對于同一編譯器的較新版本,警告可能會變成錯誤。警告通常意味著編譯器隱式執(zhí)行某些操作:
在項目早期運行靜態(tài)分析工具并修復(fù)出現(xiàn)的問題
保持代碼可移植。即使您不打算將產(chǎn)品移植到另一個平臺,這也可能是未來的一個選擇。另一方面,這也將有助于保持代碼干凈、可維護和可讀,這總是有利于審查和進一步支持
不要過度依賴自動生成的測試用例來提高代碼質(zhì)量
不要低估驗證工具是否達到預(yù)期用途的需求和工作量
6. 醫(yī)療器械軟件開發(fā)中的風(fēng)險管理
在開發(fā)醫(yī)療設(shè)備軟件時,管理風(fēng)險是該過程的關(guān)鍵組成部分。醫(yī)療設(shè)備軟件通常很復(fù)雜,必須在嚴格的基準范圍內(nèi)運行,以確保醫(yī)療設(shè)備的安全性和效率。因此,識別、分析和減輕開發(fā)過程中可能出現(xiàn)的潛在風(fēng)險至關(guān)重要。
醫(yī)療設(shè)備軟件開發(fā)中的有效風(fēng)險管理涉及許多不同的活動, 這些可能包括:
識別與設(shè)備及其軟件相關(guān)的潛在危險和風(fēng)險
評估風(fēng)險的可能性和嚴重性
實施風(fēng)險控制以減輕或消除風(fēng)險
隨著時間的推移監(jiān)控這些控制措施的有效性
此外,醫(yī)療設(shè)備軟件開發(fā)中的風(fēng)險管理還需要深入了解醫(yī)療軟件缺陷可能造成的危害程度。這可以通過風(fēng)險索引來完成,風(fēng)險索引根據(jù)風(fēng)險的嚴重程度對風(fēng)險進行分類。
在醫(yī)療設(shè)備軟件方面,建立風(fēng)險指數(shù)有助于確定風(fēng)險管理指標,例如在軟件發(fā)布使用之前應(yīng)進行的所需測試、驗證和確認級別。它還可以幫助為確保軟件持續(xù)安全性和有效性所需的持續(xù)測試、監(jiān)控和維護定下基調(diào)。
安全完整性等級 (SIL) 示例表
6.1 風(fēng)險管理在醫(yī)療器械軟件開發(fā)中的重要性
有效的風(fēng)險管理對于醫(yī)療設(shè)備軟件的開發(fā)至關(guān)重要。即使是很小的錯誤或疏忽也可能給醫(yī)療保健部門的患者帶來嚴重后果。因此,在開發(fā)過程中盡早識別和減輕潛在風(fēng)險至關(guān)重要。以下是風(fēng)險管理在醫(yī)療設(shè)備軟件開發(fā)中很重要的一些原因:
1.確?;颊甙踩?/strong> 醫(yī)療設(shè)備軟件故障可能會導(dǎo)致生命安全。有效的風(fēng)險管理有助于識別潛在風(fēng)險并在對患者造成傷害之前減輕風(fēng)險。
2.確保合規(guī)性。 醫(yī)療設(shè)備軟件開發(fā)須遵守 FDA 和 EU MDR 等監(jiān)管機構(gòu)制定的監(jiān)管要求。遵守這些法規(guī)對于避免處罰和降低產(chǎn)品召回的可能性至關(guān)重要。它還可以使醫(yī)療器械制造商免于為其產(chǎn)品造成的任何傷害承擔(dān)責(zé)任,從而避免法律和財務(wù)后果。
3.節(jié)省時間和金錢。 有效的風(fēng)險管理有助于減少處理產(chǎn)品問題和法律訴訟的時間和成本 在軟件開發(fā)生命周期的早期識別風(fēng)險可以防止以后出現(xiàn)問題并防止產(chǎn)品上市時間的延遲。
4.提高聲譽。 沒有醫(yī)療器械制造商愿意冒聲譽不佳的風(fēng)險,因為聲譽受損會在很大程度上影響公司。有效的風(fēng)險管理有助于證明制造商致力于患者安全和產(chǎn)品質(zhì)量,這可以提高公司的聲譽。
6.2醫(yī)療器械軟件開發(fā)中風(fēng)險管理的關(guān)鍵要素
在醫(yī)療設(shè)備軟件開發(fā)中進行風(fēng)險管理可能很復(fù)雜。然而,有一些關(guān)鍵要素可以作為醫(yī)療設(shè)備軟件開發(fā)人員和質(zhì)量保證測試人員的指南, 這是其中五個:
1.從風(fēng)險識別開始。 風(fēng)險管理的第一步是識別與醫(yī)療設(shè)備軟件開發(fā)過程相關(guān)的潛在風(fēng)險。這可以通過對軟件設(shè)計、開發(fā)和測試過程的徹底分析來完成。潛在風(fēng)險包括軟件故障、數(shù)據(jù)安全漏洞和硬件故障。
2.進行風(fēng)險評估。 一旦識別出風(fēng)險,下一步就是評估每個風(fēng)險的嚴重性和可能性。這涉及考慮風(fēng)險的嚴重性、風(fēng)險發(fā)生的可能性及其潛在后果等因素。
3.制定風(fēng)險緩解和控制措施。 此時,目標是制定風(fēng)險緩解策略以減少或消除已識別的風(fēng)險。這可能包括重新設(shè)計軟件、實施安全功能或提供用戶培訓(xùn)。開發(fā)人員還可以制定風(fēng)險控制措施,通過重新設(shè)計軟件、實施額外的安全功能或為設(shè)備開發(fā)用戶手冊和培訓(xùn)計劃等措施,最大限度地減少或消除已識別的風(fēng)險。
4.監(jiān)控風(fēng)險。 監(jiān)控醫(yī)療設(shè)備軟件中的潛在風(fēng)險應(yīng)該是一個持續(xù)過程。這意味著即使風(fēng)險緩解和控制策略已經(jīng)到位,在整個軟件開發(fā)生命周期中繼續(xù)監(jiān)控風(fēng)險也至關(guān)重要。這可能涉及對軟件的持續(xù)測試和評估,以確保其繼續(xù)按預(yù)期運行并且不會帶來任何新的風(fēng)險。
5.記錄風(fēng)險。 記錄所有風(fēng)險管理活動非常重要,包括風(fēng)險評估、風(fēng)險緩解策略和持續(xù)監(jiān)控。該文檔對于證明遵守法規(guī)要求并確保在整個軟件開發(fā)過程中有效管理風(fēng)險至關(guān)重要。
總結(jié):
風(fēng)險管理是醫(yī)療設(shè)備軟件開發(fā)的一個重要方面。對醫(yī)療設(shè)備進行靜態(tài)和動態(tài)分析是評估醫(yī)療設(shè)備軟件風(fēng)險的兩種最佳方法。
通過靜態(tài)和動態(tài)分析,醫(yī)療設(shè)備軟件開發(fā)人員可以及早識別潛在風(fēng)險,防止對患者造成傷害,確保合規(guī)性,節(jié)省時間并構(gòu)建不易受到網(wǎng)絡(luò)攻擊的軟件。
幸運的是,Parasoft提供了一套全面的軟件測試自動化解決方案,支持 C/C++、Java和 .NET應(yīng)用程序中醫(yī)療設(shè)備測試的各種最佳實踐。這些工具已被證明可以增強醫(yī)療設(shè)備軟件的安全性、可靠性和用戶體驗。
審核編輯:湯梓紅
-
醫(yī)療設(shè)備
+關(guān)注
關(guān)注
12文章
979瀏覽量
67473 -
動態(tài)分析
+關(guān)注
關(guān)注
1文章
19瀏覽量
7317 -
靜態(tài)分析
+關(guān)注
關(guān)注
1文章
42瀏覽量
3978
原文標題:醫(yī)療設(shè)備軟件靜態(tài)和動態(tài)分析的 5 個技巧(下)
文章出處:【微信號:麥克泰技術(shù),微信公眾號:麥克泰技術(shù)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
如何編制有源醫(yī)療器械設(shè)計開發(fā)流程?
醫(yī)療器械產(chǎn)品CE認證-MDD認證準備及流程
醫(yī)療器械行業(yè)展會醫(yī)療耗材展會2018上海國際醫(yī)療器械展
上海醫(yī)療器械展覽會CMEH中國國際醫(yī)療器械展
RFID醫(yī)療器械智能倉庫管理系統(tǒng)的優(yōu)點是什么?
什么是手術(shù)醫(yī)療器械回流方案?
2020上海醫(yī)療器械展覽會、2020年上海醫(yī)療器械展會
國際醫(yī)療器械展、2020上海國際醫(yī)療器械展覽會
近期醫(yī)療器械展會-2022深圳國際醫(yī)療器械展覽會
使用靜態(tài)分析來管理醫(yī)療設(shè)備網(wǎng)絡(luò)安全
使用靜態(tài)分析來管理醫(yī)療設(shè)備網(wǎng)絡(luò)安全
GB/T 42062-2022醫(yī)療器械 風(fēng)險管理對醫(yī)療器械的應(yīng)用
GB/T 42062 醫(yī)療器械 風(fēng)險管理對醫(yī)療器械的應(yīng)用
醫(yī)療器械軟件風(fēng)險分析介紹 醫(yī)療設(shè)備軟件靜態(tài)和動態(tài)分析技巧

評論