0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

测试是确保代码正确的唯一方法

星星科技指导员 来源:嵌入式计算设计 作者:Jay Thomas 2022-07-09 07:19 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

随着工业、汽车、医疗和能源市场中涉及人类生命和肢体的系统连接到物联网,风险越来越高,安全性和可靠性的压力也越来越大。虽然硬件可以进行物理隔离和保护,但一旦系统连接到互联网,它就会通过软件暴露出来,这构成了物联网的“软肋”。如果它们不安全,就不能认为它们是可靠或安全的。这意味着安全设备之战发生在软件领域。

生成安全可靠的代码有很多方面。在一个层面上,功能正确的代码——它完成了它应该做的事情——仍然可以包含黑客可以利用的漏洞。在另一个层面上,代码必须在功能上是安全的,因为它遵循防止伤害或损坏的规则,并且它必须在功能上是安全的,因为它包含防止访问的加密等机制。

我们在这些方面取得了重大进展,例如用于正确编码实践的 MISRA 和 CERT C 等编码标准和用于汽车的 ISO 26262 和用于医疗的 IEC 62304 等行业规范。遵循诸如此类的准则是一回事,但必须验证代码以确保已遵循所有详细规则,而这只能通过彻底的分析和测试来完成。

一套全面的验证和测试工具对于此类验证至关重要,并且它与其他软件工具和正在开发的特定行业部门的集成越好,效果就越好。安全和安保必须从底层开始,从 RTOS 和驱动程序一直到最终应用程序。基于需求的测试和验证必须在系统级别进行,同时,健壮性和更集中的分析和测试必须在单元级别进行。

从高级需求到源代码的追溯能力是由生命周期追溯工具完成的。这种可追溯性提供了影响分析能力以及软件开发生命周期的透明度和可见性。在编码阶段使用的静态分析工具可以分析软件的质量,在编译之前消除代码漏洞。这不会让代码级质量问题传播到可执行文件和集成单元中,从而节省时间和金钱。

静态分析工具还可以帮助确保代码遵循特定的编码标准,确保清晰度和一致性并消除代码级漏洞。静态分析可以作为自动测试用例生成的基础,因为它“了解”代码的复杂性和依赖性。

覆盖率分析是另一个关键的质量分析能力,它提供了测试过程有效性的度量,显示了在测试阶段哪些代码已经执行和哪些还没有执行。应该集成所有这些功能,以加快软件开发和验证的路径,同时为质量团体或监管机构可能要求的过程提供透明度。

poYBAGLCsMCAeCkZAALmFzWCWiY903.png

IBM Rational DOORS 系统管理整个项目的需求,例如大型隧道项目中的照明需求。其中许多需求链接到软件需求,集成的 LDRA 工具套件现在可以测试到源代码。

随着标准、规范和验证技术的进步,工具可以通过提供增强安全技术的附加包进行升级,这一点很重要。工具套件本身现在开始有针对主要行业领域的版本,例如用于汽车的 ISO 26262。具有复杂编辑器、调试器和性能工具的开发包可以与验证工具集成,允许客户在单一用户环境中进行开发和测试。通用工业工具,例如 IBM DOORS 套件,涵盖机械和其他需求以及软件,也可以通过集成深入的软件需求可追溯性来获得优势。

衡量整个测试过程的有效性对于开发高保证软件至关重要。了解需要加强测试的地方以及测试过程中存在的差距对于改进代码的整体过程和质量至关重要,并且随着工具越来越专注于应用程序领域,这种需求也会增加。因此,利用技术和技术——例如具有需求可追溯性的覆盖分析、静态分析和自动化测试——可以通过在软件开发生命周期早期和整个软件开发生命周期中识别代码中的潜在漏洞和弱点来节省时间和金钱。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 物联网
    +关注

    关注

    2939

    文章

    47322

    浏览量

    407903
  • RTOS
    +关注

    关注

    25

    文章

    862

    浏览量

    122611
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    在Ubuntu上安装iverilog 12.0方法

    代码: 复制代码: sh autoconf.sh ./configure make sudo make install 7、安装完成后,检查iverilog是否正确安装并运行 复制代码
    发表于 10-24 12:24

    如何在vivado上基于二进制码对指令运行状态进行判断

    在扩展指令时我们常常需要些手段来帮助我们判断指令是否能够成功运行、运行状态是否正确一方面,我们可以通过模拟器来实现,另一方面,在没有模拟器的情况下,我们可以通过将所扩展指令的二进制
    发表于 10-24 06:46

    在vivado上基于二进制码对指令运行状态进行判断

    在扩展指令时我们常常需要些手段来帮助我们判断指令是否能够成功运行、运行状态是否正确一方面,我们可以通过模拟器来实现,另一方面,在没有模拟器的情况下,我们可以通过将所扩展指令的二进制
    发表于 10-24 06:31

    QNX与一方梯队合作九周年纪

    对于一方梯队而言,选择合作伙伴的标准极为严苛。因为公司服务的自动化与生命科学行业,对系统的实时性、稳定性和安全性要求达到了极致。个微小的误差都可能造成不可估量的后果。
    的头像 发表于 10-18 11:29 1005次阅读

    边聊安全 | 软件单元测试的设计方法

    的设计是确保代码正确性和可靠性的关键步骤。在软件单元测试中,等价类测试种很重要的
    的头像 发表于 09-05 16:18 4325次阅读
    边聊安全 | 软件单元<b class='flag-5'>测试</b>的设计<b class='flag-5'>方法</b>

    请问如何保证UID(唯一ID)的唯一性?

    如何保证UID(唯一ID)的唯一性?
    发表于 08-21 08:18

    导热系数测试方法的剖析与选择

    系统性能、确保安全运行至关重要。依据测试原理的不同,导热系数测试方法主要分为稳态和瞬态两大类
    的头像 发表于 06-30 14:38 798次阅读
    导热系数<b class='flag-5'>测试</b><b class='flag-5'>方法</b>的剖析与选择

    如何正确执行量水堰计槽式安装?文详解步骤与注意事项

    安装的操作流程、关键技巧及常见问题解决方案,助力用户高效完成安装并确保数据准确性。、槽式安装的核心步骤1.安装位置与前期准备安装位置要求:量水堰计需安装在堰板
    的头像 发表于 04-01 12:45 651次阅读
    如何<b class='flag-5'>正确</b>执行量水堰计槽式安装<b class='flag-5'>法</b>?<b class='flag-5'>一</b>文详解步骤与注意事项

    BNC 接头与交换机的正确连接方法及要点解析

    德索精密工业的产品经过严格的性能测试,在正常使用条件下能够保证信号的稳定、高效传输。 掌握BNC接头与交换机的正确连接方法,关注连接过程中的关键要点,同时选用德索精密工业的优质产品,才能
    的头像 发表于 03-25 10:12 941次阅读
    BNC 接头与交换机的<b class='flag-5'>正确</b>连接<b class='flag-5'>方法</b>及要点解析

    在STM32微控制器中实现数据加密的方法

    进行加密,增加**的难度。例如,出厂时程序读取唯一ID并保存在个位置,以后程序执行之前要读取并匹配这个唯一ID,致才执行程序。 · 代码
    发表于 03-07 07:30

    创建唯一索引的SQL命令和技巧

    在创建唯一索引时,以下是些SQL命令和技巧,可以帮助优化性能: 使用合适的索引类型:对于需要保证唯一性的列,使用UNIQUE索引来避免重复数据的插入。 这可以确保列中的值是
    的头像 发表于 01-09 15:21 803次阅读

    可以使用slwu087c Page18-20方法去做Read DDR Memory吗?

    我使用ADS42JB69 & TSW14J10 &VC707,用HSDC软体做撷取资料,请问可以使用TI slwu087c Page18-20方法去做Read
    发表于 01-03 08:32

    如何正确测试电源的纹波

    如何正确测试电源的纹波
    发表于 01-02 14:45 42次下载

    膜厚测试仪的使用方法 膜厚测试仪的校准步骤

    膜厚测试仪的使用方法 准备工作 : 确保膜厚测试仪已充电或连接到稳定的电源。 检查仪器是否清洁,探头是否完好无损。 开机 : 打开仪器电源,等待仪器自检完成。 设置参数 : 根据被测材
    的头像 发表于 12-19 15:31 3290次阅读

    防水测试仪的多样化测试方法:浸水与气压的深度解析

    如今,随着科学技术的飞速发展,防水性能已成为许多产品不可或缺的重要特征。防水测试仪应运而生,以确保产品的防水性能符合标准。这些测试仪采用多种测试方法
    的头像 发表于 12-12 14:23 962次阅读
    防水<b class='flag-5'>测试</b>仪的多样化<b class='flag-5'>测试</b><b class='flag-5'>方法</b>:浸水<b class='flag-5'>法</b>与气压<b class='flag-5'>法</b>的深度解析