需要多少工具来验证你的软件吗?

这让我想起了玩笑问,“有多少工程师才能换一个灯泡?”

我们的许多客户,尤其是汽车行业,使用超过一个静态分析工具软件开发和验证过程的一部分。

使用多种工具的一个原因是,传统上,采用静态分析是分散到不同的活动,如编码规则、缺陷发现,等等。开发组织可能采取一个线头工具来执行本地错误发现和规则检查工具来验证MISRA等符合标准,虽然质量保证部门可能采用工具等代码度量代码覆盖率,评论密度,圈复杂度。

重要的是要了解开发组织使用其工具来确定这些工具增加价值的过程。使用多种工具,每个都有其独特的用户界面,无疑增加了复杂性的过程。例如,多种工具可以创建方面的低效率:

  • 授权和维护成本为多个工具:这些都是重要的成本,尤其是对那些复杂的授权结构。
  • 所需的资源整合来自不同供应商的工具,包括自定义脚本,需要写导入或导出数据从一个工具,不同的接口和api。
  • 维护确认这些工具持续集成和协同工作,比如确保软件不同版本之间的兼容性。
  • 需要学习多种工具。
  • 较高的工具或资格努力所需的功能安全标准认证。

在MathWorks,我们努力不断进化Polyspace®成一个更完整的解决方案,帮助减少的数量你必须使用的工具。Polyspace是一个集成的环境,可以帮助你在嵌入式软件开发过程的不同阶段。下面的示例工作流在一定程度上说明了这样一个集成环境的好处。您可以:

  • 找到并修复不同缺陷在IDE,并证明任何遗留问题注释代码。
  • 检查编码规则违反或编码标准,同时发现bug,并提供理由如MISRA偏离标准。
  • 使用这些结果作为代码评审的一部分——控制流和数据流支持讨论解决侵犯的关键。金宝app
  • 确保没有错误的关键模块。减少不必要的健壮性测试通过消除已经证明Polyspace(例如,证明指针算术并不会导致运行时错误)。
  • 检查集成问题,推出Polyspace作为构建过程的一部分,自动导入的理由,并强调只有所求出的集成问题。
  • 生成工件- 178 c, ISO 26262和IEC 62304,文档所有工件在一个报告。
注释一个缺陷审核后的代码评审和测试活动
注释一个缺陷审核后的代码评审和测试活动。

此外,Polyspace产品支持C / c++下载188bet金金宝app宝搏和Ada编程语言。这些都是最流行的语言,用于嵌入式系统至关重要。一个静态分析工具,同时跨越这些语言可以提高开发组织的效率(即。,你可以受益于使用相同的工具在不同的项目和团体组织范围内)。