Klocwork工具介绍

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
KLOCWORK: 全面源代码分析
——企业级软件源代码分析工具
Klocwork—概述 Klocwork:是唯一集效率和速度为 一身的强大而精确的企业级源代码 静态分析工具。 全球在移动设备、消费电子、医药 科技、电信、军事、航空航天等领 域有超过900个客户。
Klocwork—技术特点
源代码分析 • 错误路径跟踪专利技术 • 桌面端实时分析 • 集成开发环境插件、命令行环境和非集成开发环境的代码检查 • 支持 MISRA, CWE, CERT等代码规范 图形化架构分析-提供各种图形化报告 开发效率协助:代码重构,代码评审
Object files
FBKB Build Specification
Klocwork projects_root 目录
17 17
Klocwork—成功案例
谁在使用Klocwork?
• • • • • 全球前5位的智能手机公司就有4个在使用Klocwork 全球前7位的芯片制造商就有5个在使用Klocwork 全球前10位的通讯设备制造商就有8个在使用Klocwork 美国前7位的航空与国防企业就有5个在使用Klocwork 全球前10位的医疗设备企业就有7个在使用Klocwork
软件架构分析
优化头文件结构 在大型 C/C++ 软件中,一个普遍的可维护性问题就是过于复杂的 头文件结构,比如包含了许多不必要的头文件。 k8 能够对您的系 统执行自动分析,然后给出经过优化后,对潜在的系统文件大小、 构建时间减少的量值,并给出优化您头文件的某种推荐方案的路径 图。 发现并修复设计异常 软件架构师利用这种分析快速发现复杂的架构问题(如循环依赖 )、模型改进等方面的内容然后为开发人员产生一个可操作的变 更列表。
软件度量分析
Klocwork面向结果的产品度量,让项目ledaer和 软件QA人员,随时查看软件的缺陷情况,控 制软件的产品质量,并做出及时响应。
Klocwork—架构
Klocwork For C/C++ Or JAVA (IDEs) Klocwork Review (Web browser) kwinspectreport Klocwork Architect
Java 安全漏洞分类 拒绝服务
注入缺陷(如:SQL 注入、进程注入等) 未经验证的输入 移动代码安全 有漏洞的会话管理 跨站点脚本 出错处理不当 有漏洞的访问控制
软件架构分析
Klocwork Architect为软件项目的架构提供一个生动的可视化的架构图,帮助 项目经理、软件架构师查看、分析和优化复杂代码库的软件架构。
Klocwork—功能
缺陷检测
安全漏洞检测
软件架构分析
软件度量分析
缺陷检测
Klocwork的自动化缺陷检测功能易于使用,定制灵活,具有图形化的构建和报表管理 图形界面,拥有业界领先的消息过滤器,极具柔性的配置,和强大的学习调整知 识库。 能够检测到的安全漏洞类型: C/C++缺陷类型样例 空指针释放 内存管理问题(如:内存泄漏) 数组越界 未初始化数据使用 编码风格问题(如:在条件中赋值) Java 缺陷类型样例 效率错误(如:空的 finalize 方法) 可维护性问题(如:空的 catch 从句) 可靠性问题 (如资源泄漏)
缺陷检测-缺陷结果分析
可以用 这些条 件查询 缺陷
这里选 择统计 图的类 型
8
安全漏洞检测
Klocwork 安全漏洞分析是基于市场领先的缺陷检测能力, 从原来的缺陷检测分离出来单独的安全漏洞检测和安全代码的缺陷检测。
能够检测到的安全漏洞类型: C/C++安全漏洞分类 访问控制缺陷
缓冲区溢出 DNS 欺骗 注入缺陷 不安全的存储 未经验证的用户输入 忽略返回值
KMC
Klocwork 引擎
kwadmin kwbuildproject Klocwork build tools (kwwrap, kwinject, kwant, kwvcprojparser, kwdspparser) Source Project Reports System User Model (R/O) Models Database Klocwork tables Config files Project Properties
软件架构分析-应用系统物理结构
软件架构分析-程序的流程图
软件度量分析
Klocwork 发布 100 多种关于文件、类、和函数/方法的代码度量,包括了 从 McCabe 复杂度、Halstead 程序度量、代码行数、继承数、循环数等 各种基本度量。
• 过程度量-过程度量是经典的项目管理层次的度量,如:测 试用例执行完成的数量或者已经实现的需求的百分比。 • 资源度量-另外一种常用的、然而更加宏观层次的度量集合 ,通常用于访问人力资源方面,如:劳动生产率或者分配的 项目 A 与项目 Z 的人时对比。 Klocwork 能够提供包括这些度量在内的最佳解决方案,自动 产生直接从源代码中产生的客观的、可操作的产品度量。
在解决缺陷时,创建 peer-to-peer 协同
统一缺陷ID和开发人员的行为与缺陷保持一致,开发人员不会对同一
缺陷进行重复工作 与IDE集成,或者通过简单的命令行调用 Klocwork 是唯一一个能够将桌面源代码分析的高效性与系统范围分析的强 大、准确完美结合在一起的源代码分析工具
5
兼容性
• 跨平台能力:Windows, Solaris, Linux
• 多语言支持:C/C++, C#, JAVA
Klocwork—优势
市场上处于领先的全面静态分析
灵活的分析报告和缺陷管理功能
开发人员IDE集成
Klocwork—优势
帮助开发人员IDE集成,使开发人员进行准确的本地分析
自动与系统分析上下文进行关联 最佳性能、最佳准确性、全系统上下文传递到本地
客户端
Klocwork 应用
kwcheck
Klocwork 服务器
Klocwork Database Server (database)
kwadmin
Klocwork Web Server (web)
Klocwork Project Server (project)
FLEXlm License Manager (license)
外包项目、老代码
架构师、开发人员
Klocwork
代码结构 展示
代码审查
优化头文 件结构
发现并修复 设计异常
软件架构分析
代码结构展示 系统视图显示已有应用系统的物理结构,应用系统中的依赖关系 连同应用系统和外部环境间的依赖关系也显示出来。
功能强大的代码审查 使用自动的流程图功能,从源代码分析得出程序的流程图,理解 文件的处理流程,来帮助进行更加高效的编码。
Байду номын сангаас
Klocwork—成功案例
Klocwork能够在软件开发过程的早期提高代码的安全性和可靠性,从而解 决软件开发效率难以提高的瓶颈问题。许多客户通过使用Klocwork已经取 得了巨大的成功,尤其是节省了大量的成本和大大的提高了软件开发的效 率。
• Johns Hopkins APL 节省了900人时的成本 • Lawrence Livermore在36.5万行代码的某项目中节省了200,000 美元 • Motorola减少了系统测试时50%的问题数目 • Mentor Graphics在进行测试之前发现了1000个bug
相关文档
最新文档