德国AbsInt公司是一家安全苛求软件研发、确认、验证和认证工具链的供应商,能够为客户提供完整的确保代码安全的性能分析工具套件以及软件分析、验证、确认和编译器技术相关咨询服务。AbsInt产品广泛地应用于工业、交通、汽车、通信和能源等行业的安全苛求软件研发过程中。

产品介绍

AbsInt 代码安全性能/资源分析套件主要包括以下几种产品:
    ♦  StackAnalyzer /最差情况堆栈用量分析工具 
    ♦  aiT WCET Analyzer/最差情况执行时间分析工具 
    ♦  TimingProfiler/代码执行时间估计分析工具 
    ♦  TimeWeaver/混合式最差情况执行时间分析工具
 
•  二进制代码分析工具
    ♦  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 等) 
 
•  应用&案例
        丰田汽车非预期加速事件调查 ,2010 年 aiT 被 NASA 作为工业标准静态分析工具用于丰田汽车公司非预期加速事件调查,以排除与时间相关的软件缺陷。
 
        Daimler在动力总成控制系统等多个软件研发项目中,成功运用StackAnalyzer 工具进行相关分析,在研发前期即对软件的堆栈使用量情况进行有效分析和预估,避免了堆栈溢出等问题造成的项目延期和成本损失。
 
 

经纬恒润
北京市海淀区知春路7号致真大厦D座6层
电话:010-64840808
邮箱:market_dept@hirain.com
网址:www.hirain.com

AbsInt — 确保代码安全的性能/资源分析工具套件的更多相关文章

  1. SQL SERVER 查询性能优化——分析事务与锁(五)

    SQL SERVER 查询性能优化——分析事务与锁(一) SQL SERVER 查询性能优化——分析事务与锁(二) SQL SERVER 查询性能优化——分析事务与锁(三) 上接SQL SERVER ...

  2. Linux性能监控分析命令(四)—top命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  3. Linux性能监控分析命令(二)—sar命令介绍

    性能监控分析的命令包括如下: 1.vmstat 2.sar 3.iostat 4.top 5.free 6.uptime 7.netstat 8.ps 9.strace 10.lsof ======= ...

  4. 性能测试——记XX银行保全项目性能问题分析优化

    记XX银行保全项目性能问题分析优化 数据库问题也许是大部分性能问题的关注点,但是JAVA应用与数据库交互的关节,JDBC 就像是我们人体的上半身跟下半身的腰椎,支持上半身,协调下半身运动的重要支撑点. ...

  5. windows系统与SQL SERVER 2008数据库服务性能监控分析简要

    软件系统性能测试体系流程介绍之windows系统与SQL SERVER 2008数据库服务性能监控分析简要 目前大部分测试人员对操作系统资源.中间件.数据库等性能监控分析都是各自分析各自的监控指标方式 ...

  6. 浅谈C++之冒泡排序、希尔排序、快速排序、插入排序、堆排序、基数排序性能对比分析之后续补充说明(有图有真相)

    如果你觉得我的有些话有点唐突,你不理解可以想看看前一篇<C++之冒泡排序.希尔排序.快速排序.插入排序.堆排序.基数排序性能对比分析>. 这几天闲着没事就写了一篇<C++之冒泡排序. ...

  7. KRPano资源分析工具使用说明(KRPano XML/JS解密 切片图批量下载 球面图还原 加密混淆JS还原美化)

    软件交流群:571171251(软件免费版本在群内提供) krpano技术交流群:551278936(软件免费版本在群内提供) 最新博客地址:blog.turenlong.com 限时下载地址:htt ...

  8. ArrayList和LinkedList的几种循环遍历方式及性能对比分析

    最新最准确内容建议直接访问原文:ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性 ...

  9. ArrayList和LinkedList遍历方式及性能对比分析

    ArrayList和LinkedList的几种循环遍历方式及性能对比分析 主要介绍ArrayList和LinkedList这两种list的五种循环遍历方式,各种方式的性能测试对比,根据ArrayLis ...

随机推荐

  1. LeetCode_448. Find All Numbers Disappeared in an Array

    448. Find All Numbers Disappeared in an Array Easy Given an array of integers where 1 ≤ a[i] ≤ n (n  ...

  2. K8S使用入门-添加一个node

    上一篇博客我们已经将K8S部署起来了,现在我们就来介绍一下如何简单使用K8S (1)添加节点 注意事项:不能和k8s master节点的主机名一样.否则会导致k8s无法正常识别出该节点 添加节点是比较 ...

  3. sqlserver 创建分区表

    我们知道很多事情都存在一个分治的思想,同样的道理我们也可以用到数据表上,当一个表很大很大的时候,我们就会想到将表拆 分成很多小表,查询的时候就到各个小表去查,最后进行汇总返回给调用方来加速我们的查询速 ...

  4. rxjs debounceTime减少搜索的频率

    debounceTime用来降低事件的触发频率 ,接收以毫秒为单位的参数 它所做的操作是,在一定时间范围内不管产生了多少事件,它只放第一个过去,剩下的都将舍弃 html: <div class= ...

  5. Linux内核--伙伴系统--页释放

    本文转载自:http://www.cnblogs.com/tolimit/ 感觉原博分析的不错,借花献佛. ---------------------------------------------- ...

  6. libevent源码分析三--signal事件响应

    libevent支持io事件,timeout事件,signal事件,这篇文件将分析libevent是如何组织signal事件,以及如何实现signal事件响应的. 1.  sigmap 类似于io事件 ...

  7. Golang-使用mysql

    一.安装mysql-driver驱动 go get github.com/go-sql-driver/mysql 二.安装完毕之后,就可以通过go语言操作mysql了 const ( _selectU ...

  8. 转!!DBCP2 配置详解说明

    转自:https://www.cnblogs.com/diyunpeng/p/6980098.html 由于commons-dbcp所用的连接池出现版本升级,因此commons-dbcp2中的数据库池 ...

  9. MOOC C++笔记(六):多态

    多态 虚函数 在类的定义中,前面有virtual关键字的成员函数就是虚函数. virtual关键字只用在类定义里的函数声明中,写函数体时不用. 构造函数和静态成员函数不能是虚函数. 多态的表现形式 基 ...

  10. java之mybatis之字段映射及多对一

    1. 数据库中表的列名和实体类的属性名称不一致. 可以使用 resultMap来解决. <select id="findAll" resultMap="UserMa ...