北京麦禾信通科技有限公司
产品与服务
 
产品
 
咨询与服务
产品详情
QA Framework源代码检测工具
产品详情



产品概述

   1986年成立的英国PRQA公司,作为MISRA (The Motor Industry Software Reliability Association 汽车工业软件可靠性联会) 的早期加入成员,一直致力于在安全关键和任务关键系统下确保最高质量代码的实施2015年在原本QA C/C++QA VerifyQA Framework等产品的基础上推出了新一代软件质量解决方案——PRQA Framework

   PRQA Framework采用了新的基于组件的插件结构,从通用框架中封装并整合了所有源代码分析器(QA C/C++并紧密集成QA Verify使得PRQA Framework不只是代码规则检查工具,还具有代码缺陷管理与趋势分析功能,可以在开发进程的最初阶段就注意避免编码问题,可以提高代码的质量,缩短测试的周期从而提高模块的可移植性和可维护性

PRQA Framework能明显地减少代码审查所需的时间,使程序员对他们未完全理解的C/C++/C#/Java语言编程特点多加注意;鉴别C/C++/C#/Java语言使用过程中出现比较危险、过于复杂、不可移植、难于维护的特性,或者是编码不符合特定的规则。而这些问题是不能靠编译器或开发工具识别的。


    PRQA Framework组件

    PRQA Framework 2.0.0包含以下组件:


    组件
    版本
    QA C
    9.0.0
    QA C++
    4.0.0
    QA Verify (仅Client
    2.1.0
    CMArcma
    1.2.0
    Namecheck
    1.0.2
    S101
    1.5.1
    QA C#
    1.0.0
    QA J
    1.0.0


    编程标准适应性模块包括:


    模块
    版本
    M2CM
    3.3.0
    M3CM
    1.1.0
    HICPPCM
    4.1.0
    JCM
    1.3.3
    MCPP
    1.5.0
    MCCPX
    1.4.3


    功能特点

    PRQA Framework

  • QA CQA C++QA C#QA JQAVerify、规则插件整合到一个应用之中。
  • 新的用户界面
  • 跨平台图形用户界面,集成了源代码编辑器。
  • 跨平台的命令行接口,支持每日构建。
  • 完全集成Microsoft Visual StudioEclipse,因此开发人员在其常用的开发环境中获得跨平台GUI的所有功能。
  • 新的跨平台、跨界面、多语言工程文件格式和引擎,同时支持CC++
  • 可移植的工程文件格式,在开发团队之间更容易地分布工程配置。
  • 在一个跨平台的用户界面中控制所有工程设置。
  • 统一的安装,提供:
  • 统一的用户界面
  • 对所有支持编译器的开箱兼容性
  • 属性集,更容易地集成绝大多数自动构建系统和IDE
  • 上传分析结果到代码质量管理系统QA·Verify,提供软件质量管理功能

  • 分析C#

    PRQA Framework提供QA C#产品(组件名称为QA CS),用于C#代码的静态分析。


    分析Java代码

    PRQA framework 2.0.0版本提供Java代码静态分析组件QA JQA J含有3个开源分析器:PMDFindBugsCheckStyle

    QA Verify集成

    QA Verify的集成更加紧密:

  • PRQA Framework的工程定义能够集中保存在QA Verify,工程的共享更加容易。

  • QA Verify的快照可以用作PRQA Framework基线

  • QA Verify中设置的Suppression也能用在PRQA Framework工程中

  • 通过GUI或命令行,用户可以直接从QA Verify下载工程定义、基线和Suppression,用在PRQA Framework工程上。PRQA Framework的工程定义也能通过GUI或命令行直接上传至QA Verify


    新的MTR模块

  • 提供C/C++的多线程分析,MTR模块能检测死锁和数据竞争。该功能通过一个新的菜单命令调用。


  • QA C

    • 分析C代码,提供上千条C语言使用中容易出现的潜在问题,从而发现危险的结构,发现维护和移植中发生的问题。

    • 成功解析许多流行的C语言编译器中的语言扩展和非标准的结构。

    • 轻松定制警告信息和报告。

    • 提供几十种工业认可的复杂度度量,包括圈复杂度、静态路径统计和Myer’s interval等,还可以扩展公司特定的复杂度度量。

    • 报告ISO 标准中的非标准C

    • 可扩展,执行特定的分析检查。

    • 提供多种多样的可视化输出,包括函数结构图、函数调用树、外部参考、文件包含关系和统计的度量分析。

    • 高亮显示CC++语言的移植问题。

    • 在线的HTML帮助提供警告信息的详细解释,帮助开发人员加深理解语言特性。

    • 可用于WindowsUnix平台,有方便易用的GUI图形界面。可以和流行的开发环境集成。

QA C++

    • 分析标准的C++,可报告上千C++设计中的潜在问题,如代码构造行为,低效的执行, C++相对于C的优先选择机制,可维护和可移植性的考虑以及标准库使用的建议。

    • 解析在大多数流行编译器中见到的非标准C++构造,。

    • 配置警告信息、报告和缺省值。

    • 产生针对函数、类和文件的通用的语言度量,包括圈复杂度、静态路径计算、嵌套的深度和基于类的度量。

    • 产生基于ISO标准C++或是用户根据需求自定义的报告。

    • 多种可视化输出,包括函数调用、类继承、文件包含关系和统计度量分析。

    • 显示CC++语言可移植性的问题。

    • 在线HTML帮助提供警告信息的详解,包括选择项和工作区。

    • 可用于WindowsUnix平台,有方便易用的GUI图形界面,可以和流行的开发环境集成。

    • 促使产生好的类设计和对象设计。

    • 可以解析用到ATLMFCRogueWave和其他第三方库的代码。

    消息浏览器

                                                                                                       度量浏览器


                                                                                                          文件包含关系


                                                                                              函数结构图,可链接到代码

    QA Verify

    QA Verify提供了基于Web的报告形式,采用CS架构,不仅针对软件开发人员,对质量专员、开发经理、架构师、以及最终客户都适用。QA Verify融代码质量诊断、度量、编程标准适应性、以及可追踪的抑制/背离于一炉,展现代码质量管理的强大功能。

    QA Verify中可保存代码的任何版本对某编程标准适应性的全部信息,可控对特定规则的背离。可以回看任何历史版本的项目的诊断信息,也含有多种版本比较方法,如基线,它可把代码编程标准应用在新的代码上,同时对抑制对旧代码的诊断(因为其已被认为是可靠的)。

    • 在开发人员、质量专员、开发经理、架构师、经理之间共享软件质量数据。

    • 仪表板式总结和深入的细节

    • 基于度量和诊断,给出质量趋势和对比分析

    • 对编程标准的适应性

    • 对特定规则的偏离,提供实用、透明、可追踪的手段

    • 新旧代码之间的基线模式

    • 报告当前或早期项目版本,用户可定义报告的结构

    • 全功能的Web端消息浏览器

    • 诊断总结信息列出多个消息组和严重性

    • 用户可定义复合度量

    • 集成流行的版本控制系统(VCS):CVSSubversionPerforceClearcasePVCS/SerenaMKSSynergyAccurev

    • 通过抑制和注释信息,提供规则偏离控制

    • 提供用户角色和访问权限管理,保护敏感项目,提供可追踪性

    • Web Server端支持HTTPHTTPS连接协议,支持WindowsLinuxSolaris平台

    Web Client端支持IE89)、Firefox3.6以上)、Chrome

    度量分析

    QA Verify – Web消息浏览器

    突出优势

    • PRQA公司是专业从事软件设计方法学和软件编程规范研究的公司,是MISRA的主要起草者。

    • 软件代码规则极其丰富支持数千条规则,并且全面支持MISRA-C2004MISRA-C++:2008MISRA-C2012

    • 包含了国军标GJB 5369《航天型号软件C语言安全子集》GJB8114C/C++语言编程安全子集

    • 支持软件代码规则定制。

    • PRQA Framework采取高级编译技术,直接分析源代码,分析迅速准确。问题直接定位到源代码处,并可查找相关联的头文件。警告形式为类似编译器的Warning形式。

    • PRQA Framework提供官方VC.netTornadoEclipseIDE环境集成插件,开发人员可以边开发边检查,使用方便,发现问题后容易修改。支持自定制环境集成,如和KeilSourceInsignt等常用IDE的集成。


      平台支持

    • 目前支持的语言有CC++C#Java
    • 目前可支持的平台有Microsoft WindowsSun SolarisHP-UXRedhat LinuxSlackware Linux
    • 对于编译器,PRQA Framework支持几乎所有的主流编译器。在分析代码时,并不对代码进行编译,只是分析程序时要用到一些编译器的一些信息,如编译器头文件、宏等,以及嵌入式的CPU设定等。目前支持的编译器有:Borland C/C++ BuilderCosmicDiabEdison Design GroupGNU C/C++Green Hills C/C++IARIBM VisualAge C++IntelKeilMetrowerksMicrosoft C/C++Tasking