提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:郑恭琳|2020-06-18 17:29:28.360|阅读 226 次
概述:尽管在IoT上下文中嵌入式设备具有潜力,但目前并不需要许多设备符合安全标准。但是在物联网开发的敏捷世界中,在已经编写和测试了代码之后,合规性要求可能会晚得多。那么,如何为嵌入式物联网设备的未来做好准备?
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
尽管在IoT上下文中嵌入式设备具有潜力,但目前并不需要许多设备符合安全标准。但是在物联网开发的敏捷世界中,在已经编写和测试了代码之后,合规性要求可能会晚得多。那么,如何为嵌入式物联网设备的未来做好准备?
物联网(IoT)术语是指发布和/或使用数据的具有网络功能的设备,组件或服务的系统。物联网应用正成为我们生活中不可或缺的一部分:从工业机器人和手术器械到自动驾驶汽车和自动驾驶无人机。今天,这些设备中的许多设备已经可以影响其用户的安全性,隐私权和安全性。在某些情况下,故障的代价是致命的,因此,按现行标准制造这些设备至关重要。
尽管最好从一开始就将合规性活动嵌入软件设计中,但众所周知的事实是,严格的开发流程(尤其是没有自动化的帮助)会影响产品上市时间。没有多少开发人员喜欢在正常工作时间之外进行额外的测试和记录可追溯性,因此,务实,敏捷和快节奏的团队通常不能以在计划中“可能需要”为前提建立合规性来失去动力。未来。取而代之的是,许多团队选择“在到达那座桥时越过那座桥”。
不幸的是,没有魔术棒或银弹可以追溯“使”代码兼容。这些组织正在努力学习的是,在项目结束时增加合规性的成本要比开发初始工作产品的成本高几个数量级。
那么,为了满足明天的严格合规性要求,您今天可以采取哪些低影响的措施?
了解您的项目目前的位置非常重要。技术债务的金额是由于代码复杂性以及代码中当前存在的任何剩余编码标准和安全性违规导致的潜在返工成本。该债务归因于随后的代码清理,修复和测试。掌握当前项目状况的一种方法是使用自动静态代码分析。静态分析可深入了解代码库的质量和安全性,并列举适用的编码标准违规情况。
不幸的是,许多使用C和C++开发嵌入式应用程序的团队仍然依靠他们的编译器或手动代码审查来发现问题,而不是采用静态分析。一些团队出于各种原因而努力采用静态分析工具,例如发现它们嘈杂且难以使用(如果您学习了正确的入门方法,就不会有问题),或者无法将其用于日常开发过程中由于紧急的日常事务。常见的(误)理解是,确定哪些违规值得解决所花费的时间大于实际修复的价值。
但是我们发现,在项目后期面对功能安全审核时,采用少量关键性和强制性规则的团队花费更少的时间来重新编写代码。通过实施(例如)CERT C安全编码准则,从根本上构建安全可靠的系统要容易得多。您可以从小处着手。 CERT拥有完善的优先级划分系统(使用严重性、可能性和补救成本,每三个级别,总共27个级别),并且,如果您使用Parasoft工具,则可以在预配置的仪表板中轻松查看合规性状态。
静态分析还可以通过收集数据点来帮助组织了解其技术欠债,这些数据点可以帮助管理层实现安全合规。管理人员可以轻松评估重要问题,例如:
一些标准要求测量圈复杂度,以使其保持在一定阈值以下。复杂性指标也可以用于估计测试工作——例如,您需要证明100%分支级别覆盖以符合IEC 61508 SIL 2的测试用例数量,将与该函数的McCabe环复杂性成比例。
下面是一个仪表板示例,显示了Parasoft DTP(Parasoft的报告和分析中心)中项目对MISRA的遵守情况:
这与CERT C相同:
查看代码指标的价值可能有助于揭露更复杂的区域,以便进行其他代码审查,并监视测试对这些区域的覆盖程度。这是度量指标仪表板的示例:
因此,您可以从基础开始。一旦团队对管理最关键的错误感到满意,就可以增加违反标准的范围。并非所有规则都是一成不变的,因此,重要的是要确定哪些规则在项目编码标准之内或之外。至少,在几个关键编码标准中采用强制性规则集(例如MISRA强制性或CERT C规则)可以使连接设备将来的安全性和安全性论证更加容易。
大多数务实的工程师倾向于同意盲目地为所有功能创建单元测试并不能提供良好的投资回报率。但是,如果您的团队可以将单元测试框架作为项目沙箱的一部分进行访问,则这是一笔宝贵的投资。当工程师认为需要单独测试某些复杂算法或数据操作时,可以智能地使用单元测试。在开发单元测试的过程中,还有一个重要的价值——我们从组织中看到的是,简单地编写和执行单元测试的做法会使代码更健壮和设计更好。
当出现安全性或安全性合规性要求时,组织可以通过临时增加人员来迅速提高单元测试的工作量。但是,为了迅速扩大工作量,在整个项目过程中应该已经理解并记录了单元测试框架和过程。考虑到未来合规性的可伸缩单元测试框架的共同特征是:
关键要点是部署未来安全标准要求的所有测试技术,但要以最小的规模进行。当出现认证需求时,这比从头开始更容易扩展。
设计嵌入式系统需要考虑很多“缺点”:简单性、可移植性、可维护性、可伸缩性和可靠性,同时还要解决延迟、吞吐量、功耗和大小限制之间的折衷。在设计可能会连接到大型IoT生态系统的系统时,许多团队并未将安全性和安全性放在其他一些质量因素之上。
为了使将来的安全合规性变得更容易(并遵循良好的架构实践),您可以在时间和空间上分离组件。例如,您可以设计一个系统,其中所有关键操作都在单独的专用CPU上执行,而所有非关键操作都在另一个CPU上运行,从而实现物理隔离。另一个选择是采用“分离内核管理程序”和“微内核”概念。还有其他选择,但是关键是采用关键架构方法,将关注点分离、纵深防御和尽早混合关键性分离。这些方法不仅减少了遵守安全标准的工作量,而且还提高了应用程序的质量和弹性。例如,以下是一些隔离关键代码的方法:
将关键功能与非关键功能分开可以减少将来为证明合规性而进行的验证工作的范围。
物联网生态系统中的许多边缘设备提供的关键服务可能属于未来的安全标准。 当然,在不知道是否需要标准的情况下尝试遵守标准并不是一种经济有效的策略。为了为未来做准备,组织可以采用关键设计技术,单元测试方法和静态分析工具,并收集度量标准来支持未来的需求。如果足够早地开始,软件团队可以将这些方法无缝地应用到其现有流程中。从正确的方法开始,尽早进行扩展,然后再进行扩展,以防止在开发、测试和部署软件代码时合力地付出努力。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@capbkgr.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
Parasoft DTP是一个完整的软件生命周期管理平台。
Parasoft C/C++test针对 C/C++ 软件开发提供统一、完全集成的测试解决方案。
Parasoft Jtest用于应用软件开发的集成Java测试工具
Parasoft dotTEST降低C#和VB.NET开发风险,有效地实现符合C#和.NET开发的测试工具的要求
Parasoft Insure++针对C和C++应用程序的运行时内存泄漏检测和内存调试
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@capbkgr.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢