德国absint 公司是安全苛求软件研发、确认、验证和认证工具链供应商。能够为客户提供完整的确保代码安全的性能分析工具套件以及软件分析、验证、确认和编译器技术相关咨询服务。absint 产品广泛地应用于工业、交通、汽车、通信和能源等行业的安全苛求软件研发过程中。
产品介绍
absint 代码安全性能分析套件主要包括以下几种产品:
• stackanalyzer
• ait wcet analyzer
• timingprofiler
• timeweaver
• astrée /c代码运行时错误和数据竞争检查工具
• rulechecker/c代码规则检查工具
二进制代码分析工具
• stackanalyzer 针对特定的处理器族和编译器,能够自动分析出任务的差堆栈使用量,即避免了人为低估造成的堆栈溢出,又避免了人为高估而造成的资源浪费。
• ait、timingprofiler和timeweaver
♦ ait 针对特定的处理器和编译器,真实反映系统性能。在分析过程中充分考虑了高速缓存和流水线(pipeline) 的影响,从而避免了过于保守的wcet 值,亦避免了硬件资源的浪费
♦ timingprofiler 针对特定的处理器族和编译器,能够从设计初期即开始对代码执行效率进行持续分析和估计,进而为芯片选型、不同算法方案的执行效率评估等提供依据
♦ timeweaver对于某些复杂处理器,尤其是ait不能支持的高级处理器,absint公司提供了一种基于实际trace数据的结合动态测试和静态分析的混合wcet分析工具
♦ timeweaver可集成至pil测试/hil测试环境,进行处理器性能分析和验证工作
♦ 对于infineon aurix系列芯片,可采用timeweaver与infineon das工具(免费)进行集成的方案,更加高效的执行分析过程
特点
♦ ait/timingprofiler/stackanalyzer,代码静态分析工具,可直接导入编译后的.elf/*.out等二进制可执行文件进行自动分析,不会对现有的工具链造成影响
♦ timeweaver,动态测试 静态分析,利用二进制可执行文件进行静态分析,遍历所有代码执行路径。借助trace分析结果,选用在实际处理器上的代码片段执行时间,综合分析得出代码的差的情况执行时间
♦ 图形化显示程序调用图和控制流图,找出代码性能优化瓶颈,为优化提供依据
♦ 遍历所有程序执行路径,对所有场景有效,无需提供测试用例(timeweaver所使用的trace数据需要提供相应的测试环境及用例)
♦ 支持批量测试,支持jenkins,可实现软件持续集成测试
♦ ait和stackanalyzer有认证支持包,能够提供认证支持服务( iso-26262, iec-61508, en-50128 等)
c 代码分析工具
• astrée
♦ astrée 能够确保找出所有的代码运行时错误 (run-time error) 和数据竞争(data race) 问题
♦ astrée高效分析方法,确保很低的误报率
♦ astrée在分析过程中能够考虑osek\autosar等os配置环境的影响,提高分析结果
♦ astrée的分析结果支持交互式浏览,能够帮助用户迅速定位问题,并进行备注及修改
♦ astrée可与dspace targetlink实现无缝集成
♦ astrée有认证支持包,能够提供认证支持服务(iso-26262, iec-61508, en-50128等)
• rulechecker
rulechecker 是c 代码规则检查工具,支持以下代码规则标准:
♦ misra 2004、2012、2012 amendment 1
♦ iso/iec ts 17961:2013
♦ sei cert secure c
♦ mitre cwe
♦ 客户订制标准
应用 & 案例
丰田汽车非预期加速事件调查 ,2010 年 ait 被 nasa 作为工业标准静态分析工具用于丰田汽车公司非预期加速事件调查,以排除与时间相关的软件缺陷。
daimler在动力总成控制系统等多个软件研发项目中,成功运用stackanalyzer 工具进行相关分析,在研发前期即对软件的堆栈使用量情况进行有效分析和预估,避免了堆栈溢出等问题造成的项目延期和成本损失。