今日推荐

随着智能驾驶、新能源汽车和车联网等技术的飞速发展,“软件定义汽车”已是大势所趋。安全性将成为未来汽车开发中的一个关键因素。新功能——不仅仅在驾驶员辅助系统领域,同样在车辆动态控制以及主动和被动安全系统中——越来越多地触及到了安全性工程的范畴。未来的开发以及对这些功能的集成将会进一步提升对安全系统开发流程的需求,同时还需要提供所有合理安全性目标已满足的证据。
随着复杂性增强、软件内容以及机电层面实现的趋势,系统化的失效以及随机硬件失效的风险有显著增加的趋势。通过提供可行的需求以及流程,ISO/DIS 26262 包含了能够将这些风险降低到可接受程度的指南。
ISO/DIS 26262:
提供汽车安全生命周期(管理、开发、生产、操作、服务、停运),并且支持在这些生命周期的各个阶段中对这些事件进行剪裁;提供汽车专用的、基于风险的方法来判定风险的种类(汽车安全完整性级别——ASIL);使用 ASIL 来指定相应器件必需符合的可接受的驻留风险级别的安全性需求;并且提供验证以及确认措施的需求以确保满足了充分和可接受的安全性级别。
针对包括产品开发初始阶段
所处的软件级别的需求
软件安全性需求的说明
软件架构设计、软件单元设计
以及实现软件单元测试
软件集成和测试以及软件安全性需求的验证
Parasoft提供C/C++test代码级解决方案,实现:
静态分析 —— 静态代码分析,数据流静态分析以及度量指标分析
同行代码审查流程自动化——准备、提示以及追踪
单元测试——单元测试创建、执行、优化以及维护
运行时错误检测——内存访问错误、泄漏、崩溃以及其它
这为开发团队提供了一种实际的方式来预防、发现以及纠正相关的错误,从而确保其 C 以及C++代码如预期般工作。为了促进快速修复,每个检测到的问题都基于可配置的严重级别分配进行排序,并自动分发到相应代码的开发者处,同时分配到他或她的 IDE 环境中,并配以该问题代码处的直接链接以及如何修正该问题的描述。
对于嵌入式以及交叉平台开发而言,C/C++test 可以同时用在基于宿主机以及基于目标平台的代码分析以及测试流程中。

自动进行代码分析以监测是否遵守标准
数百条的内建规则——包括 MISRA、AUTOSAR以及全新的 MISRA C++标准的实现,HIS 源码度量指标、Meyer 在《Effective C++》以及《Effective STL》等书中推荐的以及来自其它主流源码的准则——有助于从使用不当的 C/C++ 语言识别潜在缺陷,实施最佳编码实践,以提升代码的可维护性和可重用性。

在不运行软件的情况下识别运行时缺陷
C/C++test 先进的数据流静态分析模块,BugDetective 能模拟可行的应用程序执行路径,这些路径可能会跨越多个函数和文件,并判断这些路径是否会触发特定类别的运行时缺陷。从而更早的发现软件缺陷,便于及时修复,实现测试左移,提升项目交付效率。

合理化的代码审查
提交后代码审查:该模式是通过自定义的源码控制器接口来自动识别代码库中的代码更改而实现的,并基于预设的更改代码与审查者的映射关系创建代码审查任务。
提交前代码审查:用户可以在桌面上选择某一文件集并分配到审查者进行审查,或者自动地检测所有本地更改源代码的方式来初始化代码审查。

监测应用程序以发现内存问题
运行时错误检测允许用户:通过简单的功能测试查找复杂的内存相关问题——例如内存泄漏、空指针、未初始化内存以及缓冲溢出等;通过应用程序运行来收集代码覆盖率;通过在真实目标环境中执行被监测的应用程序来提升测试结果的精确性。

具有覆盖率分析的单元及集成测试
C/C++test 的自动化能力极大地提升了测试新开发或既有代码的正确性和可靠性的效率。C/C++test 自动地生成完整的测试套件,包括测试驱动以及用于各个独立函数的测试用例,这些测试套件都是以类似 CppUnit 格式的纯 C 或 C++代码的形式提供的。这些测试套件,无论是否进行修改,都可以用于对代码的功能行为进行初始化验证。通过使用边界用例条件,这些自动生成的测试用例同样能检测函数对未预期输入的相应状况,从而发现潜在的可靠性问题。
通过对汽车功能安全标准的全方面遵从性验证,可嵌入到项目开发流程中,符合ISO/DIS 26262标准流程化验证,可助力汽车业软件或系统达到行业领先水平。
公司简介
<向上滑动查看更多介绍>
扫码关注
微信号 | Parasoft
旨在协助用户高效打造无缺陷产品