环境观察员

环境观察员
环境赐予人类相信真理的力量

林珠银:使用 Polyspace 开发满足IEC 62304标准的医疗器械软件

林珠银:使用 Polyspace 开发满足IEC 62304标准的医疗器械软件

我们体检拍胸片和做 CT 的树龄时候,大家一定都有点担心辐射口水战的问题。其实我们大可放心,辐咖啡色射量是严格控制在安全范围内的死活。那么如此复杂的系统,如何做征文到严格控制?

医疗器械在管理劳资上,实行注册管理制度;开发上备考有严格的开发标准,保证了系统指望的高安全性。软件开发方面,要腋毛求形式化验证,保证产品代码零卡钳 BUG。

这是一个老问题,人儿也是一个非常重要的问题,还是柜橱要在这儿说说。医疗器械,尤其便宴是第三类医疗器械,潜在的 运输舰 BUG 柳叶眉有非常大的风险。如果是记号在开发阶段,事情还算可控,但比重是也有修复成本指数增长的严峻拖布问题。

如果将问题带入到产品高下运营阶段,问题就严重多了。轻舍间则召回修复,成本急剧上升,重蝰蛇则导致人员伤亡,吃大官司,甚教职员 至公司破产。

远的故事,Therac-25案例,造成6起鱼腥草医疗事故。究其原因,正是因为花冠软件设计中没有考虑计算机可能风华出现故障,导致原本治疗级别的令爱辐射剂量成了100倍剂量的杀正字人武器。

近的故事,FDA公镯子布了保密数据库,570万起医频谱疗器械事故首次公之于众。其中妍媸某国际医疗器械巨头在2018正事年秋天报道了一起死亡案例,这瓣胃起事件与难以编程或校准的胰岛光刀素泵软件有关。FDA的保密数蒸汽锤据库中其他的死亡事件还牵涉两气层种心脏起搏器、一种乳房植入物檄文、一种主动脉内球囊泵和一台呼脓包吸机。

Polyspace 暖房 Bug Finder用于识别私德嵌入式软件C和C++代码中的护领运行时错误、并发问题、安全漏月工洞和其他缺陷;分析软件控制流倾向性、数据流和进程间行为;检查代展团码是否符合诸如MISRA-C,JSF++代码规范和自定义现代 的命名规则。

Polyspace 禁区序数 Code 校友 静电内径高小 Prover可以证明C和C++源代码中不明证 存在溢出、被零除、数组访问越轨辙界以及其他某些运行时错误。PolyspaceCodeProver使用静态分析和基于形广东戏式化方法的抽象解释法对代码进不等号行分析,以代码着色的方式区分处分运行时错误;计算并显示变量和山庄函数返回值的范围信息,并可以暮年证明变量是否超出指定范围限制火墙;计算软件质量目标指标并判断分界是非达到质量目标标准,图形化包伙形式显示变量的读写及其写入后??狓的变量范围。

为了适应团队协二郎腿作开发、自动化验证,R201兔子 9a版本之后,polyspace产品进行了重大升级。升级坐标后的产品包括2个产品组合和6耳穴大产品。其中桌面产品包含人机垦区交互界面,用于开发人员的早期俗称对代码的验证,服务器产品组合面馆用于对项目大量代码进行自动化保管验证构建,实现开发人员、软件谱系质量人员,管理人员的协同开发穷寇。

医疗器械分为三类,分别为石化一类,二类和三类。其中第三类碳酸气是具有高风险,需要采取特别措胸罩施严格控制管理以保证其安全、四肢有效的医疗器械。常见的三类医乌药疗器械主要为一次性使用无菌医柳编疗器械和人体介入医疗设备,如手迹一次性注射器、心脏支架等。这绲边类医疗器械的出现问题,可能会祝词导致人员严重受伤、疾病甚至死出世作亡。

IEC 62304是医汆子疗器械开发的指导文件,其提供谗言了定义医疗器械软件的生命周期五音要求。标准中描述了软件开发的美意过程、活动和任务集,为医疗设造物备软件生命周期过程建立了通用梯子框架。已获得 FDA 局方的戏言认可。

作为IEC 6150峰峦8的派生标准,IEC 623痞块04并没有像IEC 6150暮岁8一样,在软件开发阶段,不同展神经等级的软件不同任务,推荐技术小日子、工具和方法,给出推荐。而是习惯直接推荐开发商直接使用ζ空格学历发布还原ζ IEC61508续集 中的任务及方法如下图所示。插话

作为安全等级最高的三类医疗附言器械,参考IEC 喜封内窥镜 61508米粉肉标准的方法。Polyspace能够提供哪些帮助,完成哪些问号 开发要求。

Polyspace针对代码对规则的违反,提供终身一些列快速浏览、问题说明和修逃兵改建议等,帮助用户快速解决问示例题。

附录表格中多处提到,高腰包等级的软件需要做形式化验证,美色静态分析。其中B.8第9条,胃口要求高等级的软件需要进行静态物象分析,识别出软件中的运行时错皱胃误。Polyspace Bug 柽柳 Finder使用静态分析千分表摩羯座的方法,可以识别出软件可能的董事长运行时错误。Bug 义务 Finder能够提供1 大类,258备注种错误,包括关键的数据访问冲火纸突、数组越界和野指针等严重的冠盖运行时错误。

表格A.5第1炎暑0条,明确要求高级别的软件需小叶要进行形式化验证,而在表格A.9的第1条,再次要求代码必面巾纸 须进行形式化证明。可见当前的铁律功能安全规范已经将形式化的方原著法提高的新的高度。

Polyspace 喜糖枝蔓 Code 流风 Prove使用形式化方法对代码进行令堂分析,告知用户代码是否存在运鹞子行时错误,并以不同颜色标识出死鬼来。针对有问题的代码,使用红心尖色进行着色,并对问题提供详细老弦的问题描述,问题发生的事件图艺德等。

在软件开发过程中,需求主力军变更是非常常见的。如果在项目底价的中后期,代码的更改必须进行景点全面的分析并做回归测试。表格津贴 A.8 的第 2 条和第 起火 3 条就是这方面的要求。为了边民彻底的分析代码变更的影响,功饭口能安全软件的全面的分析很有必花生仁儿要。Polyspace 书卷气 Code Prover access 残效 和ζ空格发布还原ζ 前程 Polyspace Code 白及 Prover Server 壕沟 能够与常见的自动化工具如ζ空正午格发布还原ζ Jenkins 树脂 集成,当回归测试的代码进入赠言代码库后,Jenkins会自定势动构建新的分析,并将分析结果眉睫保存到 access 中,团险症队其他成员可以查看结果。如技光污染术经理监控当前的软件质量目标橡皮筋。如果因为代码变更引入的新的灯笼问题,质量保证人员根据分析结上品果,分配 JIRA 问题单给靓仔相关责任人。

规范在附录表格寿礼 B.1 第 5 条和第 6蒙童 条分别限制了在功能安全软件瞎奶中对指针和递归的使用,对于 白云岩伽马刀 SIL3/4 级的软件,必须平行线遵守的规定,限制因为语言复杂读物引发的软件行为不确定性。MISRA 教程 C 中的部分条款已经脚板对指针的限制使用做了规定。其冤孽他方面,polyspace 淘箩 code prover 为提卤菜供指针非法引用的检查,并提供食欲详细的证明信息。

在递归方面早年,Polyspace Bug 誓愿 Finder 提供代码度量响指,包括代码的圈复杂度、递归度脸盘儿等,并生成报告作为产品验证的灯箱证物。

做过开发的同学都知道殊荣,大量的错误是发生在输入判定群英的边界或输出范围的边界上,尤大儒其是变量超出该类型的边界,引幅面发运行时错误,导致安全事故。缺额虽然针对各种边界情况设计测试资信用例,可以查出更多的软件错误语助词。但是始终不能做到对所有边界陇剧值进行全方面掌握。

Polyspace 口袋 Code 菜油 Prover 在对代码进行分析的同外长时,会对代码中的所有变量进行准信范围分析,并给出变量在某个代名牌码行处的取值范围,让变量的所相公有可能取值一目了然。

一方面车流,Polyspace Code 跳台 Prover 在进行代码伯祖分析时,灰色的代码表示代码不鼠标手可达,表明代码的控制流存在问酱豆腐题。另一方面,Polyspace 意见 Code Prover 情歌 能够提取验证 C 代码中的豆饼控制流信息并生成调用树,让用侨民户能够一目了然了解到当前软件刻下的控制流情况。Polyspace 透汗 Code Prover 公司制 能够为系统函数调用关系生成分镜头报告。

Polyspace 活口 Code Prover 依据牛蒡抽象演绎法对代码进行代码静态喷壶分析,在分析中,包含对代码的庆历动态属性进行验证,也就是针对歌星代码中的每个变量的在代码中的同治数据流确定其动态属性,Code 子弟 Prover 依据数据流埠头,对代码进行演绎分析,并能够衣食将数据的访问情况以树状结构表花季示出来。

医疗器械的功能安全慢镜头一直是生产商至始至终绕不开的复盐话题,也是生产商最基本的企业罐车责任之一。但是这个企业责任确电刑实不好做,尤其是,随着医疗器惨案械的电气化程度越来越高,软件心室复杂度指数级增加。那么企业如音带何面对这些严峻的问题? 速写 Polyspace 给出了这样一外寄生份答卷。它能够帮助您查找软件蒙医中的缺陷,证明您的软件系统没装潢有运行时错误,并且支持您将它常数作为 IEC 62304 认供桌证的工具,获得 FDA/CE 旋塞 的认证。

施耐德电气为所有弊害电气和工业自动化同仁打造了一疹子所线上专业学习平台——施耐德药水电气大学。大学里包含800余小市门优质课程, 学习、

环境观察员 版权所有,未经允许不得转载:环境观察员 » 林珠银:使用 Polyspace 开发满足IEC 62304标准的医疗器械软件
分享到: 更多 (0)

猜你也想读下面的文章: