德国AbsInt 企业是先进的安全苛求App研发、确认、验证和认证工具链供应商。能够为客户提供完整的确保代码安全的性能分析工具套件以及App分析、验证、确认和编译器技术相关咨询服务。AbsInt 产品广泛地应用于工业、交通、汽车、通信和能源等行业的安全苛求App研发过程中。
产品先容
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,可实现App持续集成测试
♦ aiT和StackAnalyzer有认证支撑包,能够提供认证支撑服务( ISO-26262, IEC-61508, EN-50128 等)
C 代码分析工具
• Astrée
♦ Astrée 能够确保找出所有的代码运行时错误 (run-time error) 和数据竞争(data race) 问题,控制流和数据流达到100% 的覆盖度
♦ 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 作为工业标准静态分析工具用于丰田汽车企业非预期加速事件调查,以排除与时间相关的App缺陷。
Daimler在动力总成控制系统等多个App研发项目中,成功运用StackAnalyzer 工具进行相关分析,在研发前期即对App的堆栈使用量情况进行有效分析和预估,避免了堆栈溢出等问题造成的项目延期和成本损失。